תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
מדריכים אלה מראים כיצד להשתמש ב- ESP32 ו- LCD ליצירת שעון דיגיטלי עם תצוגת תמונות אקראית ברקע בכל דקה. התמונות הגיעו משיתוף אלבום תמונות Google שלך, פשוט הזן את קישור השיתוף ESP32 יעשה את העבודה;>
שלב 1: הכנת חומרה
שימוש חוזר בפרוייקט קודם לכן
אם ביצעת הוראות קודמות, תוכל לעשות שימוש חוזר בחומרה לפרויקט זה ותוכל לדלג על מכלול החומרה:
- https://www.instructables.com/id/Floating-Display/
- https://www.instructables.com/id/COVID-19-WHO-Dash…
לוח Dev ESP8266/ESP32
כל לוח ESP8266/ESP32 Dev צריך להיות בסדר.
תצוגת אל סי די
כל מסך LCD הנתמך על ידי Arduino_GFX תקין, ייתכן שתמצא תצוגה נתמכת כרגע ב- GitHub readme:
לוח לחם
כל לוח לחם שיכול להתאים ללוח ה- ESP Dev ותצוגת LCD.
כבל מגשר
כמה חוטי מגשר, תלוי בלוח ה- dev ובפריסת סיכות ה- LCD. ברוב המקרים מספיק 6-9 חוטי מגשר בין זכר לנקבה.
שלב 2: הרכבת חומרה
דחוף את לוח ה- ESP32 Dev על לוח הלחם וחבר LCD עם חוטי מגשר.
להלן סיכום החיבור לדוגמה:
ESP8266 -> LCD
Vcc -> Vcc
GND -> GND GPIO 15 -> CS GPIO 5 -> DC (אם קיים) RST -> RST GPIO 14 -> SCK GPIO 12 -> MISO (אופציונלי) GPIO 4 -> LED (אם קיים) GPIO 13 -> MOSI / SDA
ESP32 -> LCD
Vcc -> Vcc
GND -> GND GPIO 5 -> CS GPIO 16 -> DC (אם קיים) GPIO 17 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (אופציונלי) GPIO 22 -> LED (אם קיים) GPIO 23 -> MOSI / SDA
שלב 3: הכנת תוכנה
Arduino IDE
הורד והתקן את Arduino IDE אם עדיין אינך עושה זאת:
www.arduino.cc/en/main/software
תמיכה ב- ESP8266
עקוב אחר הוראות ההתקנה כדי להוסיף תמיכה ב- ESP8266 אם עדיין אינך עושה זאת:
github.com/esp8266/Arduino
מעלה מערכת קבצים Arduino ESP8266
עקוב אחר הוראות ההתקנה להוספת תוסף העלאה אם עדיין אינך עושה זאת:
github.com/esp8266/arduino-esp8266fs-plugi…
תמיכה ב- ESP32
עקוב אחר הוראות ההתקנה כדי להוסיף תמיכה ב- ESP32 אם עדיין אינך עושה זאת:
github.com/espressif/arduino-esp32
ספריית Arduino_GFX
הורד את ספריות Arduino_GFX האחרונות: (לחץ על "שיבוט או הורד" -> "הורד ZIP")
github.com/moononournation/Arduino_GFX
ייבוא ספריות ב- Arduino IDE. (תפריט "סקיצה" של Arduino IDE -> "כלול ספרייה" -> "הוסף ספריית ZIP" -> בחר קובץ ZIP שהורדת)
שלב 4: הגדרה והעלאה
- הורד את התוכנית ב- GitHub: (לחץ על "שיבוט או הורד" -> "הורד ZIP")
- פתח את GooglePhotoClock.ino עם Arduino IDE
- מלא את הגדרות ה- WiFi AP שלך ב- SSID_NAME ו- SSID_PASSWORD
- מלא את פרטי אזור הזמן המקומי ל- GMT_OFFSET_SEC, DAYLIGHT_OFFSET_SEC ו- TZ
- הכן אלבום משותף בתמונת Google, צור קישור שיתוף ומלא את GOOGLE_PHOTO_SHARE_LINK
- אם אינך משתמש ב- ILI9341 LCD, הערה על שורה 133 ואל תגיב על הצהרת ה- LCD הנכונה
- חבר את לוח ESP Dev למחשב
- לחץ על כפתור העלאה כדי לקמפל ולהעלות את התוכנית ללוח ה- ESP Dev
שלב 5: ESP8266 BearSSL CertStore
תמונת Google דורשת את כל החיבור ב- HTTPS. הגרסה העדכנית ביותר של ESP8266 באמצעות יישום BearSSL והיא דורשת עיבוד מוקדם על נתוני CertStore.
יצרתי נתוני CertStore ב- 18 באפריל 2020, תוכל לבצע אותם מחדש על ידי הפעלה:
python make_spiffs.py
אם אתה משתמש ב- ESP8266, בצע את השלבים להעלאת נתוני CertStore:
- פתח את Arduino IDE
- חבר את לוח ה- dev ESP8266 למחשב
- בחר בתפריט כלים
- בחר ESP8266 העלאת נתוני סקיצה
- חכה שההעלאה תסתיים
שלב 6: איך זה עובד?
- התחבר ל- WiFi AP מוגדר מראש
- קבל את הזמן הנוכחי משרת NTP
- צור את בקשת HTTPS הקישור המשותף לתמונה של Google
- קוד תגובה HTTPS 302 וכלל מיקום להפניה בכותרת התגובה
- בצע את בקשת HTTPS למיקום המנתב מחדש
- קרא את רשימת התמונות ממערך Javascript בתגובה HTML (ה- HTML הוא מעל 500 KB, צריך קצת זמן לקרוא ולפצל את הנתונים)
- עבור כל מיני דקות, בחר באקראי תמונה ברשימת התמונות
- עבור ESP8266 בלבד, נסה קודם כל למצוא קובץ תמונות במטמון ב- SPIFFS
- צור בקשת HTTPS לקישור תמונות
- עבור ESP8266 בלבד, שמור את קובץ התמונות ב- SPIFFS
- הצג את התמונה
- הדפס את השעה הנוכחית על התמונה
שלב 7: תהנה
הגיע הזמן להוסיף תמונות טובות יותר לאלבום התמונות המשותף ולמקם את שעון התמונות של Google על שולחן העבודה שלך.