Guten Tag Arduino Community,
vor einigen Tagen hatte ich ein Topic am laufen, bei dem es um ein Problem mit einem ESP-01s Board ging. Lange Rede kurzer Sinn, das Problem konnte leider nicht behoben werden und ich musste das Board zurücksenden.
Da ich das Thema ESP natürlich nicht aufgegeben habe, habe ich mir weiter Gedanken gemacht und noch einmal reflektiert was ich überhaupt vorhabe.
Ich möchte mit einem batteriebetriebenen ESP einen Sensor abfragen und die daraus erhalten Daten an eine beliebige Schnittstelle weitergeben (z.B. MQTT). Anschließend soll der ESP in den Deep-Sleep Modus gehen um Strom zu sparen und nach etwa 30 Minuten wieder aufwachen und die Abfrage erneut starten. Zudem soll der Ladezustand der Batterie abgefragt werden und bei einer fast leeren Batterie warnen das diese geladen bzw. ausgetauscht werden muss. Zusammengefasst sieht das so aus:
- ESP startet
- stellt Verbindung mit WLAN her
- verbindet sich mit Schnittstelle
- fragt Sensordaten ab
- sendet Sensordaten an Schnittstelle
- fragt Batteriestatus ab
- wenn Batterie schwach Warnung über Schnittstelle
- ESP geht für 30 Minuten in Deep-Sleep Modus
- ESP wacht nach 30 Minuten auf und durchläuft Schleife wieder
Zudem soll das ganz Projekt sehr klein und schmal bleiben das in ein kleines Case zu bekommen ist.
Nach einigen Recherchen hab ich folgenden Dinge zusammengesucht, welche für die Umsetzung eines solchen Projekts von Nöten wären:
- Natürlich ESP8266EX als Wifi-Chip
- Spannungsversorgung über einen 3,7V LiIon Akku (18650)
- Akku-Ladeboard mit Über- und Unterladeschutz auf Basis von TP4056 und DW01
- AMS1117-3.3 als Spannungsregler von 3,7V auf 3,3V
- CP2102 als USB to UART Chip für das programmieren des ESP über USB
- W25Q32FVSSIG als 4MB Flash zum speichern der Programme und ermöglichen von OTA-Programmierung
Ich könnte nun folgenden Weg gehen. Ich kaufe einen ESP beispielsweise wieder einen ESP-01 oder auch ein NodeMCU Board und füge dieses mit dem Lademodul und dem Akku zusammen. Da ich gerne das Projekt so klein wie möglich halten möchte, und daher auf das zusammenfügen von mehreren Boards verzichten möchte, bin ich auf den Gedanken gekommen ein eigenes ESP-Board zu entwickeln was letztendlich alle Komponenten vereint.
Herausgekommen ist das:
Wie schon kurz angedeutet habe ich hauptsächlich die Bauteile des Lademodul Boards und eines ESP-01s Boards miteinander verbunden und einige Anpassungen gemacht wie z.B. einen Reset und Programm Switch hinzugefügt, die I2C Schnittstelle herausgeführt um bei Bedarf ein LCD Display anzusteuern (auch wenn das natürlich erheblich die Akkulaufzeit beeinträchtigt) und 5 GPIOS zum ansteuern.
Meine Hauptquellen waren die oben verlinkten Datenblätter sowie folgende Verweise:
ESP-01s Datenblatt
http://www.liot.io/hardware/planning/
Batterie Lademodul
Zum Erstellen der Schemen habe ich EasyEDA genutzt.
Soweit habe ich mit meiner Konstruktion schon ein gutes Gefühl. Ich würde mich aber über Feedback sowie Verbesserungsvorschläge oder Fehlerausmerzungen freuen.
Vor allem brauch ich noch einen heißen Tipp wie ich den Ladezustand des Akkus abfragen kann.
Unsicher bin ich mir auch noch bei der Schaltung des CP2102 und dem damit verbunden Rest und Programmswitch. Hier würde ich mich auch über ein Feedback freuen.
Vielen Dank für eure Unterstützung