Inhaltsverzeichnis:

ESP32 Fotouhr - Gunook
ESP32 Fotouhr - Gunook

Video: ESP32 Fotouhr - Gunook

Video: ESP32 Fotouhr - Gunook
Video: ESP32, более мощная чем любая другая Ардуино 2024, November
Anonim
Image
Image
ESP32 Fotouhr
ESP32 Fotouhr

Diese Anleitungen zeigen, wie man ESP32 und LCD verwendet, um eine Fotouhr zu machen. Auf Japanisch heißt es BiJin ToKei(美人時計).

Schritt 1: Was ist BiJin ToKei?

Was ist BiJin ToKei?
Was ist BiJin ToKei?

BiJin ToKei(美人時計)ab 2009 finden sie verschiedene Schönheiten, die jede Minute eine Zeittafel berichten. BiJin ToKei bietet eine Webanwendung und eine mobile App-Version. Nach diesen Jahren finden Sie jetzt viele Varianten im Web.

Ref.:

www.bijint.com

ja.wikipedia.org/wiki/BIJIN%26Co.

itunes.apple.com/us/app/bijin-tokei-plus/i…

deadoralive.wikia.com/wiki/Bijin_Tokei

twitter.com/search?q=%23bijintokei

Schritt 2: Warum ESP32?

Warum ESP32?
Warum ESP32?

BiJin ToKei bietet ursprünglich eine Webanwendung und eine mobile App-Version. Es ist eine schöne Uhr, aber es ist sehr schwer, einen Desktop-Bildschirm oder ein Mobiltelefon auf Dauer als Uhr zu verwenden.

Wie wäre es mit ESP32 und einem winzigen LCD, es kostet nur etwa 10 USD, dieser Preis ist es wert, es zu schaffen.

Schritt 3: Vorbereitung

Vorbereitung
Vorbereitung
Vorbereitung
Vorbereitung
Vorbereitung
Vorbereitung

ESP32-Karte

Jedes ESP32-Entwicklungsboard mit SPI-Breakout-Pins sollte in Ordnung sein.

LCD

ESP32_TFT_Library kann ILI9341, ILI9488, ST7789V und ST7735 unterstützen. Diesmal verwende ich ein 2,4 ST7789V LCD, Modellnummer JLX240-00302-BN. Dieses Modell ist nur für SPI ausgelegt, hat also nur 10 Pins (eigentlich 9 Pins). Es kann die Lötarbeit erleichtern.

Update: Ich habe auch ein 3,2-Zoll-LCD ausprobiert, Modellnummer JLX320-00202

Ausstellungsständer

Sie können jedes vorhandene Altmaterial als einfachen Ständer wiederverwenden, z. B. ein mobiler Ständer. Ich habe einen kaputten Namensschildhalter in der Hand, es ist perfekt, diesen Job zu machen!

Andere

Ein 10 Ohm Widerstand und etwas beschichteter Kupferdraht.

Schritt 4: Design

Entwurf
Entwurf

Eine Fotouhr erfordert die Fähigkeit, Fotos anzuzeigen. Das Foto auf www.bijint.com ist im JPG-Format, daher benötige ich eine JPG-Dekodierungs- und Anzeigebibliothek. Ich suche vor langer Zeit nach der zugehörigen Bibliothek, bis ESP32 populär wurde.

ESP32 ist der erste Hobby-Chip, der eine vollständige Lösung für die Anzeige von JPG-Bildern bietet (dank der Bemühungen von loboris). Davor kann ich ein Video in Youtube finden, das behauptet, dass-j.webp

Dieses Projekt beginnt also mit der ESP32_TFT_library von Loboris.

Hier der Programmablauf:

  1. WLAN verbinden
  2. Holen Sie sich die aktuelle Uhrzeit mit dem NTP-Protokoll
  3. Verknüpfen Sie die Stunden- und Minutenzeichenfolge, um die Bild-URL der aktuellen Zeit zu bilden, und rufen Sie sie dann jede Minute von www.bijint.com ab
  4. Speichern Sie die JPG-Bilddatei in SPIFFS
  5. jpg-Datei anzeigen

Update: Der neueste Code unterstützt auch die direkte Dekodierung von JPG-HTTP-Antworten an LCD, kein Schreiben in SPIFFS als Cache erforderlich.

Ausführung bezüglich Details:

  1. WiFi und Internetverbindung sind nicht 100% zuverlässig und ich möchte nicht, dass die Uhr zu einer falschen Zeit einfriert. Wenn also ein Fehler auftritt (z.
  2. Jede Minute hat ein einziges Zeitbild bedeutet 1440 Bilder pro Tag, der eingebaute ESP32-Blitz kann nicht Hunderte MB-Bilder aufnehmen. Die Uhr kann also nicht alle Bilder vorab abrufen, aber sie kann jedes Mal das Bild abrufen, anzeigen und dann bereinigen.
  3. Flash wird durch späteres Überschreiben leicht abgenutzt, sodass das Programm die Cache-Dateien rotiert, um zu vermeiden, dass jede Minute an dieselbe Stelle geschrieben wird.
  4. Die Bildgröße ist größer als die LCD-Auflösung, daher muss das Bild zur Anzeige auf die halbe Größe verkleinert werden.
  5. Die in ESP-IDF integrierte Zeitzonenanpassung funktioniert nicht wie erwartet, daher muss die Zeitzone mit benutzerdefiniertem Code angepasst werden.
  6. Die Download-Dateizeit erfordert 10-50 Sekunden (abhängig von Dateigröße und Netzwerk), daher habe ich 20 Sekunden (konfigurierbar) von der Echtzeit entfernt, um diese Verzögerung zu überwinden.

Schritt 5: Herunterladen, Kompilieren, Flashen und Ausführen des Programms

Herunterladen, Kompilieren, Flashen und Ausführen des Programms
Herunterladen, Kompilieren, Flashen und Ausführen des Programms

ESP-IDF einrichten (falls noch nicht):

  • Windows-Setup-Anleitung
  • Mac OS-Setup-Anleitung
  • Linux-Setup-Anleitung

Laden Sie den Quellcode hier herunter:

github.com/moononournation/ESP32_BiJin_ToK…

Aufbau:

Menükonfiguration machen

  • Serielle Schnittstelle konfigurieren

    1. wählen Sie "Serielle Blinker-Konfiguration"
    2. Wählen Sie "Standard serieller Port"
    3. Füllen Sie den seriellen Port des ESP32-Boards, z. B. COM6 unter Windows; /dev/cu. SLAB_USBtoUART unter macOS
  • WLAN konfigurieren

    1. wählen Sie "BiJin Tokei-Konfiguration"
    2. Füllen Sie Ihre eigene "WiFi-SSID" und Ihr "WiFi-Passwort" aus

Anpassung

"partitions.csv" geändert, Speichergröße anpassen. (maximal 0x100000 für 2M und 0x300000 für 4M)

Speicher, Daten, Spiffs, 0x100000, 0xF0000, "main/bijin_tokei.c" geändert

Definieren Sie, wie viele Cache-Dateien verwendet werden, abhängig von der SPIFFS-Speichergröße. Oder auf 0 setzen, um die JPG-HTTP-Antwort im laufenden Betrieb direkt zu decodieren:

#define CACHE_COUNT 0

Wählen Sie eine der TOKEI LIST-URLs aus und entkommentieren Sie sie oder geben Sie Ihre eigene URL ein:

statisches const char *REQUEST_FORMAT =

Kompilieren, flashen und starten Sie das Programm:

Blitzmonitor machen

Schritt 6: Lötarbeiten

Lötarbeiten
Lötarbeiten
Lötarbeiten
Lötarbeiten
Lötarbeiten
Lötarbeiten

Kleben Sie die ESP32-Platine auf die LCD-Rückseite und löten Sie mit beschichtetem Kupferdraht.

Die Verbindung ist sehr einfach, aber die LCD-Pins sind normalerweise sehr dünn, passen Sie auf, dass sie nicht ineinandergreifen.

Hier die Verbindungszusammenfassung:

ESP32 GND -> LCD -ve

-> LCD LED -ve ESP32 3v3 -> LCD +ve -> 10 Ohm Widerstand -> LCD LED +ve ESP32 GPIO16 -> LCD RS (DC) ESP32 GPIO23 -> LCD SDA (SPI MOSI) ESP32 GPIO05 -> LCD CS ESP32 GPIO17 -> LCD RST ESP32 GPIO18 -> LCD CL (SPI CLK)

Tipps: Stromleitungen erfordern dickere Drähte, um den Stromfluss zu erfüllen, aber es erfordert mehr Aufwand, die Position zu fixieren; andere Signalleitungen können dünnere Drähte verwenden und die Lötarbeit erleichtern.

Schritt 7: Überprüfen und platzieren Sie das LCD auf dem Ständer

Überprüfen und platzieren Sie das LCD auf dem Ständer
Überprüfen und platzieren Sie das LCD auf dem Ständer
Überprüfen und platzieren Sie das LCD auf dem Ständer
Überprüfen und platzieren Sie das LCD auf dem Ständer
Überprüfen und platzieren Sie das LCD auf dem Ständer
Überprüfen und platzieren Sie das LCD auf dem Ständer

Überprüfen Sie den korrekten Programmablauf und befestigen Sie ihn anschließend am Ständer.

Schritt 8: Glückliche Zeit

Fröhliche Zeit!
Fröhliche Zeit!

Es ist Zeit, es auf Ihrem Desktop zu platzieren und Ihrem Freund zu zeigen, was Sie getan haben!

Schritt 9: Was kommt als nächstes?

  • Probieren Sie andere BiJin ToKei-Varianten aus
  • Ausgewählte Variationen zufällig drehen
  • Passen Sie Ihre eigenen Fotos an
  • Anzeigezeit in großer Schriftgröße, falls das Bild nicht geladen werden konnte
  • Versuchen Sie es mit einem größeren Bildschirm, z. ili9488 (320 x 480)

Empfohlen: