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

מראה קסומה עם חדשות, מזג אוויר, אזעקה, טיימר וטודוליסט: 9 שלבים
מראה קסומה עם חדשות, מזג אוויר, אזעקה, טיימר וטודוליסט: 9 שלבים

וִידֵאוֹ: מראה קסומה עם חדשות, מזג אוויר, אזעקה, טיימר וטודוליסט: 9 שלבים

וִידֵאוֹ: מראה קסומה עם חדשות, מזג אוויר, אזעקה, טיימר וטודוליסט: 9 שלבים
וִידֵאוֹ: שבט אחים ואחיות - שבט אחים ואחיות (A tribe of brothers and sisters) 2024, נוֹבֶמבֶּר
Anonim
מראה קסומה עם חדשות, מזג אוויר, אזעקה, טיימר וטודוליסט
מראה קסומה עם חדשות, מזג אוויר, אזעקה, טיימר וטודוליסט
מראה קסומה עם חדשות, מזג אוויר, אזעקה, טיימר וטודוליסט
מראה קסומה עם חדשות, מזג אוויר, אזעקה, טיימר וטודוליסט

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

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

למראה שעשיתי יש תכונות אלה:

  • חדשות מפיד RSS שנבחר על ידי משתמש
  • מזג אוויר
  • טמפרטורת פנים
  • מערכת אזעקה
  • מערכת טיימר
  • איש תיירות
  • משתמשים מרובים: צבע ה- ledstrip ושינוי המקורות החדשים בהתבסס על המשתמש שנבחר.

אספקה

כדי לבנות את מראה הקסם הזו, תזדקק ל:

  • מראה חד כיוונית
  • עץ
  • פי פטל
  • כרטיס Micro SD (8+GB)
  • לוח לחם
  • שני רמקולים של 20W
  • מגבר MAX9744 20W להפעלת הרמקולים
  • רצועת לד WS2801 בגודל 30 מ '
  • חיישן טמפרטורה חד-חוטי DS18B20
  • חיישן אינפרא אדום HC-SR501
  • מקודד סיבובי
  • צג או צג מחשב נייד ישן

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

תזדקק גם לרכיבים הקטנים הבאים:

  • דיודה
  • נגד 4.7k אוהם
  • נגד של 470 אוהם
  • חוטים לחיבור חיישנים ל- Raspberry Pi

וספקי הכוח הבאים:

  • 5V 2A להפעלת החשמלית
  • 12V 2A להפעלת המסך
  • 12V 2A להפעלת המגבר
  • 5.1V 3A להפעלת ה- Raspberry Pi (השתמש באספקת חשמל רשמית של RPi)

שלב 1: התקנת Raspbian

התצוגה וכל הרכיבים מאחורי המראה מופעלים על ידי ה- Raspberry Pi. יהיה עליך להתקין את Raspbian, מערכת ההפעלה המוגדרת כברירת מחדל של ה- Pi, על כרטיס ה- SD.

  1. הורד Win32 Disk Imager. משתמשי לינוקס ו- MacOS יכולים להשתמש בדומה לאתר.
  2. הורד את התמונה האחרונה של Raspbian מאתר Raspberry Pi. בחר באפשרות 'Raspbian Buster with desktop'
  3. פתח את Win32 Disk Imager וכתוב את קובץ התמונה לכרטיס ה- SD.

כרטיס ה- SD כמעט מוכן. עלינו רק לוודא שנוכל להתחבר ל- Raspberry Pi מרחוק:

  1. עבור למחיצת 'אתחול' של כרטיס ה- SD באמצעות סייר הקבצים של המערכת שלך.
  2. הוסף קובץ בשם 'ssh' ללא סיומת.
  3. הוסף 'ip = 169.254.10.1' (ללא מרכאות) לסוף השורה הראשונה של 'cmdline.txt'.

הוצא את כרטיס ה- SD בבטחה מהמחשב שלך, הכנס אותו ל- Raspberry Pi והפעל אותו.

שלב 2: תצורת WiFi

כדי לסרוק רשתות WiFi, בצע את הפקודה הבאה:

sudo iw dev wlan0 סריקה | grep SSID

תראה את רשימת כל ה- SSID שאליהם Raspberry Pi שלך יכול להתחבר.

צור ערך רשת עם סיסמה מוצפנת על ידי ביצוע הפקודה הבאה והזנת סיסמת הרשת שלך:

wpa_passphrase "YOUR_NETWORK_SSID_HERE"

כעת הדבק את הפלט של הפקודה לעיל בקובץ זה:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

כעת הפעל מחדש את ה- Raspberry Pi. אתה תהיה מחובר לאינטרנט.

שלב 3: התקנת תוכנה ותצורה

לפרויקט זה, יהיה עליך להוריד את החבילות האלה ל- Raspberry Pi שלך:

pip3 התקן mysql-connector-python flask-socketio flask-cors gevent gevent-websocket adafruit-circuitpython-ws2801 adafruit-circuitpython-max9744

sudo apt להתקין apache2 mariadb-server

הוסף שורה זו לתחתית /boot/config.txt כדי לאפשר אודיו באמצעות סיכות GPIO 12 (משמאל) ו- 13 (מימין):

dtoverlay = audremap

השתמש ב- raspi-config כדי להגדיר את רזולוציית התצוגה שלך ולהפעיל i2c, חוט אחד ו- SPI. הגדר גם את שיטת האתחול ל- 'Desktop Autologin'.

ב/etc/xdg/lxsession/LXDE-pi/autostart, הוסף את הדברים הבאים:

@xset s off@xset -dpms@xset s noblank@chromium -browser -קיוסק 127.0.0.1/mirror.html # טען כרום לאחר האתחול ופתח את האתר במצב מסך מלא

פעולה זו פותחת את הדפדפן בדף הנכון כאשר LXDE (סביבת שולחן העבודה של Raspbian) נטענת. הסר או הגיב גם על השורה @xscreensaver כדי להשבית את שומר המסך.

מאגר Github

שיבוט את מאגר GitHub שלי והכנס את התוכן של התיקיה Frontend ב/var/www/html. נצטרך את תיקיית ה- Backend מאוחר יותר.

שלב 4: מסד הנתונים

בסיס הנתונים
בסיס הנתונים

זוהי סכמת מסד הנתונים, המותאמת ל- 3NF. הוא מאחסן את כל האזעקות, מקורות החדשים, המשתמשים, נתוני החיישנים, הצלילים והסופר.

  1. השתמש ב- MySQL Workbench כדי לגשת לשרת הנתונים של ה- pi שלך (mariadb)
  2. צור מסד נתונים באמצעות סכמה זו והוסף נתונים משלך.
  3. ערוך את config.py בתיקיית Backend של מאגר GitHub שלי: שנה את שם מסד הנתונים, שם המשתמש שבחרת והסיסמה.
  4. ערוך את app.py ושנה את כתובת ה- API של OpenWeatherMap לשלך. (צור משלך כאן)

שלב 5: בניית מסגרת המראה

בניית מסגרת המראה
בניית מסגרת המראה
בניית מסגרת המראה
בניית מסגרת המראה
בניית מסגרת המראה
בניית מסגרת המראה

בניתי את המסגרת מסביב למראה באמצעות חיבורי מיטר עם פינות מתכת. לוחות העץ בהם השתמשתי הם בעובי 18 מ"מ ורוחב 10 ס"מ. בתמונות ניתן לראות את המידות המדויקות של מראה בגודל 45 ס"מ על 60 ס"מ. מאחורי המראה יש את כל האלקטרוניקה, אז וודא שהקרשים שלך רחבים מספיק כדי שיתאימו להם.

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

שלב 6: האלקטרוניקה

האלקטרוניקה
האלקטרוניקה
האלקטרוניקה
האלקטרוניקה

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

שלב 7: התאמת האלקטרוניקה במסגרת

התאמת האלקטרוניקה במסגרת
התאמת האלקטרוניקה במסגרת
התאמת האלקטרוניקה במסגרת
התאמת האלקטרוניקה במסגרת

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

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

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

קידחתי שני חורים של 8 מ מ משני צדי המראה כדי לנתב את הכבלים לפסים.

שלב 8: גימור נגיעות

נגיעות
נגיעות
נגיעות
נגיעות
נגיעות
נגיעות

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

העתק את תיקיית Backend ממאגר Github שלי למקום שתזכור.

הוסף יחידת systemd כך שסקריפט הפייתון יפעל בעת האתחול:

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

[יחידה]

Description = השירות לסקריפט python של magicmirror After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/magicMirror/Backend StandardOutput = erft StandardError = inherit Restart = תמיד משתמש = pi [התקנה] WantedBy = multi-user.target

שנה את 'WorkingDirectory' לספריית Backend, ושנה את המשתמש לשם המשתמש שלך.

שלב 9: אינטראקציה עם Webapp

אינטראקציה עם Webapp
אינטראקציה עם Webapp
אינטראקציה עם Webapp
אינטראקציה עם Webapp
אינטראקציה עם Webapp
אינטראקציה עם Webapp
אינטראקציה עם Webapp
אינטראקציה עם Webapp

גלשו לכתובת ה- IP (שמופיעה בתצוגה). תראה אתר ראשון לנייד עם התכונות הבאות:

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

Mirror.html הוא הדף המוצג במראה הקסם. הוספתי דוגמא בתמונות למעלה.

מוּמלָץ: