Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Tento návod ukazuje, jak pomocí ESP32 a LCD vytvořit digitální hodiny s náhodným zobrazováním fotografií na pozadí každou minutu. Fotografie pocházejí od vás sdíleného Fotoalba Google, jednoduše zadejte odkaz pro sdílení, práci provede ESP32;>
Krok 1: Příprava hardwaru
ZNOVU POUŽÍVEJTE PŘEDCHOZÍ HARDWARE PROJEKTU
Pokud jste provedli předchozí instruktáž, můžete hardware znovu použít pro tento projekt a můžete přeskočit sestavu hardwaru:
- https://www.instructables.com/id/Floating-Display/
- https://www.instructables.com/id/COVID-19-WHO-Dash…
Vývojová deska ESP8266/ESP32
Jakákoli vývojová deska ESP8266/ESP32 by měla být v pořádku.
LCD displej
Jakýkoli LCD displej podporovaný Arduino_GFX je v pořádku, aktuálně podporovaný displej najdete na readme GitHub:
Prkénko
Jakýkoli prkénko, které se hodí pro desku ESP Dev a LCD displej.
Propojovací drát
Některé propojovací vodiče závisí na rozvržení desky vývojáře a LCD kolících. Ve většině případů stačí 6–9 propojovacích kabelů mezi muži a ženami.
Krok 2: Montáž hardwaru
Zatlačte desku ESP32 pro vývoj na desku a připojte LCD pomocí propojovacích vodičů.
Zde jsou ukázkové souhrny připojení:
ESP8266 -> LCD
Vcc -> Vcc
GND -> GND GPIO 15 -> CS GPIO 5 -> DC (je -li k dispozici) RST -> RST GPIO 14 -> SCK GPIO 12 -> MISO (volitelně) GPIO 4 -> LED (je -li k dispozici) GPIO 13 -> MOSI / SDA
ESP32 -> LCD
Vcc -> Vcc
GND -> GND GPIO 5 -> CS GPIO 16 -> DC (je -li k dispozici) GPIO 17 -> RST GPIO 18 -> SCK GPIO 19 -> MISO (volitelně) GPIO 22 -> LED (je -li k dispozici) GPIO 23 -> MOSI / SDA
Krok 3: Příprava softwaru
Arduino IDE
Stáhněte a nainstalujte Arduino IDE, pokud to ještě neuděláte:
www.arduino.cc/en/main/software
Podpora ESP8266
Pokud jste to ještě neudělali, přidejte podle pokynů k instalaci podporu ESP8266:
github.com/esp8266/Arduino
Nástroj pro nahrávání souborového systému Arduino ESP8266
Pokud ještě nenainstalujete plugin pro nahrávání, postupujte podle pokynů k instalaci:
github.com/esp8266/arduino-esp8266fs-plugi…
Podpora ESP32
Pokud jste to ještě neudělali, přidejte podle pokynů k instalaci podporu ESP32:
github.com/espressif/arduino-esp32
Knihovna Arduino_GFX
Stáhněte si nejnovější knihovny Arduino_GFX: (stiskněte „Klonovat nebo Stáhnout“-> „Stáhnout ZIP“)
github.com/moononournation/Arduino_GFX
Import knihoven v Arduino IDE. (Nabídka „Skica“Arduino IDE -> „Zahrnout knihovnu“-> „Přidat knihovnu. ZIP“-> vyberte stažený soubor ZIP)
Krok 4: Nastavení a nahrávání
- Stáhněte si program na GitHub: (stiskněte „Klonovat nebo Stáhnout“-> „Stáhnout ZIP“)
- Otevřete GooglePhotoClock.ino pomocí Arduino IDE
- Vyplňte nastavení WiFi AP do SSID_NAME a SSID_PASSWORD
- Vyplňte informace o místním časovém pásmu na GMT_OFFSET_SEC, DAYLIGHT_OFFSET_SEC a TZ
- Připravte si sdílené album na Google Photo, vytvořte odkaz pro sdílení a vyplňte GOOGLE_PHOTO_SHARE_LINK
- Pokud nepoužíváte ILI9341 LCD, okomentujte řádek 133 a odkomentujte správné prohlášení o třídě LCD
- Připojte ESP Dev Board k počítači
- Stisknutím tlačítka Nahrát zkompilováte a nahrajete program do vývojové desky ESP
Krok 5: ESP8266 BearSSL CertStore
Fotografie Google vyžadují veškeré připojení v HTTPS. ESP8266 nejnovější verze s implementací BearSSL a vyžaduje určité předzpracování dat CertStore.
Vygeneroval jsem data CertStore 18. dubna 2020, regeneraci provedete spuštěním:
python make_spiffs.py
Pokud používáte ESP8266, postupujte podle pokynů k nahrání dat CertStore:
- Otevřete Arduino IDE
- Připojte vývojovou desku ESP8266 k počítači
- Vyberte nabídku Nástroje
- Vyberte možnost Nahrání dat skici ESP8266
- Počkejte na dokončení nahrávání
Krok 6: Jak to funguje?
- Připojte se k předdefinovanému WiFi AP
- Získejte aktuální čas ze serveru NTP
- Odešlete požadavek na HTTPS sdíleného odkazu na Google Photo
- Kód odpovědi HTTPS 302 a v záhlaví odpovědi zahrnoval umístění přesměrování
- Vytvořte požadavek na přesměrování umístění
- Přečtěte si seznam fotografií z pole Javascript v HTML odpovědi (HTML má více než 500 kB, čtení a rozdělení dat vyžaduje určitý čas)
- Pro všechny minituy náhodně vyberte fotografii v seznamu fotografií
- Pouze pro ESP8266 zkuste nejprve najít soubor s fotografií v mezipaměti v SPIFFS
- Vytvořte odkaz na fotografii
- Pouze pro ESP8266 uložte soubor s fotografií do mezipaměti na SPIFFS
- Zobrazit fotografii
- Vytisknout aktuální čas na fotografii
Krok 7: Užijte si to
Je načase přidat do sdíleného fotoalba další oblíbené fotografie a umístit tyto hodiny Google Photo Clock na stůl.