• .
  • Willkommen im Forum!
  • Alles beim Alten...
  • Du hast kaum etwas verpasst ;-)
  • Jetzt noch sicherer mit HTTPS
Hallo, Gast! Anmelden Registrieren


4.2" EPD E-Ink Display Wetter + Google Kalender per ESP8266 (Weifeng Wuxi Vision)
#1
In Fortsetzung des Beitrags:

https://stromrichter.org/showthread.php?...#pid313442





Hier also das 4.2" Panel an einem ESP8266 mittels Adapter.

Den unteren schwarzen Balken aktualisiere ich mit "partial refresh", das geht wesentlich schneller, ist allerdings nicht ganz sauber und wird mittels "Overdrive LUT" implementiert. Somit wird nicht garantiert, dass das Panel "ewig" hält, Waveshare gibt für seine Panels 1.000.000x Refresh oder 5 Jahre an.

   

   

   

(18.07.2018, 04:41 PM)christianw. schrieb: Die Platine kommt raus, man verwendet nur das Display. Bei dem hier vorliegenden musste noch die FFC-Buchse mit umgelötet werden, da die Kontatierung nicht passend war (Ober/Unterseite).

Der Adapter ist dieser:
https://www.ebay.de/itm/Waveshare-Univer...3095470508

Passt dann als HAT auf nen rPI oder mit Einzeladern z.B. an Arduino/ESP32/ESP8266. Kommunikation ist 4-Draht-SPI 3V3.

Ein kompletter Refresh dauert so 2 Sekunden. Partial Refresh geht auch, aber habe ich nocht nicht probiert. Hier ist allerdings nicht SPI der Flaschenhals (logisch?) sondern die Displaytechnologie.

Ohne basteln gibts da auch fertig im Set (400x300 4.3" Display):
https://www.ebay.de/itm/Waveshare-4-2-E-...2968226517

auch mit Rot als dritte Farbe:
https://www.ebay.de/itm/Waveshare-4-2-Fa...3684977147

Ohne Display als ESP8266 Adapter-Kombi gibt es noch:
https://www.ebay.de/itm/Waveshare-Univer...3319925320

An all diese Teile passen verschiedene Größen von Waveshare-Displays und sicher auch die kleineren Displays der Supermarkt-Tags.



Zitat:4.2" Display 400x300 EPD from Wuxi Vision Peak Technology "WF0402T8DCF1300E4" salvaged from a broken Samsung s-label electronic shelf label (E2X-ST-GM42001).

Data:
https://fccid.io/E2X-ST-GM42001/User-Man...al-2551386

Panel is connected via WaveShare HAT adapter to a Wemos D1 mini (clone) by 4-wire-spi.

Code is done in Arduino with GxEPD library for driving the panel. Panel is compatible with the WaveShare 4.2" BK model and also features partial refresh capability.

Weather infos are JSON parsed from openweathermap.net, Google calendar data is provided by google serverbased script which provides calendar data on https redirect with random key.

Layout:

Top left: actual weather conditions
Top right: weather forecast for +3/+6 hours

Bottom:
Google calendar appointments for the next 7 days, up to 4 entries shown

Footer: local time derived from UTC including daysaving. Also used to display status messages by partial refresh capability.
 
Reply
#2
cool !  Cool
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#3
Die Umrechnung von UTC auf CET/CEST (MESZ) ist ja wohl eine Krücke, ausgehend von NTP Unix-Time. o.O

Zusätzlich implementiert:
- Refreshintervall tageszeitabhängig, Nachts nur manuell
- Wenn im Kalendereintrag ein "!" vorkommt, wird ein WICHTIG-Icon zusätzlich neben dem Termin angezeigt
- WifiManager
 
Reply
#4
Von vormals 5mA "Ruhestrom" jetzt runter auf 100uA (all inkl.) - immerhin. Davon 20uA für das Panel 80uA das Wemos D1 mini board. Mit nem besseren LDO liessen sich da nochmal 15uA ziehen, macht aber dann nicht mehr den Löwenanteil an der Laufzeit aus, wenn das Board alle 15 Minuten nen Update bekommt und dabei 80mA zieht.

Laufzeit bei 30 Minuten Updateintervall für:

Iquiescent: 100uA
Irun: 100mA
trun: 13seconds
tsleep: 1800seconds
capbat: 2900mAh
batmargin: 20%

-> 118 Tage

OK.
 
Reply
#5
hm , 13 sec aktiv - das ist doch recht lange. was dauert so lang? ok, das Display braucht 2 sec zum Bild laden; aber der "Rest" ?
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#6
Warten.. Das Display macht seinen Refresh allein, da hat der Controller nichts mehr mit zu tun und ist bereits halb tot.

Ansonsten:
WiFi einschalten
SSID suchen
mit WiFi verbinden
IP/Gateway/Lease bekommen
NTP Server anfragen
Zeit auf CEST umkodieren
Verbindung zu openweathermap.net aufbauen
aktuelles Wetter holen
JSON parsen
Verbindung schliessen
Verbindung zu openweathermap.net aufbauen
Vorhersage Wetter holen
JSON parsen
Verbindung schliessen
HTTPS Stack initilisieren
mit Google API Server verbinden
SSL aushandeln
auf 302 redirect warten
Redirect parsen, neues Ziel anfragen
SSL aushandeln
Kalenderdaten abrufen
Verbindung schliessen
WiFi abschalten
------------------
Alle Daten aufbereiten zur Anzeige
Daten aufs Display
Warten bis Display fertig ist
Displayreset ziehen
Deep sleep

Der Erste Teil braucht so 80-100mA, der zweite Teil nur noch 25mA

Alles zusammen sind ca. 13 Sekunden. Die meiste Zeit geht für den Verbindungsaufbau zu de Servern drauf, die Google-Server sind da recht genügsam, da ist von 2 bis 10 Sekunden alles drin.
 
Reply
#7
Ich muss dazu sagen, dass der ESP8266 derzeit mit 160Mhz läuft. Bei 80Mhz ist die Stromaufnahme geringer.

Edit:

um Genau sein:
Code:
Free heap at sync end .. 21232
Fetching data is done now.
Powering down WiFi now!
Time since start in high power mode: 8086 milliseconds
Time since start in low power mode: 3882 milliseconds
 
Reply
#8
Mist! jetzt bin ich doch echt zum nächsten REWE gelatscht...wollte eigentlich eine schöne Braten-Sülze kaufen - da haben die doch glatt nur die blöden Papier-Preisschildchen  Rolleyes und Sülze war auch noch dazu aus  Rolleyes Rolleyes
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#9
Media Markt/Saturn fiele mir noch ein.
 
Reply
#10
(25.07.2018, 06:35 PM)christianw. schrieb: Media Markt/Saturn fiele mir noch ein.
War lange nicht mehr dort. Die haben jetzt auch Bratensülze?
...mit der Lizenz zum Löten!
 
Reply
#11
Aba sicha!
 
Reply
#12
Code:
*WM: AutoConnect
*WM: Connecting as wifi client...
*WM: Using last saved values, should be faster
*WM: Connection result:
*WM: 3
*WM: IP Address:
*WM: 192.168.178.49
Time since start until weather start: 3641 milliseconds
Time to get weather done: 166 milliseconds
Time used for google calendar sync: 2585 milliseconds
Time since start in high power mode: 6449 milliseconds
Next update in: 60 minutes.
Time since start in low power mode: 3871 milliseconds

Die WiFi Verbindung dauert doch recht lange mit dem Komfort des WiFi.Managers. Nimmt man die Minimalvariante mit "hart gesetzten" Werten für SSID/PW, kommt man auf 960ms "until weather start" runter, allerdings nur, wenn man Reconnects unter zwei Sekunden hat. Bei größerem Zeitintervall ist man auch wieder bei ca. 3.6s.

Die Zeit für den Low-Power-Mode kann ich nicht kürzen wegen dem Display-Refresh. Das Google sich soviel Zeit lässt, liegt an deren Server-Script.

Hmm, Hmm,...
 
Reply
#13
Jetzt auch mit Gehäuse:





Zitat:ESP-8266 controller
- 4.2" E-ink display
- inductive Q-Charge for battery
- 700mAh Lipo battery
- about 100 days uptime at 1 refresh/hour between 6.00am-10.00pm
- OTA capable
- Google calendar sync
- appointment priority decoder
- localisation
- NTP date/time with laylight-saving (summer-/wintertime)
- Openweathermap forecast data for 0/3/6hours
- all acrylic case
 
Reply
#14
Codebase:
https://github.com/doctormord/ESP8266_EP...e_Calendar
 
Reply
#15
(05.09.2018, 09:08 AM)christianw. schrieb: Jetzt auch mit Gehäuse:





Zitat:ESP-8266 controller
- 4.2" E-ink display
- inductive Q-Charge for battery
- 700mAh Lipo battery
- about 100 days uptime at 1 refresh/hour between 6.00am-10.00pm
- OTA capable
- Google calendar sync
- appointment priority decoder
- localisation
- NTP date/time with laylight-saving (summer-/wintertime)
- Openweathermap forecast data for 0/3/6hours
- all acrylic case

gediegen Cool
...mit der Lizenz zum Löten!
 
Reply
#16
Hallo Eine detaillierte Anleitung wäre Super .Zum Beispiel wie man den Google script erstellt und die Verkabelung des ESP8266 .
Bei mir ist er ständig am Aktualisieren
 
Reply
#17
Ich arbeite dran, deine Fragen kommen ganz nach oben.
 
Reply
#18
Ich habe die initiale Doku aktualisiert, guckst du hier:
https://github.com/doctormord/ESP8266_EP...e_Calendar
 
Reply
#19
Hallo das System funktioniert schon recht gut ich habe nur ein Problem dass es sich nach einer gewissen Zeit aufhängt und sich dann nicht mehr aktualisiert. Und ich musste auch in dem Code den  ESP. wdtDisable entfernen da das System sonst dauerhaft resettet
 
Reply
#20
Das er sich manchmal aufhängt habe ich auch schon bemerkt, passiert manchmal nach ein paar Tagen.. Bin leider noch nicht dahintergekommen warum, eigentlich sollte der Watchdog dann durchstarten, tut er aber nicht. Warum dein Code mit wdtDisable resettet ist allerdings unklar, kannst du mal DEBUG einschalten und Terminal schauen was der Resetgrund ist?
 
Reply