Skip to content

cultur98/ESP32_Vorrat

Repository files navigation

ESP32_Vorrat

Mit dieser Software kann man sich die Liste seiner Lebensmittelvorräte auf einem ePaper Display anzeigen lassen. Die Verwaltung der Lebensmittel erfolgt über die Android-App Vorrat oder in einer Google Tabelle.

Vorrat App

Angezeigt werden alle Vorräte, die ein MHD enthalten, die bereits abgelaufen sind oder bald (mit konfigurierbarer Tagesanzahl) ablaufen werden.

Wenn eine Batterie angeschlossen ist, kann der Controller zu bestimmten Zeiten geweckt werden, um die Anzeige aktualisieren.

Unterstützte Displays

LilyGo T5 2.7" LilyGo T5 2.9" LilyGo T5 4.7"
LilyGo T5 2.7 LilyGo T5 2.9 LilyGo T5 4.7

Die unterstützen ESP32 Boadrs mit ePaper Display werden im folgenden kurz ESP genannt.

Funktion der Tasten

ESP32_Vorrat

Taste während des Starts im Betrieb
vor Online Update durchführen (nur Vorrat Version) eine Seite weiter blättern
zurück Konfiguration bei verbundenem WLAN anzeigen eine Seite zurück blättern
vor & zurück in den AP Modus wechseln und Verbindungsdaten anzeigen (keine)
Wecken weckt den ESP (keine)
Reset Neustart Neustart

Anmerkung:
Im Betrieb funktioniert das Blättern nur, wenn die Liste bereits vollständig aufgebaut wurde.
Das dauert bei den 2.x" Displays ein paar Sekunden länger, als man Änderungen im Display wahrnehmen kann.

Gehäuse für den 3D-Druck
Im Unterordner stl befinden sich Daten für den 3D-Druck der Gehäuse.
Die Displays der 2.7" Variante sind unsauber verklebt.
Bei jedem ESP sitzt die Anzeige mehr oder weniger schief auf der Platine (s.o.).
Daher muss bei der 2.7" Variante das Fenster an den jeweiligen ESP angeapsst werden.

Konfiguration der Software

Wird die Software das erste mal gestartet, muss zunächst eine Verbindung zu einem WLAN hergestellt werden. Durch die Nutzung des ESP32_WiFiManagers wird auf dem ESP ein WiFi Access Point gestartet, auf dem man sich z.B. mit einem Smartphone verbinden kann.

Der Name des Access Points beginnt mit "VORRAT" gefolgt durch die MACID des ESPs.

Ist der ESP mit dem WLAN verbunden kann man per Browser die Konfiguration vornehmen.

Einstellungen per Webschnittstelle

Bildschirmausrichtung
hochkant oder quer.

Anmerkung:
Das LilyGo 4.7" Display funktioniert nur im Querformat.

Vorrat ID
Die Gruppen-Zugriffscode aus der Vorrat-App.
Diesen findet man findet in der App unter
Grundmenü -> Gruppe -> Menü -> Datensicherung -> Gruppen-Zugriffscode.
Der Code wird dort angezeigt und gleichzeitig in den Zwischenspeicher geschrieben.
So kann man ihn einfach mit Paste in die Webschnittstelle übertragen.

Gruppenzugriffscode

Google API Key
Kann man in seinem Google Account konfigurieren.

Google Sheet ID
Die ID der Tabelle.
Die Tabelle muss diesen Aufbau haben:

Google Tabelle

Die erste Spalte enthält den Produktnamen, die zweite den Lagerort und die dritte das Mindesthaltbarkeitsdatum.
Der Inhalt der Kopfzeile wird nicht eingelesen.

Anmerkung:
Der ESP zeigt nur die Produkte aus einer Quelle an.
Hat man sowohl die Vorrat ID angegeben als auch gültige Daten für die Google Tabelle hinterlegt, dann werden die Produkte aus der Vorrat-App angezeigt.

Lagerorte
Hier kann die Anzeige nach angegebenen Lagerorten gefiltert werden. Ist das Feld leer, dann werden alle Produkte eingelesen.
Mehrere Lagerorte können durch ein Semikolon (ohne anschließendes Leerzeichen!) getrennt werden.
Damit kann man erreichen, dass ein ESP z.B. nur den Inhalt des Kühlschranks oder des Gefrierfachs anzeigt.

MHD Warnzeit (Tage)
Vorwarnzeit in Tagen, ab wann die Produkte in hervorgehobener Schrift angezeigt werden.

Sprache
Derzeit Deutsch oder Englsich.

Zeitzone
Derzeit Mitteleuropäische Zeit oder Mitteleuropäische Sommerzeit.

Weckzeit # [hh:mm]
Bis zu drei Zeiten, zu denen der ESP startet und den Inhalt der Anzeige aktualisiert.

Die weiteren Optionen dienen der individuellen Anpassung des Layouts. Die jeweiligen Maße sind in diesem Bild dagestellt.

Alle geometrischen Größen werden in Pixeln eingegeben.

Screen Parameter

Batteriezustand
Der ESP mit dem 4.7" Display hat eine integrierte Messung des Batteriezustands.
Die 2.7" und 2.9" Variante haben diese nicht.
Hier kann man die Anzeige des Batteriezustands verhindern,
wenn man bei der Option Abstand Batteriezustand eine 0 einträgt.

Nachrüsten der Messung des Batteriezustands

Mit einem einfachen Spannungsteiler bestehend aus zwei 100k Widerständen und einem Kondensator lässt sich die Messung des Batteriezustands einfach nachrüsten.
Dies führt zu einer Erhöhung des Ruhestroms im Deep Sleep Modus um ca. 10%.
Im Fall der ESP 2.7" Variante steigt der Ruhestom mit Spannungsteiler von 364µA auf 404µA.

LilyGo T5 2.7 LilyGo T5 2.9

Update
Für jedes Display gibt es zwei Varianten der Software.

  • Eine die nur mit der Vorrat-App funktioniert. Diese Version ermöglicht Online Updates.

  • Eine Entwicklerversion, die sowohl die Vorrat-App oder eine Google-Tabelle als Datenquelle nutzt.

Timeouts

Bei Inaktivität wechselt der ESP in den stromsparenden Deep Sleep Modus, was einen Betrieb mit einem Akku ermöglicht.
Alle unterstützten ESPs bieten die Möglichkeit einen Lithium-Polymer-Akku anzuschließen.

Aufwecken per Timer
Wenn der ESP per Timer geweckt wurde, geht er 30 Sekunden nach der Anzeige der Vorräte in den Deep Sleep Modus.
In diesem Zeitraum kann man beispielsweise umblättern.

Umblättern
Nach dem Umblättern geht der ESP nach 60 Sekunden in den Deep Sleep Modus.
Blättert man noch einmal um, wird der Timeout wieder auf 60 Sekunden gesetzt.

Konfiguration oder Wechsel in den AP Modus
Wählt man beim Start "Anzeige der Konfiguration" oder "Wechsel in den AP Modus" aus,
dann geht der ESP 5 Minuten nach Inaktivität in den Deep Sleep Modus.

Dies gilt auch für einen frisch programmiern und noch nicht konfigurierten ESP.

Konfiguration für Platform IO

In der Datei platformio.ini kann die Konfiguration für den verwendeten ESP gewählt werdeb.
Mit den Optionen lilygo21, lilygo27, lilygo29 und lilygo47 wird die Software für die Verwaltung der Lebensmittel mit der Vorrat-App erstellt.
Diese Versionen können per Online-Update aktualisiert werden.

Mit den Optionen lilygo21dev, lilygo27dev, lilygo29dev und lilygo47dev wird die Software für die Verwaltung der Lebensmittel mit der Vorrat-App oder einer Google-Tabelle erstellt.
Bei diesen Versionen ist kein Online-Update möglich.

Danke!

Ohne zahlreiche Anregungen und Beiträge wäre dieses Projekt nie zustande gekommen.

Besonderer Dank gilt Rainard Buchmann, dem Entwickler der großartigen Vorrat-App. Er hat das Projekt von Anfang an unterstützt und sofort eine Schnittstelle zu den Vorräten entwickelt.
Mit viel Leidenschaft und Sachverstand hat er viele nützliche Funktionen angeregt und zahlreiche Fehler gefunden.
Die 3D-Gehäuse wurden auch von ihm entwickelt.

In der Datei wifiman.cpp wird eine angepasste Version des Programms ESP32_FSWebServer_DRD.ino des ESP_WiFimanagers von Khoi Hoang genutzt.

Die Webschnittstelle zum Konfigurieren der Software basiert auf Gerald Lechners WebConfig. Eine sehr gute Grundlage, die ich mit wenigen Änderungen an meine Bedürfnisse anpassen konnte.

Die verfügbaren Treiber für die unterstützten Displays waren einfach zu integrieren.
Daher Dank an olikraus, ZinggJM und LilyGo.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published