Firmware für TFT-Displays (nur ESP32)

Unsere Hauptziel ist mit CALE Web-Service eine Epaper Firmware zu verfügung stellen. Die TFT-Display Firmware gilt als Beispiel von pull-request von eine JPG Bildern mit ESP32 damit Sie könnten seine eigene Lösung entwicklen.
Diese Beispiele macht nur 3 Sachen:

  • Bietet eine Möglichkeit, ein JPG Binärbild von einer externen URL in ESP32 herunterladen
  • Ein Interpreter, der diese jpg Bild liest und einen Puffer für die Anzeige vorbereitet (based on JPEGDecoder lib)
  • Ein Autorisierungstoken damit die Screens bleiben privat und nicht Public in Internet (Bearer token)

Die Open Source Firmware ist hier:

https://github.com/martinberlin/eink-calendar - cale_tft branch





So kompilieren und laden Sie auf Ihr Board

Wir gehen davon aus, dass Sie mit der Installation von Platformio vertraut sind, einer großartigen IDE zum Hochladen von Firmware auf Ihre Boards und zum Beibehalten Ihrer Abhängigkeiten in Ihrem Projekt.

Die Konfiguration ist nicht kompliziert. Nach dem Download einfach umbenennen:
lib/Config/Config.h.dist zu
Config.h

und füllen Sie es mit Ihrem WiFi-Namen und Passwort.

     Der wichtigste Teil der Konfiguration besteht darin, die Bild-URL aus dem Abschnitt "Renderbildschirm" von CALE in die Konfiguration zu kopieren.      Klicken Sie einfach auf die Bitmap-URL für den ESP32 , um alle auszuwählen, kopieren Sie sie in die screenUrl und machen Sie dasselbe mit dem Bearer-Token , wenn Sie einen privaten Bildschirm verwenden:
    // Keep in mind this screens need a JPG image response so make sure to select a TFT display in CALE.es
    char screenUrl[] = "http://img.cale.es/jpg/USERNAME/SCREEN_ID";

    // Security setting, leave empty *only* if your screen is public (Not recommended)
    String bearer = "";




Protokollierung der internen ESP32-IP-Adresse
     Standardmäßig protokolliert CALE die interne IP-Adresse, da dies für Statistiken und zum Identifizieren Ihrer Geräteimage-Anforderungen anhand der Administrations-Image-Anforderungen hilfreich sein kann. Wenn Sie dies aus irgendeinem Grund deaktivieren möchten, kommentieren Sie einfach diese Zeile in der Konfigurationsdatei:
#define ENABLE_INTERNAL_IP_LOG



Auswahl des richtigen Treibers für Ihr Display
Um den richtigen Treiber für die von Ihnen verwendete Anzeige auszuwählen, sollten Sie sich zunächst mit der Bodmer TFT_SPI-Bibliothek vertraut machen      und um Beschreibungen und Beispiele zu durchsuchen. Ich erwähne das, da nicht alle TFTs die gleichen Pins benötigen und sie ausreichen      Beispiele, aber ich kann nicht alle Konfigurationen abdecken, da ich nicht alle Anzeigen zum Testen habe.
     Bitte überprüfen Sie die Bodmer TFT drivers Liste und auswahlen die richtige TFT-Driver. Hier eine Beispiel Konfiguration mit ILI9341_DRIVER

GPIOs for the TFT SPI interface

Für diese Firmware haben wir sowohl den Anzeigetreiber als auch die SPI-Pins-Konfiguration mit build_flags durchgeführt      Plattformio.ini-Datei:
    ; DISPLAY_ROTATION: 0 & 2 Portrait. 1 & 3 landscape
build_flags =
  -DUSER_SETUP_LOADED=1
  -DILI9341_DRIVER=1
  -DTFT_WIDTH=240
  -DTFT_HEIGHT=320
  -DTFT_MOSI=23
  -DTFT_SCLK=18
  -DTFT_CS=32
  -DTFT_DC=27
  -DTFT_RST=5
  -DSPI_FREQUENCY=40000000
  -DDISPLAY_ROTATION=1
    
Beachten Sie bitte, dass USER_SETUP_LOADED die Bodmer TFT-Bibliothek anweist, diese Konfiguration zu verwenden und keine dateibasierte.