Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Deze instructables laten zien hoe je een ESP32 en een LCD-scherm gebruikt om elke minuut een digitale klok te maken met een willekeurige fotoweergave op de achtergrond. De foto's zijn afkomstig van je gedeelde Google-fotoalbum, voer gewoon de share-link in ESP32 zal het werk doen;>
Stap 1: Hardwarevoorbereiding
HERGEBRUIK VAN VORIGE PROJECTHARDWARE
Als je eerdere instructables hebt gedaan, kun je de hardware voor dit project opnieuw gebruiken en de hardware-assemblage overslaan:
- https://www.instructables.com/id/Floating-Display/
- https://www.instructables.com/id/COVID-19-WHO-Dash…
ESP8266/ESP32-ontwikkelbord
Elke ESP8266/ESP32 Dev Board zou in orde moeten zijn.
LCD scherm
Elk door Arduino_GFX ondersteund LCD-scherm is in orde, mogelijk vindt u momenteel ondersteunde weergave op GitHub readme:
Breadboard
Elk breadboard dat geschikt is voor het ESP Dev Board en het LCD-scherm.
Doorverbindingsdraad
Sommige jumperdraden zijn afhankelijk van het dev-bord en de lay-out van de LCD-pinnen. In de meeste gevallen zijn 6-9 mannelijke naar vrouwelijke jumperdraden voldoende.
Stap 2: Hardwaremontage
Duw de ESP32 Dev Board op het breadboard en sluit het LCD-scherm aan met jumperdraden.
Hier is het voorbeeld van een verbindingssamenvatting:
ESP8266 -> LCD
Vcc -> Vcc
GND -> GND GPIO 15 -> CS GPIO 5 -> DC (indien beschikbaar) RST -> RST GPIO 14 -> SCK GPIO 12 -> MISO (optioneel) GPIO 4 -> LED (indien beschikbaar) GPIO 13 -> MOSI / SDA
ESP32 -> LCD
Vcc -> Vcc
GND -> GND GPIO 5 -> CS GPIO 16 -> DC (indien beschikbaar) GPIO 17 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (optioneel) GPIO 22 -> LED (indien beschikbaar) GPIO 23 -> MOSI / SDA
Stap 3: Softwarevoorbereiding
Arduino IDE
Download en installeer Arduino IDE als je het nog niet doet:
www.arduino.cc/en/main/software
ESP8266-ondersteuning:
Volg de installatie-instructies om ESP8266-ondersteuning toe te voegen als u dit nog niet doet:
github.com/esp8266/Arduino
Arduino ESP8266 bestandssysteem uploader
Volg de installatie-instructies om de uploader-plug-in toe te voegen als u dit nog niet doet:
github.com/esp8266/arduino-esp8266fs-plugi…
ESP32-ondersteuning:
Volg de installatie-instructies om ESP32-ondersteuning toe te voegen als u dit nog niet doet:
github.com/espressif/arduino-esp32
Arduino_GFX-bibliotheek
Download de nieuwste Arduino_GFX-bibliotheken: (druk op "Clone or Download" -> "Download ZIP")
github.com/moononournation/Arduino_GFX
Importeer bibliotheken in Arduino IDE. (Arduino IDE "Sketch" Menu -> "Include Library" -> "Add. ZIP Library" -> selecteer gedownload ZIP-bestand)
Stap 4: Instellen en uploaden
- Download het programma op GitHub: (druk op "Clone or Download" -> "Download ZIP")
- Open GooglePhotoClock.ino met Arduino IDE
- Vul uw WiFi AP-instellingen in SSID_NAME en SSID_PASSWORD
- Vul lokale tijdzone-informatie in tot GMT_OFFSET_SEC, DAYLIGHT_OFFSET_SEC en TZ
- Bereid een gedeeld album voor in Google Foto, maak een deellink en vul de GOOGLE_PHOTO_SHARE_LINK
- Als u ILI9341 LCD niet gebruikt, becommentarieert u regel 133 en verwijdert u de opmerking bij de juiste LCD-klassedeclaratie
- Sluit ESP Dev Board aan op de computer
- Druk op de knop Uploaden om het programma te compileren en te uploaden naar het ESP Dev Board
Stap 5: ESP8266 BearSSL CertStore
Google Photo vereist alle verbindingen in HTTPS. ESP8266 nieuwste versie met BearSSL-implementatie en het vereist enige voorbewerking op CertStore-gegevens.
Ik heb CertStore-gegevens gegenereerd op 18 april 2020, u maakt deze opnieuw door het volgende uit te voeren:
python make_spiffs.py
Als u ESP8266 gebruikt, volgt u de stappen om CertStore-gegevens te uploaden:
- Arduino IDE openen
- Sluit het ESP8266-ontwikkelbord aan op de computer
- Selecteer het menu Extra
- Selecteer ESP8266 Schetsgegevens uploaden
- Wacht upload voltooid
Stap 6: Hoe werkt het?
- Maak verbinding met vooraf gedefinieerde WiFi-AP
- Krijg de huidige tijd van de NTP-server
- Maak het HTTPS-verzoek voor de gedeelde Google Photo-link
- HTTPS-antwoordcode 302 en een omleidingslocatie opgenomen in de antwoordheader
- Maak het HTTPS-verzoek voor de omleidingslocatie
- Lees de fotolijst uit de Javascript-array in antwoord-HTML (de HTML is meer dan 500 KB, het heeft enige tijd nodig om de gegevens te lezen en te splitsen)
- Selecteer voor elke minuut willekeurig een foto in de fotolijst
- Probeer alleen voor ESP8266 eerst het in de cache opgeslagen fotobestand in SPIFFS te vinden
- Maak een HTTPS-verzoek voor een fotolink
- Alleen voor ESP8266: cache het fotobestand in SPIFFS
- Toon de foto
- Print de huidige tijd op de foto
Stap 7: Geniet
Het is tijd om meer gunstfoto's toe te voegen aan het gedeelde fotoalbum en deze Google-fotoklok op uw bureau te plaatsen.