Ich hatte noch einen ESP8266 herumliegen, der seinen Einsatzzweck suchte. Also musste eine Projektidee her. Irgendwas mit IoT: immer gut. Akkubetrieben: sollte es schon sein. Telegram-Anbindung: immer doch! Also ab an die Planung.

Idee

Eine Art SmartButton, der auf Knopfdruck eine Nachricht an einen Nutzer sendet, ähnlich einer Klingel.

Umsetzung

Die benötigten Materialien umfassen:

Der Grundaufbau musste natürlich erst einmal auf einem Breadboard getestet werden.

Grober Test-Aufbau

Grober Test-Aufbau

Der ESP bootet. Soweit so gut, nun zum spaßigen Teil…

Programmierung

Ich lasse im Normalfall meinen Code für sich sprechen, aber kurz zur Funktionsweise:

Der ESP ist als Client im lokalen WiFi-Netz angemeldet und kann per ESP8266TelegramBOT library Telegram Nachrichten senden und empfangen. Er prüft alle 15 Sekunden, ob er neue Nachrichten empfangen hat (z.B. /status, o.ä.) und reagiert auf diese. Auf Knopfdruck sendet er eine vordefinierte Nachricht an einen vordefinierten Telegram-Chat (egal ob Gruppe, oder Einzelperson). Wenn die Versorgungsspannung unter eine bestimmte Schwelle fällt wird auch eine Telegram-Nachricht versandt, damit der Akku rechtzeitig wieder aufgeladen werden kann.

Da das ESP-01 Modul allerdings aufgrund einer Hardware-Beschränkung nicht in den „Deep Sleep“-Modus wechseln kann und dies in unserem Falle auch nicht gewünscht ist, da er auf Nachrichten reagieren muss, bzw. selbst welche versendet, benötigt der ESP im idle 20-30mA und der 2600mAh 18650 Li-Ion Akku hält somit nur wenige Tage durch.

ESP8266 ESP-01

Deep-Sleep-Mod

Wenn man die Funktionalität nun auf das Mindeste beschränken würde und nur aufwacht wenn der Knopf gedrückt wird, den ESP mit einer Hardware-Modifikation versehen würde, damit er in den Deep Sleep wechseln kann und einen 3,3V Spannungsregler mit sehr niedrigem Ruhestrom verwenden würde (deutlich niedriger als die ca. 3mA des 1117), dann ist eine Akkulaufzeit von mehreren Monaten durchaus möglich.

Nachdem der Code nun auf dem Breadboard-Aufbau einwandfrei funktionierte, natürlich erst nach dem Fixen einiger Bugs, ging es nun darum, den Aufbau permanent zu machen.

Hardware

Als Gehäuse dient eine alte Verpackungs-Schachtel für irgendwas Kleines.

Innenleben von IoT in a Box

Innenleben von IoT in a Box

Zuerst habe ich alles provisorisch eingepasst, danach die Aussparungen in die Schachtel geschnitten / gestochen und die Einzelteile verkabelt und verlötet. Zum Schluss habe ich noch alle Bauteile hochprofessionell mit Heißkleber fixiert.

Und somit war dieses Projekt auch vollendet.

Wie immer steht der Quellcode auf meinem GitHub Account zur Verfügung.

ESP8266_SmartButton_Outside

Vollendete IoT Box

Edit: Hier geht es zu Part 2