Nachdem der ESP32 so weit war, dass Nachrichten mit den Messwerten der Wägezelle verschickt werden können, wurde eine Postgresql Datenbank erstellt, in der die gemessen Daten gesammelt werden können.

Dafür wurde eine Tabelle ’sensor_data‘ mit fünf Spalten(ID, creation_date, user_id, type, data) angelegt in der die Daten eingefügt werden können. Die Spalte ID ist der primary key und wird automatisch einefügt und inkrementiert. Der akutuelle Zeitstempel wird in creation_date eingefügt und die letzen drei Spalten werden von dem ESP32 gesendet. Darunter sind die einmalige user_id des Benutzers, der Typ des Napfes (Wasser- oder Futternapf) und außerdem das aktuelle Gewicht des Napfes in Gramm.

Für die Kommunikation zwischen Hardware und Backend wurde HiveMQ gewählt. HiveMQ ist eine MQTT-Broker-Software, die eine effiziente und zuverlässige Kommunikation zwischen vernetzten Geräten ermöglicht.

Es fungiert als zentraler Vermittler für die MQTT-Kommunikation und ermöglicht das Veröffentlichen und Abonnieren von Nachrichten mithilfe von topics. In unserem Fall veröffentlicht der ESP32 die Messwerte auf dem topic, welches mithilfe eines Python-Skripts abonniert wurde: ’sensor/data23′.

Durch das Skript wird eine Verbindung zwischen der Datenbank und HiveMQ hergestellt. Das topic ’sensor/data23′ wird abonniert, um so alle Daten, die auf diesem topic veröffentlicht werden sammeln und in die Datenbank schreiben zu können.

Durch diese Schritte sind die angefallenen Daten in der Datenbank gesichert und können im Frontend für den Benutzer visuell dargestellt werden.

bearbeitet von: Jonas Brand & Sara Jovanovic

Erfassung und Visualisierung von Messdaten

Ein Kommentar zu „Erfassung und Visualisierung von Messdaten

  • 18. Juni 2023 um 11:37 Uhr
    Permalink

    Senden alle ESP32 (wenn es mehrere Kunden oder mehrere Tiere für einen Kunden gibt) an dasselbe Topic? Oder könnten Sie zumindest je Kunde ein eigenes Topic verwenden? Ich frage, weil der Broker sonst sicherstellen müsste, dass ein ESP32 an das Topic nur senden, es aus Datenschutzgründen aber nicht abonnieren dürfte. 🙂

Schreibe einen Kommentar