جدول المحتويات:

مرآة ذكية متعددة المستخدمين مع تقويم Google: 10 خطوات
مرآة ذكية متعددة المستخدمين مع تقويم Google: 10 خطوات

فيديو: مرآة ذكية متعددة المستخدمين مع تقويم Google: 10 خطوات

فيديو: مرآة ذكية متعددة المستخدمين مع تقويم Google: 10 خطوات
فيديو: 30 حركة في مساعد جوجل / Google Assistant هتغير حياتك !! 🔥🔥 2024, شهر نوفمبر
Anonim
مرآة ذكية متعددة المستخدمين مع تقويم Google
مرآة ذكية متعددة المستخدمين مع تقويم Google
مرآة ذكية متعددة المستخدمين مع تقويم Google
مرآة ذكية متعددة المستخدمين مع تقويم Google

في هذا الدليل ، سننشئ مرآة ذكية مدمجة مع تقويم Google. لقد صنعت هذا المشروع لأنني أجد المرايا الذكية رائعة حقًا ، إنها هبة من السماء في الصباح. لكنني قررت أن أجعل واحدة بنفسي من الصفر لأن كل الآخرين لديهم عيب واحد. هم متقدمون للغاية وتشوش. قررت أن أبقي هذا بسيطًا.

اللوازم

قبل

سنبدأ هذه هي الأشياء التي ستحتاجها بالتأكيد لبناء مرآة مثل المرآة. ستكلف هذه الإمدادات حوالي 250 إلى 350 يورو حسب منطقتك والأسعار الحالية.

المعدات

مجسات

  • جهاز استشعار درجة حرارة سلك واحد
  • RWCL 0516 (مستشعر حركة الميكروويف)
  • مقياس الجهد الناعم (Touchstrip from Sparkfun)

الحوسبة

و IC

  • مكبر الصوت (3.2 وات عند 4 أوم أو 1.8 وات عند 8 أوم)
  • MCP3008
  • مكبرات الصوت Adafruit I2S 3W Class D - MAX98357A
  • Raspberry Pi 3 B +
  • بطاقة SD (8 جيجابايت جيدة)
  • المقاوم 4.7 كيلو أوم

متنوع

  • أسلاك توصيل
  • اللوح
  • مرآة أكريل ثنائية الاتجاه (15٪ انبعاث ضوئي)
  • شاشة IPS (الحجم يعتمد على الحجم الذي تريده)
  • كابل HDMI
  • خشب

برمجة

  • PuTTY
  • محرر الكود (برنامج Notepad ++ كافٍ)
  • Win32 Disk Imager
  • صورة نظام التشغيل Raspbian OS

الخطوة 1: الإعداد

للبدء ، سنحتاج أولاً إلى إعداد Pi الخاص بك للرمز الذي أنشأته.

ستحتاج إلى شيئين:

  • Win32 Disk Imager من
  • صورة نظام التشغيل Raspbian OS من

قم بتنزيل ملف ZIP واستخرجه إلى أي مكان تريده.

التثبيت

  1. حدد صورتك عبر أيقونة المجلد
  2. حدد بطاقة SD الخاصة بك عبر القائمة المنسدلة
  3. انقر فوق الكتابة

سنحتاج الآن إلى إجراء بعض التعديلات الإضافية مع بعض الإعدادات حتى نتمكن من الوصول إلى Pi.

  1. انتقل إلى دليل التمهيد لبطاقة SD
  2. افتح الملف "cmdline.txt"
  3. أضف ip = 169.254.10.1 في نهاية السطر الطويل من النص مفصولاً بمسافة (على نفس السطر).
  4. حفظ الملف.
  5. قم بإنشاء ملف باسم ssh بدون امتداد في نفس الدليل

يمكنك الآن إخراج بطاقة SD ووضعها في Pi الخاص بك.

توصيل

الآن سنحتاج إلى إعداد البرنامج.

قم أولاً بتوصيل كبل LAN ، أحد طرفيه في سطح المكتب / الكمبيوتر المحمول والآخر في Pi الخاص بك.

الآن قم بتشغيل Raspberry Pi.

  1. قم بتثبيت Putty من
  2. أدخل 169.254.10.1 في مربع IP.
  3. تأكد من تحديد SSH وتعبئة المنفذ 22.
  4. انقر فوق فتح
  5. املأ اسم المستخدم: pi
  6. املأ كلمة المرور: التوت

Raspi-config

افتح الأداة المساعدة Raspi-config باستخدام:

sudo raspi-config

قم بتمكين الخيارات التالية في فئة الواجهات

  • 1-سلك
  • SPI

اختر دولة WiFi الخاصة بك عبر فئة الترجمة.

بعد ذلك ، قم بتعطيل الخيارات التالية في فئة خيارات التمهيد

شاشة البداية

أخيرًا ، اضبط إعداد Desktop / CLI في فئة خيارات التمهيد على Desktop Autologin.

واي فاي

بالنسبة إلى المرآة ، نحتاج إلى اتصال wifi ، لذا تأكد من إغلاق بيانات اعتماد wifi الخاصة بك.

انتقل إلى وضع الجذر

sudo -i

الصق هذا السطر ولكن تأكد من ملء كل من SSID وكلمة المرور

wpa_passphrase "SSID" "كلمة المرور" >> /etc/wpa_supplicant/wpa_supplicant.conf

أدخل عميل WPA.

wpa_cli

حدد الواجهة

واجهة wlan0

أعد تحميل ملف config

إعادة التشكيل

تأكد من أنك متصل بشكل صحيح عن طريق كتابة…

الملكية الفكرية أ

… ومعرفة ما إذا كان لديك IP على واجهات WLAN0.

الحزم

الآن بعد أن أصبحنا متصلين بالإنترنت ، سيتعين علينا تثبيت بعض الحزم.

سنحتاج أولاً إلى تحديث قوائم الحزم لأحدثها.

sudo apt التحديث

بايثون

سنجبر Raspbian على استخدام Python 3

بدائل التحديث - install / usr / bin / python python /usr/bin/python2.7 1

بدائل التحديث - install / usr / bin / python python / usr / bin / python3 2

MariaDB

الصق السطر التالي لتثبيت قاعدة البيانات.

sudo apt تثبيت خادم mariadb

ثم سنحتاج إلى تأمين التثبيت الخاص بنا.

mysql_secure_installation

سيطلب منا كلمة مرور الجذر الحالية نظرًا لأنه ليس لدينا كلمة مرور واحدة فقط اضغط على إدخال.

بعد ذلك ، يسأل عما إذا كنا نريد نوع كلمة مرور الجذر في y لأننا نريد واحدًا.

للأسئلة التالية فقط أدخل Y.

أخيرًا ، سننشئ مستخدمًا يمكننا استخدامه للمرآة.

أدخل صدفة mysql عن طريق القيام بما يلي:

نرفع أنفسنا إلى الجذر

sudo -i

أدخل قذيفة mysql

mysql

استبدل باسم المستخدم الخاص بك ونفس الشيء مع

منح كافة الامتيازات على المرآة. * إلى '' @ '٪' مُعرّف بواسطة '' ؛

الآن نقوم بمسح جدول الأذونات.

امتيازات التنظيف ؛

خادم ويب اباتشي

لتثبيت خادم الويب ، قم بتشغيل السطر أدناه.

sudo apt تثبيت apache2 -y

حزم بايثون

سنقوم بتثبيت هذه الحزم

  • قارورة
  • قارورة كورس
  • قارورة- MySQL
  • قارورة-مقبس
  • PyMySQL
  • قارورة تعويذة
  • جيفينت
  • Gevent-websocket
  • عميل Google-api-python
  • Google- المصادقة
  • Google- المصادقة- HTplib2
  • Google-auth-oauthlib
  • Httplib2
  • Icalendar
  • Icalevents
  • أوثلب
  • Python-socketio
  • الطلبات
  • Wsaccel
  • أوجسون

عن طريق القيام

Pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL Flask-Talisman gevent gevent-websocket google-api-python-client google-auth-auth-HTplib2 google-auth-oauthlib htplib2 ical icalevents oauthlib python-socketio طلبات

إعداد مكبر الصوت

curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | سحق

الآن نحن بحاجة إلى إعادة التشغيل ، لذا اضغط على y.

أعد تشغيل البرنامج النصي

curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | سحق

الآن نحن بحاجة إلى إعادة التشغيل مرة ثانية

sudo إعادة التشغيل

شاشة العرض)

بناءً على الطريقة التي تريد بها توجيه شاشتك ، قد ترغب في تدوير الشاشة.

لتدوير الشاشة ، نحتاج إلى الوصول إلى خيارات التمهيد عن طريق القيام بما يلي:

sudo نانو / boot/config.txt

ثم لصق أحد هذه الأسطر في ملف التكوين:

display_rotate = 0

display_rotate = 1

display_rotate = 2

display_rotate = 3

أول واحد ، 0 ، هو التكوين العادي. 1 ستكون 90 درجة ، و 2 تساوي 180 درجة ، والأخيرة ستكون 270 درجة.

ثم أعد التشغيل.

sudo إعادة التشغيل

الخطوة الثانية: تركيب المرآة

تركيب المرآة
تركيب المرآة

الآن سنقوم بإعداد مكان لتنزيل الكود الخاص بي.

القرص المضغوط / المنزل / pi /

بوابة استنساخ https://github.com/nielsdewulf/Mirror MirrorProject cd MirrorProject

سنقوم الآن بنسخ بعض المجلدات إلى الوجهة الصحيحة

sudo cp -R frontend / mirror / / var / www / html / mirror /

sudo cp -R frontend / dashboard / / var / www / html / Sudo cp -R backend / / home / pi / Mirror /

يعد تثبيت قاعدة البيانات خطوة ضرورية في تنفيذ المشروع.

sudo mysql -u root -p << CREATEDATABASE.sql

الخطوة 3: التكوين

يوجد ملف التكوين في:

sudo nano /home/pi/Mirror/resources/config.ini

أدخل مستخدم MySQL وكلمة المرور.

يجب أن يكون هذا هو مستخدم mysql الذي أنشأناه للتو.

الإعدادات الأخرى التي سننتقل إليها لاحقًا هذه التعليمات.

الخطوة 4: واجهات برمجة التطبيقات

الآن انتهينا من تثبيت Pi ، سنغطي بعض الموضوعات التي قد ترغب في القيام بها.

السماء مظلمة

قم بإنشاء مفتاح Darsky API عبر

عندما تقوم بالتسجيل سترى مفتاح API الخاص بك على لوحة القيادة.

أدخل هذا المفتاح في ملف التكوين الخاص بمشروع المرآة الذي قمت بتثبيته من قبل.

التقويم

بشكل افتراضي ، ستتمكن فقط من استخدام عناوين url لعرض التقويم الخاص بك من. لكن هذا الجزء سيكون حول كيفية ربط المرآة بنظام Google البيئي. هذه بشكل عام عملية أطول وأكثر إيلاما.

أشياء ستحتاجها بالتأكيد

اسم المجال

هذه هي الأشياء التي سنقوم بإعدادها خلال هذا الجزء

  • حساب CloudFlare
  • حساب Google Developer
  • مشروع مطور جوجل
  • إعداد التقويم API

الخطوة 5: التقويم

التقويم
التقويم
التقويم
التقويم

كلاود فلير

قم بإعداد حساب cloudflare من https://cloudflare.com واتبع المعالج لنقل اسم المجال الخاص بك إلى Cloudflare DNS.

لا حاجة لإنشاء سجل A بنفسك يشير إلى التوت باي. رمز المرآة الخاص بي سوف يفعل ذلك من أجلك. نظرًا لأنه في معظم شبكات wifi المنزلية ، فإن عناوين IP ليست ثابتة ، لذا بعد إعادة التشغيل ، قد لا تعمل بعد الآن. لتحديث الكود الخاص بي تلقائيًا IP ، سوف يحتاج إلى مفتاح واجهة برمجة التطبيقات لحسابك.

  1. انقر فوق الزر الحصول على مفتاح API الخاص بك على لوحة القيادة على الجانب الأيمن. [الصورة 1]
  2. قم بالتمرير لأسفل وعرض مفتاح API العالمي الخاص بك. [الصورة 2]

أدخل هذا المفتاح في ملف التكوين الخاص بمشروع المرآة الذي قمت بتثبيته من قبل.

إنشاء شهادة SSL

تطلب Google منا أن يكون لدينا اتصال SSL. لبدء هذا القسم ، تأكد من إعداد Cloudflare DNS بشكل صحيح.

قم أولاً بإضافة المستودع.

sudo add-apt-repository ppa: certbot / certbot

قم بتحديث قائمة الحزمة.

sudo apt-get update

قم بتثبيت CertBot

sudo apt تثبيت python-certbot-apache

ابدأ في إنشاء الشهادة. مرة أخرى ، ستحتاج إلى ملء اسم المجال الصحيح.

sudo certbot --apache -d example.com -d www.example.com

بعد الإنشاء ، سيسألك عما إذا كان يجب إعادة توجيه جميع الاتصالات إلى SSL. اختر إعادة التوجيه.

سيخبرك الآن أنه قد نجح في إنشاء شهادة لمجالك. تأكد من حفظ المسارين اللذين يوفرهما لك.

  • /etc/letsencrypt/live/example.com/cert.pem
  • /etc/letsencrypt/live/example.com/privkey.pem

انتقل الآن إلى المجلد مع وجود الشهادات عبر:

تأكد من تغيير example.com إلى المضيف الصحيح.

cd /etc/letsencrypt/live/example.com/

لنقم الآن بنسخ هذه المحتويات إلى مجلد مشروعنا.

cp cert.pem /home/pi/Mirror/resources/certs/cert.pem

و

cp privkey.pem /home/pi/Mirror/resources/certs/privkey.pem

ربط Apache مع المجال الخاص بك

لتهيئة Apache بشكل صحيح مع المجال الخاص بك ، سيتعين علينا إنشاء ملف تهيئة. تأكد من ملء اسم المجال الخاص بك على سبيل المثال funergydev.com.

sudo nano /etc/apache2/sites-enabled/example.com.conf

ثم الصق هذا في الملف. استبدل example.com باسم المجال الخاص بك.

تأكد من أن الشهادة والمفتاح الخاص هما المسار الصحيح. اضبطهم على المسار الذي حفظته سابقًا عندما أنشأنا ثم عبر certbot.

DocumentRoot "/ var / www / html /" محرك SSLE على SSLCertificateFile /home/pi/Mirror/resources/certs/cert.pem SSLCertificateKeyFile /home/pi/Mirror/resources/certs/privkey.pem # توجيهات أخرى هنا خيارات الفهارس FollowSymLinks AllowOverride الكل يتطلب كل الممنوحة

نحتاج الآن إلى تمكين بعض التعديلات ثم إجبار Apache على إعادة تحميل التكوين عن طريق القيام بما يلي:

sudo a2enmod ssl

إعادة كتابة sudo a2enmod

تحميل sudo systemctl اباتشي 2

الآن يجب أن تكون قادرًا على الانتقال عبر اسم المجال الخاص بك إلى pi الخاص بك ومشاهدة صفحة apache الافتراضية.

الخطوة 6: Google API

جوجل API
جوجل API
جوجل API
جوجل API
جوجل API
جوجل API

انتقل إلى وحدة تحكم المطور عبر

الجزء الأول

أنشئ مشروعك الأول بالنقر بجوار شعار Google API والنقر على زر NEW PROJECT. املأ اسم المشروع المناسب وانقر على زر إنشاء. [الصورة 1]

الجزء 2

الآن ستصل إلى هذه الصفحة. انقر فوق زر المكتبة. [الصورة 2]

هذه قائمة كبيرة بجميع واجهات برمجة التطبيقات التي يمكنك استخدامها ولكننا سنبحث عن واجهة برمجة تطبيقات تقويم Google. اضغط عليها واضغط على تمكين. [الصورة 3]

ستصل بعد ذلك إلى نظرة عامة على Calendar API. انقر فوق شعار Google APIs للعودة إلى مشروعك. [الصورة 4]

الجزء 3

لإعداد كل شيء بشكل صحيح ، انقر فوق فئة بيانات الاعتماد واختر علامة التبويب التحقق من المجال.

هنا سيكون عليك التحقق من اسم المجال الخاص بك.

  1. انقر فوق إضافة مجال
  2. املأ المجال الخاص بك
  3. سيطلب بعد ذلك التحقق من نطاقك. انقر فوق متابعة.
  4. اختر مزود اسم المجال الخاص بك. [الصورة 5]
  5. اتبع العملية
  6. الآن ستتمكن من إضافته إلى قائمة التحقق من المجال على وحدة تحكم واجهة برمجة تطبيقات Google مثل هذا. تأكد من فحص المجال الخاص بك. [الصورة 6]

الجزء الرابع

اختر الآن علامة تبويب شاشة موافقة OAuth. [الصورة 7]

املأ اسم التطبيق

بعد ذلك سنقوم بإضافة نطاقات إلى شاشة الموافقة. هذا يعني أننا سنطلب من المستخدم على شاشة الموافقة ما إذا كان يريد مشاركة معلومات التقويم الخاصة به مع المرآة.

  1. انقر فوق إضافة نطاق وابحث عن التقويم.
  2. تحقق../auth/calendar.readonly واضغط على إضافة. [الصورة 8]

املأ المجال المصرح به. يجب أن يكون هذا هو المجال الذي قمت بالتحقق منه للتو. [الصورة 9]

الآن انقر فوق زر الحفظ الكبير أسفل النموذج.

الجزء الخامس

أخيرًا ، نحتاج إلى إنشاء أوراق الاعتماد. لأننا ضغطنا على زر الحفظ ، تمت إعادة توجيهنا إلى علامة تبويب بيانات الاعتماد. انقر على إنشاء بيانات اعتماد واختر معرّف عميل OAuth. [صورة 10]

اختر نوع التطبيق: تطبيق ويب وقم بتسميته.

أدخل الرابط التالي في Authorized Redirect URI's وقم بتعبئة النطاق الصحيح.

example.com:5000/api/v1/setup/calendar/response

انقر فوق إنشاء. سيظهر لك هذا نافذة منبثقة فقط انقر فوق موافق. الآن اضغط على زر التنزيل على بيانات الاعتماد التي قمت بإنشائها للتو

الجزء 6

افتح الآن ملف JSON وانسخ المحتويات.

sudo nano /home/pi/Mirror/resources/credentials/credentials.json

الصقها هنا.

الجزء السابع

نحتاج الآن إلى تحديد مجالنا في التكوين عن طريق القيام بما يلي:

sudo nano /home/pi/Mirror/resources/config.ini

الخطوة 7: تصميم المرآة

تصميم المرآة
تصميم المرآة
تصميم المرآة
تصميم المرآة
تصميم المرآة
تصميم المرآة
تصميم المرآة
تصميم المرآة

يعتمد تصميم المرآة على الطريقة التي تريدها. قم بإجراء قياسات دقيقة لشاشة LCD واترك فجوة تبلغ 2 سم على جانب واحد من المرآة لأن مستشعر حركة الميكروويف سيكون موجودًا هناك. لا يمكن أن يكون خلف أي معدن.

لقد قمت بتوصيل 4 ألواح من الخشب معًا. تم طحنها للحصول على واجهة مرآة نظيفة وجميلة. في الجزء العلوي ، قمت أيضًا بحفر فتحتين للسماح بصوت السماعة بالمرور. على الجانب الآخر من المرآة ، الجزء السفلي ، قمت بقطع مستطيل صغير حتى أتمكن من توصيل الأسلاك الكهربائية بسهولة. [الصورة 1]

هذه قطعتان من الخشب الرخيص حيث ستظهر الشاشة. منذ أن قلت إننا سنحتاج إلى فجوة حوالي 2 سم بين المرآة والعلبة. لقد أضفت أيضًا 3 قطع صغيرة من الخشب وقمت بتثبيتها على تلك القطع المريحة. لذلك ستبقى الشاشة في مكانها. [الصورة 2]

في النهاية بدا الأمر هكذا. كان لدي فجوة حوالي 3 مم بين تلك القطع المريحة وأمام علبة المرآة. يكفي فقط حتى أتمكن من وضع المرآة ذات الاتجاهين بسمك 3 مم. [صورة 3]

الخطوة 8: عمل الأسلاك

عمل الأسلاك
عمل الأسلاك
عمل الأسلاك
عمل الأسلاك
عمل الأسلاك
عمل الأسلاك

تأكد من اتباع أحد هذه المخططات بشكل صحيح.

بمجرد الانتهاء من الأسلاك ، قمت بإلصاقها على الجزء الخلفي من الشاشة بشريط مزدوج الجوانب. منذ أن أردت في أي وقت تفكيك المرآة واستخدامها في مشاريع أخرى يمكنني إزالتها بسهولة. إذا كنت متأكدًا من أنه يمكنك استخدام مسدس الغراء الساخن ولصقه في الجزء الخلفي من المرآة.

الخطوة 9: بدء الكود

بدء الكود
بدء الكود
بدء الكود
بدء الكود
بدء الكود
بدء الكود

جلسة LX

لنقم أولاً بإنشاء مجلدين

mkdir -p /home/pi/.config/lxsession/LXDE-pi/

الآن سننشئ ملفًا حيث سنحدد اثنين من معلمات / أوامر بدء التشغيل.

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

الصق ما يلي في الملف.

lxpanel - التشكيل الجانبي LXDE-pi

pcmanfm --desktop --profile LXDE-pixscreensaver-no-splash @ point-rpish /home/pi/Mirror/init_mirror.shxset s noblankxset s offxset -dpms

سنقوم بتحديث البرنامج النصي لشاشة البداية المتطابقة ليلائم مضيفنا.

sudo nano /home/pi/Mirror/init_mirror.sh

اختر localhost إذا كنت لا تستخدم تقويم google ومجال.

#! / بن / باش

متصفح sleep 15 chromium --incognito --kiosk https:// localhost / mirror

إذا كنت تستخدمه ، فقم بملء مضيفك.

#! / بن / باش

النوم 15 متصفح كروم --incognito - كشك

خدمة

سنقوم الآن بإعداد أن رمز المرآة يعمل تلقائيًا.

سننشئ خدمة تبدأ الرمز تلقائيًا لنا.

اذهب إلى:

sudo nano /etc/systemd/system/mirror.service

والصق هذا في الملف

[وحدة]

الوصف = مرآة الخلفية بعد = network.target mariadb.service [الخدمة] النوع = مستخدم بسيط = جذر ExecStart = / bin / sh /home/pi/Mirror/init.sh [تثبيت] WantedBy = multi-user.target

الآن سيتعين علينا إعادة تحميل البرنامج الخفي systemd عن طريق القيام بما يلي:

تحميل برنامج sudo systemctl daemon-reload

وسنعمل أيضًا على تمكين الخدمة لبدء التشغيل التلقائي عند التمهيد.

sudo systemctl تمكين المرآة

الآن سنقوم بإيقاف التشغيل.

sudo poweroff

الإعدادات النهائية

أخيرًا ، نحتاج إلى إزالة APIPA ip الخاص بنا بحيث يعمل فقط على WiFi.

  1. انتقل إلى دليل التمهيد الخاص ببطاقة SD على جهاز الكمبيوتر الخاص بك.
  2. افتح الملف "cmdline.txt"
  3. إزالة ip = 169.254.10.1 في نهاية السطر الطويل من النص.

الخطوة العاشرة: تشغيل المرآة

تشغيل المرآة
تشغيل المرآة
تشغيل المرآة
تشغيل المرآة
تشغيل المرآة
تشغيل المرآة
تشغيل المرآة
تشغيل المرآة

قم بزيارة عنوان IP الموجود على الشاشة المتطابقة أو إذا قمت بإعداد تقويم google ، فقم بتعبئة اسم المجال.

الآن ستتمكن من إعداد المرآة الخاصة بك!

إذا تلقيت خطأ SSL على المرآة ، فقد ترغب في إضافة شهاداتك إلى متجر شهادات Chromium.

موصى به: