Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Denna instruktion visar hur man använder en ESP32 och en LCD för att göra en digital klocka med slumpmässig fotovisning i bakgrunden varje minut. Bilderna kommer från ditt delade Google Fotoalbum, skriv bara in delningslänken ESP32 gör jobbet;>
Steg 1: Förberedelse av maskinvara
ÅTERANVÄND FÖREGÅENDE PROJEKTMASKIN
Om du har gjort tidigare instruktioner kan du återanvända hårdvaran för detta projekt och kan hoppa över maskinvaruaggregatet:
- https://www.instructables.com/id/Floating-Display/
- https://www.instructables.com/id/COVID-19-WHO-Dash…
ESP8266/ESP32 Dev Board
Alla ESP8266/ESP32 Dev Board ska vara ok.
LCD skärm
Vilken som helst Arduino_GFX -LCD -skärm är ok. Du kan hitta den för närvarande visade skärmen på GitHub readme:
Bakbord
Alla brödbrädor som passar för ESP Dev Board och LCD -skärm.
Jumper Wire
Vissa bygelkablar beror på dev -kortet och LCD -stiftens layout. I de flesta fall räcker det med 6-9 manliga till kvinnliga bygelkablar.
Steg 2: Hårdvarumontage
Skjut ESP32 Dev -kortet på brödbrädan och anslut LCD -skärmen med bygelkablar.
Här är exempel på anslutningssammanfattning:
ESP8266 -> LCD
Vcc -> Vcc
GND -> GND GPIO 15 -> CS GPIO 5 -> DC (om tillgänglig) RST -> RST GPIO 14 -> SCK GPIO 12 -> MISO (tillval) GPIO 4 -> LED (om tillgänglig) GPIO 13 -> MOSI / SDA
ESP32 -> LCD
Vcc -> Vcc
GND -> GND GPIO 5 -> CS GPIO 16 -> DC (om tillgänglig) GPIO 17 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (tillval) GPIO 22 -> LED (om tillgänglig) GPIO 23 -> MOSI / SDA
Steg 3: Förberedelse av programvara
Arduino IDE
Ladda ner och installera Arduino IDE om du inte ännu gör det:
www.arduino.cc/en/main/software
Support för ESP8266
Följ installationsinstruktionerna för att lägga till ESP8266 -stöd om du inte gör det ännu:
github.com/esp8266/Arduino
Arduino ESP8266 filsystem uppladdare
Följ installationsinstruktionerna för att lägga till uppladdningsplugin om du inte ännu gör det:
github.com/esp8266/arduino-esp8266fs-plugi…
Support för ESP32
Följ installationsinstruktionerna för att lägga till ESP32 -stöd om du inte ännu gör det:
github.com/espressif/arduino-esp32
Arduino_GFX -bibliotek
Ladda ner de senaste Arduino_GFX -biblioteken: (tryck på "Klona eller ladda ner" -> "Ladda ner ZIP")
github.com/moononournation/Arduino_GFX
Importera bibliotek i Arduino IDE. (Arduino IDE "Sketch" -meny -> "Inkludera bibliotek" -> "Lägg till. ZIP -bibliotek" -> välj nedladdad ZIP -fil)
Steg 4: Inställning och uppladdning
- Ladda ner programmet på GitHub: (tryck på "Clone or Download" -> "Download ZIP")
- Öppna GooglePhotoClock.ino med Arduino IDE
- Fyll dina WiFi AP -inställningar i SSID_NAME och SSID_PASSWORD
- Fyll lokal tidszoninformation till GMT_OFFSET_SEC, DAYLIGHT_OFFSET_SEC och TZ
- Förbered ett delat album i Google Foto, skapa en delningslänk och fyll i GOOGLE_PHOTO_SHARE_LINK
- Om du inte använder ILI9341 LCD, kommentera rad 133 och kommentera inte korrekt LCD -klassdeklaration
- Anslut ESP Dev Board till datorn
- Tryck på uppladdningsknappen för att kompilera och ladda upp programmet till ESP Dev Board
Steg 5: ESP8266 BearSSL CertStore
Google Foto kräver all anslutning i HTTPS. ESP8266 senaste versionen med BearSSL -implementering och det kräver viss förbehandling av CertStore -data.
Jag har genererat en CertStore -data den 18 april 2020, du gör den igen genom att köra:
python make_spiffs.py
Om du använder ESP8266 följer du stegen för att ladda upp CertStore -data:
- Öppna Arduino IDE
- Anslut ESP8266 dev -kortet till datorn
- Välj Verktyg -menyn
- Välj ESP8266 Sketch Data Upload
- Vänta på att uppladdningen är klar
Steg 6: Hur fungerar det?
- Anslut till fördefinierad WiFi AP
- Få aktuell tid från NTP -servern
- Gör HTTPS -begäran om delad länk till Google Foto
- HTTPS -svarskod 302 och inkluderade en omdirigeringsplats i svarshuvudet
- Gör HTTPS -begäran för omdirigering
- Läs fotolistan från Javascript -arrayen i svars -HTML (HTML -koden är över 500 KB, det tar lite tid att läsa och dela upp data)
- För varje minut väljer du slumpmässigt ett foto i fotolistan
- För endast ESP8266, försök att hitta cachad fotofil i SPIFFS först
- Gör en HTTPS -begäran om fotolänk
- Bara för ESP8266, cacha fotofilen till SPIFFS
- Visa fotot
- Skriv ut aktuell tid på fotot
Steg 7: Njut
Det är dags att lägga till fler favoritfoton i det delade fotoalbumet och placera denna Google Photo Clock på ditt skrivbord.