תוכן עניינים:

מראה חכמה מרובת משתמשים עם יומן Google: 10 שלבים
מראה חכמה מרובת משתמשים עם יומן Google: 10 שלבים

וִידֵאוֹ: מראה חכמה מרובת משתמשים עם יומן Google: 10 שלבים

וִידֵאוֹ: מראה חכמה מרובת משתמשים עם יומן Google: 10 שלבים
וִידֵאוֹ: אנשים שהם אחד למליון (מטורף!!!)| טופטן 2024, נוֹבֶמבֶּר
Anonim
מראה חכמה מרובת משתמשים עם יומן Google
מראה חכמה מרובת משתמשים עם יומן Google
מראה חכמה מרובת משתמשים עם יומן Google
מראה חכמה מרובת משתמשים עם יומן Google

במדריך זה ניצור מראה חכמה המשולבת ביומן Google. עשיתי את הפרויקט הזה כי לדעתי מראות חכמות ממש מגניבות, הן מתנה משמיים בבוקר. אבל החלטתי להכין אחת בעצמי מאפס כי לכל האחרים יש פגם אחד. הם מתקדמים ועמוסים מדי. החלטתי להשאיר את זה פשוט.

אספקה

לפני

נתחיל אלה הדברים שבהחלט תצטרך לבנות מראה כמו שלי. אספקה זו תעלה בסביבות 250 עד 350 יורו בהתאם לאזור שלך ולמחירים הנוכחיים.

חוּמרָה

חיישנים

  • חיישן טמפרטורת חוט אחד
  • RWCL 0516 (חיישן תנועה במיקרוגל)
  • פוטנציומטר רך (מגע מבית Sparkfun)

מחשוב

ו- IC

  • רמקול (3.2W ב 4Ω או 1.8W ב 8Ω)
  • MCP3008
  • Adafruit I2S 3W Class D מגבר פריצת מגבר - MAX98357A
  • Raspberry Pi 3 B+
  • כרטיס SD (8GB זה בסדר)
  • התנגדות 4.7K אוהם

שׁוֹנִים

  • Jumperwires
  • לוח לחם
  • מראה אקרילית דו כיוונית (15% שידור אור)
  • צג IPS (גודל תלוי כמה אתה רוצה אותו)
  • כבל HDMI
  • עץ

תוֹכנָה

  • מֶרֶק
  • עורך קוד (פנקס ++ מספיק)
  • Win32 Disk Imager
  • תמונת מערכת הפעלה Raspbian

שלב 1: התקנה

כדי להתחיל, יהיה עלינו קודם כל להגדיר את ה- Pi שלך לקוד שהכנתי.

תזדקק לשני דברים:

  • Win32 Disk Imager מ-
  • תמונת מערכת הפעלה Raspbian מאת

הורד את קובץ ה- 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 באמצעות:

sudo raspi-config

הפעל את האפשרויות הבאות בקטגוריית הממשקים

  • 1-חוט
  • SPI

בחר את מדינת ה- WiFi שלך באמצעות קטגוריית הלוקליזציה.

לאחר מכן, השבת את האפשרויות הבאות בקטגוריית אפשרויות האתחול

מסך התזה

לבסוף הגדר את הגדרת שולחן העבודה/CLI בקטגוריית אפשרויות האתחול ל- Desktop Autolog.

וויי - פיי

עבור המראה עלינו להיות בעלי חיבור wifi, לכן וודא כי אישורי ה- WiFi שלך סגורים.

עבור למצב שורש

sudo -i

הדבק שורה זו אך וודא ששני ה- SSID והסיסמה ממולאים

wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf

הזן את לקוח WPA.

wpa_cli

בחר את הממשק

ממשק wlan0

טען מחדש את התצורה

להגדיר מחדש

ודא שאתה מחובר כראוי על ידי הקלדה …

ip א

… ולראות אם יש לך IP בממשקי WLAN0.

חבילות

כעת, לאחר שאנו מחוברים לאינטרנט, נצטרך להתקין כמה חבילות.

ראשית יהיה עלינו לרענן את רשימות החבילות לגרסה האחרונה.

עדכון sudo apt

פִּיתוֹן

אנו נכריח את Raspbian להשתמש ב- Python 3

עדכון-חלופות-התקן/usr/bin/python python /usr/bin/python2.7 1

עדכון-חלופות-התקן/usr/bin/python python/usr/bin/python3 2

MariaDB

הדבק את השורה הבאה להתקנת מסד הנתונים.

sudo apt להתקין mariadb-server

אז נצטרך לאבטח את ההתקנה שלנו.

mysql_secure_installation

הוא יבקש מאיתנו את סיסמת השורש הנוכחית מכיוון שאין לנו סיסמה אחת פשוט הקש enter.

לאחר מכן הוא שואל אם אנחנו רוצים סוג סיסמת שורש ב- y מכיוון שאנחנו רוצים אחת כזו.

לשאלות הבאות פשוט הכנס את Y.

לבסוף ניצור משתמש שנוכל להשתמש בו למראה.

הזן את מעטפת mysql על ידי ביצוע:

להרים את עצמנו לשורש

sudo -i

הזן את מעטפת mysql

mysql

החלף בשם משתמש משלך ואותו עם

להעניק את כל ההרשאות במראה.* ל- ''@'%' המזוהות על ידי '';

כעת אנו שוטפים את טבלת ההרשאות.

זכויות הדחה;

שרת אינטרנט של אפאצ'י

כדי להתקין את שרת האינטרנט הפעל את השורה שלהלן.

sudo apt להתקין apache2 -y

חבילות Python

אנו הולכים להתקין את החבילות האלה

  • בקבוק
  • בקבוקי-קורס
  • Flask-MySQL
  • Flask-SocketIO
  • PyMySQL
  • בקבוק-קמע
  • Gevent
  • שקע Gevent-webs
  • לקוח Google-api-python
  • Google-auth
  • Google-auth-httplib2
  • Google-auth-oauthlib
  • Httplib2
  • אייקלנדר
  • אירועים
  • Oauthlib
  • Python-socketio
  • בקשות
  • Wsaccel
  • אוג'סון

על ידי

pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL Flask-Talisman gevent gevent-websocket google-api-python-client google-auth google-auth-httplib2 google-auth-oauthlib httplib2 icalendar icalevents oauthlib python-socketio requests wsaccel

הגדרת רמקול

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 nano /boot/config.txt

ואז הדבקת אחת משורות אלה בקובץ התצורה:

display_rotate = 0

display_rotate = 1

display_rotate = 2

display_rotate = 3

הראשון, 0, הוא התצורה הרגילה. 1 יהיה 90 מעלות, 2 הוא 180 מעלות והאחרון יהיה 270 מעלות.

לאחר מכן הפעל מחדש.

sudo אתחול מחדש

שלב 2: התקנת המראה

התקנת המראה
התקנת המראה

כעת נקבע מקום להורדת הקוד שלי.

cd/home/pi/

שיבוט git 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: ממשקי API

עכשיו סיימנו את ההתקנה של ה- Pi נעסוק בכמה נושאים שאולי תרצה לעשות.

שמיים חשוכים

צור מפתח API של Darsky באמצעות

לאחר שתירשם תראה את מפתח ה- API שלך במרכז השליטה.

הזן מפתח זה בקובץ התצורה של פרויקט המראה שהתקנת בעבר.

היומן

כברירת מחדל, תוכל להשתמש רק בכתובות אתרים ical כדי לצפות ביומן שלך. אבל חלק זה יעסוק כיצד לקשר את המראה שלך למערכת האקולוגית של Google. זהו תהליך ארוך וכואב יותר בדרך כלל.

דברים שבהחלט תצטרכו

שם דומיין

אלה הדברים שנתקין במהלך חלק זה

  • חשבון CloudFlare
  • חשבון מפתח של Google
  • פרויקט מפתחים של גוגל
  • הגדר את ממשק ה- API של לוח השנה

שלב 5: לוח השנה

היומן
היומן
היומן
היומן

Cloudflare

הגדר חשבון cloudflare מ- https://cloudflare.com ופעל לפי האשף כדי להעביר את שם הדומיין שלך ל- Cloudflare DNS.

אין צורך ליצור תקליט A בעצמך המצביע על פטל הפטל. קוד המראה שלי יעשה זאת עבורך. מכיוון שברוב ה- wifi הביתי ה- IP אינן סטטיות כך שאחרי אתחול הוא עלול שלא לפעול יותר. כדי שהקוד שלי יעודכן אוטומטית את ה- ip, יהיה צורך במפתח ה- API של החשבון שלך.

  1. לחץ על הלחצן קבל את מפתח ה- API שלך במרכז השליטה בצד ימין. [תמונה 1]
  2. גלול מטה וצפה במפתח ה- API הגלובלי שלך. [תמונה 2]

הזן מפתח זה בקובץ התצורה של פרויקט המראה שהתקנת בעבר.

יצירת תעודת SSL

Google דורשת מאיתנו חיבור SSL. כדי להתחיל את החלק הזה וודא שהגדרת נכון את ה- DNS של Cloudflare.

ראשית הוסף את המאגר.

sudo add-apt-repository ppa: certbot/certbot

עדכן את רשימת האריזה.

עדכון sudo apt-get

התקן את CertBot

sudo apt להתקין python-certbot-apache

התחל את יצירת התעודה. שוב תצטרך למלא את שם הדומיין הנכון.

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

לאחר היצירה הוא ישאל אותך אם עליו להפנות את כל החיבורים ל- SSL. בחר הפניה מחדש.

עכשיו הוא יגיד לך שהוא יצר בהצלחה תעודה לדומיין שלך. הקפד לשמור את 2 הנתיבים שהוא נותן לך.

  • /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 כראוי עם הדומיין שלך נצטרך ליצור קובץ config. הקפד למלא את שם הדומיין שלך למשל funergydev.com.

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

לאחר מכן הדבק את זה בקובץ. החלף את example.com בשם הדומיין שלך.

וודא שהאישור והמפתח הפרטי שלך הם הנתיב הנכון. הגדר אותם לנתיב ששמרת קודם לכן כאשר יצרנו אז באמצעות certbot.

DocumentRoot "/var/www/html/" SSLEngine on 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 טען מחדש apache2

כעת אתה אמור להיות מסוגל לעבור דרך שם הדומיין שלך אל ה- Pi שלך ולראות את דף ברירת המחדל של apache.

שלב 6: ממשק API של Google

ממשק API של Google
ממשק API של Google
ממשק API של Google
ממשק API של Google
ממשק API של Google
ממשק API של Google

עבור אל מסוף המפתחים באמצעות

חלק 1

צור את הפרויקט הראשון שלך על ידי לחיצה ליד הלוגו של Google API ולחיצה על כפתור NEW PROJECT. מלאו את שם הפרויקט המתאים ולחצו על כפתור היצירה. [תמונה 1]

חלק 2

עכשיו תגיע לדף זה. לחץ על כפתור הספרייה. [תמונה 2]

זוהי רשימה גדולה של כל ה- API שבהם תוכל להשתמש, אך אנו נחפש את ממשק ה- API של יומן Google. לחץ עליו והקש ENABLE. [תמונה 3]

לאחר מכן תגיע לסקירה כללית של ה- API של לוח השנה. לחץ על הלוגו של Google APIs כדי לחזור לפרויקט שלך. [תמונה 4]

חלק 3

כדי להתקין הכל בצורה נכונה לחץ על קטגוריית האישורים ובחר בכרטיסייה אימות דומיין.

כאן תצטרך לאמת את שם הדומיין שלך.

  1. לחץ על הוסף דומיין
  2. מלא את הדומיין שלך
  3. לאחר מכן הוא יבקש לאמת את הדומיין שלך. לחץ על המשך.
  4. בחר את ספק שם הדומיין שלך. [תמונה 5]
  5. עקוב אחר התהליך
  6. כעת תוכל להוסיף אותו לרשימת אימות הדומיין במסוף ה- API של Google בצורה כזו. ודא שהדומיין שלך מסומן. [תמונה 6]

חלק 4

כעת בחר בכרטיסייה מסך הסכמה של OAuth. [תמונה 7]

מלא את שם היישום

בשלב הבא נוסיף סקופים למסך ההסכמה. המשמעות היא שנשאל את המשתמש במסך ההסכמה אם הוא רוצה לשתף את פרטי היומן שלו עם המראה.

  1. לחץ על הוסף היקף וחפש לוח שנה.
  2. בדוק../auth/calendar.readonly ולחץ על הוסף. [תמונה 8]

מלא דומיין מורשה. זה צריך להיות הדומיין שבדיוק אימתת. [תמונה 9]

כעת לחץ על כפתור השמירה הגדול מתחת לטופס.

חלק 5

לבסוף עלינו ליצור את האישורים. מכיוון שלחצנו על כפתור השמירה הופנו מחדש לכרטיסיית אישורים. לחץ על צור אישורים ובחר מזהה לקוח OAuth. [תמונה 10]

בחר סוג יישום: יישום אינטרנט ותן לו שם.

הזן את הקישור הבא ב- URI של הפניה מורשית ומלא את התחום הנכון.

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

לחץ על צור. זה יראה לך קופץ פשוט לחץ על אישור. כעת לחץ על כפתור ההורדה על האישורים שהצגת זה עתה

חלק 6

כעת פתח את קובץ JSON והעתק את התוכן.

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

הדבק אותם כאן.

חלק 7

כעת עלינו להגדיר את התחום שלנו בתצורה על ידי ביצוע:

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

שלב 7: עיצוב המראה

עיצוב המראה
עיצוב המראה
עיצוב המראה
עיצוב המראה
עיצוב המראה
עיצוב המראה
עיצוב המראה
עיצוב המראה

עיצוב המראה שלך תלוי איך אתה רוצה את זה. בצע מדידות מדויקות של ה- LCD והשאיר פער של 2 סנטימטר בצד אחד של המראה מכיוון שחיישן התנועה של המיקרוגל ישב שם. זה לא יכול להיות מאחורי אף מתכת.

חיברתי 4 לוחות עץ יחד. אלה נקשרו כדי לקבל חזית נקיה של המראה. בחלקו העליון קדחתי גם כמה חורים כדי לתת לקול הרמקול לעבור. הצד הנגדי של המראה, החלק התחתון, חתכתי מלבן קטן כדי שאוכל לבצע את החיווט החשמלי בקלות. [תמונה 1]

אלו הן 2 חתיכות עץ זול בהן הצג יתעוות. מכיוון שאמרתי שנזדקק לפער של 2 סנטימטר בין המראה למארז. הוספתי גם 3 חתיכות עץ קטנות והברגתי אותן על חתיכות המנוחה האלה. אז הצג יישאר במקומו. [תמונה 2]

בסוף זה נראה כך. היה לי בערך 3 מ"מ פער בין חתיכות המנוחה לבין חזית מארז המראה. מספיק כדי שאוכל להכניס את המראה הדו -כיוונית בעובי 3 מ"מ. [Photo3]

שלב 8: ביצוע החיווט

עושה את החיווט
עושה את החיווט
עושה את החיווט
עושה את החיווט
עושה את החיווט
עושה את החיווט

הקפד לפעול כראוי לאחת מתוכניות אלה.

ברגע שעשיתי את החיווט הדבקתי אותו בחלק האחורי של המסך בעזרת סרט דו צדדי. מכיוון שאם אי פעם רציתי לפרק את המראה ולהשתמש בה לפרויקטים אחרים יכולתי להסיר אותה בקלות. אם אתה בטוח שאתה יכול להשתמש באקדח דבק חם ולהדביק אותו בחלק האחורי של המראה.

שלב 9: הפעלת הקוד

התחלת הקוד
התחלת הקוד
התחלת הקוד
התחלת הקוד
התחלת הקוד
התחלת הקוד

LXSession

בואו קודם כל ליצור כמה תיקיות

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

כעת ניצור קובץ שבו נציין כמה פרמטרים/פקודות הפעלה.

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

הדבק את הקובץ הבא.

@lxpanel-פרופיל LXDE-pi

@pcmanfm-שולחן עבודה-פרופיל LXDE-pi @xscarver -no-splash @point-rpi @sh /home/pi/Mirror/init_mirror.sh @xset s noblank @xset s off @xset -dpms

אנו נעדכן את תסריט מסך המראה ההתחלתי כך שיתאים למארח שלנו.

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

בחר localhost אם אינך משתמש ביומן Google ודומיין.

#!/bin/bash

שינה 15 דפדפן כרום-אינקוגניטו-קיוסק https:// localhost/mirror

אם אתה משתמש בו, מלא את המארח שלך.

#!/bin/bash

שינה 15 דפדפן כרום-אינקוגניטו-קיוסק

שֵׁרוּת

כעת נקבע שקוד המראה יופעל אוטומטית.

ניצור שירות שיפעיל עבורנו את הקוד באופן אוטומטי.

לך ל:

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

והדבק את זה בקובץ

[יחידה]

Description = Mirror Backend After = network.target mariadb.service [Service] Type = simple User = root ExecStart =/bin/sh /home/pi/Mirror/init.sh [Install] WantedBy = multi-user.target

כעת נצטרך לטעון מחדש את שד המערכת על ידי ביצוע:

sudo systemctl daemon-reload

ואנו גם נאפשר לשירות להתחיל אוטומטית בעת האתחול.

sudo systemctl אפשר מראה

עכשיו נכבה.

sudo poweroff

ההגדרות הסופיות

לבסוף עלינו להסיר את ה- APIPA ip שלנו כך שהוא עובד רק על WiFi.

  1. עבור לספריית האתחול של כרטיס ה- SD במחשב האישי שלך.
  2. פתח את הקובץ "cmdline.txt"
  3. הסר ip = 169.254.10.1 בסוף שורת הטקסט הארוכה.

שלב 10: הפעלת המראה

הפעלת המראה
הפעלת המראה
הפעלת המראה
הפעלת המראה
הפעלת המראה
הפעלת המראה
הפעלת המראה
הפעלת המראה

בקר ב- IP שמופיע במסך המראה או אם הגדרת את לוח השנה של גוגל מלא את שם הדומיין.

עכשיו תוכל להתקין את המראה שלך!

אם אתה מקבל שגיאת SSL במראה שלך, ייתכן שתרצה להוסיף את האישורים שלך לחנות האישורים של Chromium.

מוּמלָץ: