תוכן עניינים:
- אספקה
- שלב 1: התקנה
- שלב 2: התקנת המראה
- שלב 3: תצורה
- שלב 4: ממשקי API
- שלב 5: לוח השנה
- שלב 6: ממשק API של Google
- שלב 7: עיצוב המראה
- שלב 8: ביצוע החיווט
- שלב 9: הפעלת הקוד
- שלב 10: הפעלת המראה
וִידֵאוֹ: מראה חכמה מרובת משתמשים עם יומן Google: 10 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
במדריך זה ניצור מראה חכמה המשולבת ביומן 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 וחלץ אותו לכל מקום שתרצה.
ההתקנה
- בחר את התמונה שלך באמצעות סמל התיקיה
- בחר את כרטיס ה- SD שלך באמצעות התפריט הנפתח
- לחץ על כתיבה
עכשיו נצטרך להתעסק קצת יותר עם כמה הגדרות כדי שנוכל לגשת ל- Pi.
- עבור לספריית האתחול של כרטיס ה- SD
- פתח את הקובץ "cmdline.txt"
- הוסף ip = 169.254.10.1 בסוף שורת הטקסט הארוכה המופרדת ברווח (באותה שורה).
- שמור את הקובץ.
- צור קובץ בשם ssh ללא סיומת באותה ספרייה
עכשיו אתה יכול להוציא את כרטיס ה- SD ולשים אותו ב- Pi שלך.
מְקַשֵׁר
כעת נצטרך להתקין את התוכנה.
חבר תחילה כבל LAN, קצה אחד בשולחן העבודה/המחשב הנייד והשני ב- Pi שלך.
עכשיו אתחל את ה- Raspberry Pi.
- התקן את Putty מ-
- הזן 169.254.10.1 בתיבת ה- IP.
- ודא ש- SSH נבחר ויציאה 22 מלאה.
- לחץ על פתח
- מלא את שם המשתמש: pi
- מלא את הסיסמה: פטל
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 של החשבון שלך.
- לחץ על הלחצן קבל את מפתח ה- API שלך במרכז השליטה בצד ימין. [תמונה 1]
- גלול מטה וצפה במפתח ה- 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
עבור אל מסוף המפתחים באמצעות
חלק 1
צור את הפרויקט הראשון שלך על ידי לחיצה ליד הלוגו של Google API ולחיצה על כפתור NEW PROJECT. מלאו את שם הפרויקט המתאים ולחצו על כפתור היצירה. [תמונה 1]
חלק 2
עכשיו תגיע לדף זה. לחץ על כפתור הספרייה. [תמונה 2]
זוהי רשימה גדולה של כל ה- API שבהם תוכל להשתמש, אך אנו נחפש את ממשק ה- API של יומן Google. לחץ עליו והקש ENABLE. [תמונה 3]
לאחר מכן תגיע לסקירה כללית של ה- API של לוח השנה. לחץ על הלוגו של Google APIs כדי לחזור לפרויקט שלך. [תמונה 4]
חלק 3
כדי להתקין הכל בצורה נכונה לחץ על קטגוריית האישורים ובחר בכרטיסייה אימות דומיין.
כאן תצטרך לאמת את שם הדומיין שלך.
- לחץ על הוסף דומיין
- מלא את הדומיין שלך
- לאחר מכן הוא יבקש לאמת את הדומיין שלך. לחץ על המשך.
- בחר את ספק שם הדומיין שלך. [תמונה 5]
- עקוב אחר התהליך
- כעת תוכל להוסיף אותו לרשימת אימות הדומיין במסוף ה- API של Google בצורה כזו. ודא שהדומיין שלך מסומן. [תמונה 6]
חלק 4
כעת בחר בכרטיסייה מסך הסכמה של OAuth. [תמונה 7]
מלא את שם היישום
בשלב הבא נוסיף סקופים למסך ההסכמה. המשמעות היא שנשאל את המשתמש במסך ההסכמה אם הוא רוצה לשתף את פרטי היומן שלו עם המראה.
- לחץ על הוסף היקף וחפש לוח שנה.
- בדוק../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.
- עבור לספריית האתחול של כרטיס ה- SD במחשב האישי שלך.
- פתח את הקובץ "cmdline.txt"
- הסר ip = 169.254.10.1 בסוף שורת הטקסט הארוכה.
שלב 10: הפעלת המראה
בקר ב- IP שמופיע במסך המראה או אם הגדרת את לוח השנה של גוגל מלא את שם הדומיין.
עכשיו תוכל להתקין את המראה שלך!
אם אתה מקבל שגיאת SSL במראה שלך, ייתכן שתרצה להוסיף את האישורים שלך לחנות האישורים של Chromium.
מוּמלָץ:
C.Q: מראה חכמה DIY: 5 שלבים
C.Q: מראה חכמה DIY: אנחנו קטרינה קונספסיון ואדיל קייזר, שניהם תלמידי שנה ב 'באקדמיה WBASD STEM. זהו הפרויקט שהיינו משתפים פעולה ועשינו עבור הפרס הטוב ביותר השנה. כשהחלטנו לעשות את הפרויקט הזה, היה לנו בראש " מה יהיה הכי הרבה
כיצד ליצור משולבת מראה חכמה/קופסת איפור: 8 שלבים
כיצד ליצור משולבת מראה חכמה/איפור קופסת קופסא: כפרויקט גמר לאבן המצבה שלי בדיוויס & מכללת אלקינס, יצאתי לעצב וליצור קופסת איפור, יחד עם מראה גדולה יותר וניצול של פטל פטל ופלטפורמת תוכנת מראה הקסם, שתתפקד כנמל
כיצד לבנות מראה חכמה עם פטל פי 4: 10 שלבים
כיצד לבנות מראה חכמה עם פטל פטל 4: במדריך זה נראה כיצד לבנות משטח חכם באמצעות חלקים ממוחזרים כגון מסגרת תמונה, צג ישן וזכוכית לתמונות. עבור הרכיבים האלקטרוניים שרכשתי מכאן www.lcsc .com
מראה חכמה: 5 שלבים
Mirror Smart: מדריך זה ילמד אותך כיצד ליצור מראה חכמה המציגה את תיבת הדואר הנכנס שלך, את החדשות העדכניות והעדכונים מהניו יורק טיימס ואת התאריך והשעה על רקע של Unsplash. קישור זה עובד: חומרים מתכלים: מסגרת עבור
כיצד להכין מראה חכמה DIY: 12 שלבים (עם תמונות)
כיצד להכין מראה חכמה DIY: "מראה חכמה" היא מראה דו כיוונית עם מאחוריה תצוגה המשמשת בדרך כלל להצגת מידע שימושי כמו השעה והתאריך, מזג האוויר, לוח השנה שלך ועוד כל מיני דברים אחרים! אנשים משתמשים בהם לכל מיני מטרות