Wie bisher schon bekannt ist, wird eine Wägezelle in Kombination mit einem ESP32 verwendet, um den Futternapf an sich, in ein smartes Device zu verwandeln. In diesem Post soll auf die technische Umsetzung seitens des Futternapfes eingegangen werden.
Aktueller Zustand:
Aus Sicht eines Users, wird damit gestartet, den Napf mit Strom zu versorgen. Hierzu reicht es aus, den ESP32 per Kabel (Micro-USB zu USB) und einem entsprechenden Netzteil zu verbinden. Folgend spannt der ESP32 ein WLAN-Netzwerk auf und startet einen Webserver in diesem Netzwerk. Ein User muss sich mit einem geeigneten Gerät mit diesem WLAN verbinden und dann die IP-Adresse des ESP32 aufrufen, um auf die Oberfläche des Webservers zu gelangen. Hier erfolgt die Eingabe von den WIFI-Credentials (SSID und Passwort) des eigenen Netzwerks, um dem ESP32 eine Internetverbindung zu ermöglichen. Des Weiteren müssen Username und Passwort des Useraccounts in Verbindung mit der entsprechenden Napf-ID eingegeben werden, um den Napf einem User richtig zuordnen zu können.
Diese Eingabe wird durch Beschreiben des Flash-Speichers des ESP32 auch über das Ausschalten des Gerätes hinaus gespeichert, damit ein User nicht nach jedem Neustart alle Eingaben erneut tätigen muss.
Auf die Eingabe oder einen Neustart erfolgt zunächst die Verbindung mit dem Internet. Zunächst wird der User mithilfe der eingegebenen Accountdaten durch einen API-Call authentifiziert. Nur wenn der User existiert und einen Napf passend zur eingegebenen Napf-ID registriert ist, kann die Anwendung sinnvoll weiterlaufen.
Gelingt die Authentifizierung, kann eine Verbindung zum MQTT-Broker aufgebaut werden. Die MQTT-Verbindung wird genutzt, um Messwerte zu sinnvollen Zeitpunkten zu versenden. Die Messwerte wiederum stammen von der Wägezelle, deren analoger Input durch einen HX711 Analog/Digital-Wandler umgewandelt und über zwei GPIO-Pins am ESP32 ausgelesen wird.

Anstehende Erweiterungen:
Zunächst muss ein Konzept entwickelt werden, wie und wann der User Informationen zur WLAN-Verbindung und seinen Accountdaten ändern kann. Zwar kann immer wieder das WLAN und der Webserver des ESP32 gestartet werden, wenn eine WLAN-Verbindung oder die Authentifizierung fehlschlägt, jedoch wäre es deutlich besser, wenn der User selbst kontrollieren könnte, wann er eine neue Eingabe tätigen möchte.
Darüber hinaus muss bezüglich der MQTT-Nutzung über ein entsprechendes Sicherheitskonzept nachgedacht werden. Aktuell existiert für alle Näpfe eine Topic, in die die Näpfe publishen und auf die das Backend subscribed. Hier muss geprüft werden, ob der Betrieb in dieser Form trotzdem sicher gegenüber Angreifern und Manipulationsversuchen ist.

Von Lukas Melcher und Lukas Ortkamp.

Technische Seite unseres IoT-Devices „Futternapf“
Markiert in:

Schreibe einen Kommentar