{"id":785,"date":"2023-06-14T08:59:51","date_gmt":"2023-06-14T06:59:51","guid":{"rendered":"https:\/\/www.iot-embedded.de\/iot-2023\/?p=785"},"modified":"2023-06-14T09:00:30","modified_gmt":"2023-06-14T07:00:30","slug":"erfassung-und-visualisierung-von-messdaten","status":"publish","type":"post","link":"https:\/\/www.iot-embedded.de\/iot-2023\/2023\/06\/14\/erfassung-und-visualisierung-von-messdaten\/","title":{"rendered":"Erfassung und Visualisierung von Messdaten"},"content":{"rendered":"\n<p>Nachdem der ESP32 so weit war, dass Nachrichten mit den Messwerten der W\u00e4gezelle verschickt werden k\u00f6nnen, wurde eine Postgresql Datenbank erstellt, in der die gemessen Daten gesammelt werden k\u00f6nnen.<\/p>\n\n\n\n<p>Daf\u00fcr wurde eine Tabelle &#8217;sensor_data&#8216; mit f\u00fcnf Spalten(ID, creation_date, user_id, type, data) angelegt in der die Daten eingef\u00fcgt werden k\u00f6nnen. Die Spalte ID ist der primary key und wird automatisch einef\u00fcgt und inkrementiert. Der akutuelle Zeitstempel wird in creation_date eingef\u00fcgt 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\u00dferdem das aktuelle Gewicht des Napfes in Gramm.<\/p>\n\n\n\n<p>F\u00fcr die Kommunikation zwischen Hardware und Backend wurde HiveMQ gew\u00e4hlt. HiveMQ ist eine MQTT-Broker-Software, die eine effiziente und zuverl\u00e4ssige Kommunikation zwischen vernetzten Ger\u00e4ten erm\u00f6glicht.<\/p>\n\n\n\n<p>Es fungiert als zentraler Vermittler f\u00fcr die MQTT-Kommunikation und erm\u00f6glicht das Ver\u00f6ffentlichen und Abonnieren von Nachrichten mithilfe von topics. In unserem Fall ver\u00f6ffentlicht der ESP32 die Messwerte auf dem topic, welches mithilfe eines Python-Skripts abonniert wurde: &#8217;sensor\/data23&#8242;.<\/p>\n\n\n\n<p>Durch das Skript wird eine Verbindung zwischen der Datenbank und HiveMQ hergestellt. Das topic &#8217;sensor\/data23&#8242; wird abonniert, um so alle Daten, die auf diesem topic ver\u00f6ffentlicht werden sammeln und in die Datenbank schreiben zu k\u00f6nnen.<\/p>\n\n\n\n<p>Durch diese Schritte sind die angefallenen Daten in der Datenbank gesichert und k\u00f6nnen im Frontend f\u00fcr den Benutzer visuell dargestellt werden.<\/p>\n\n\n\n<p>bearbeitet von: Jonas Brand &amp; Sara Jovanovic<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nachdem der ESP32 so weit war, dass Nachrichten mit den Messwerten der W\u00e4gezelle verschickt werden k\u00f6nnen, wurde eine Postgresql Datenbank erstellt, in der die gemessen Daten gesammelt werden k\u00f6nnen. Daf\u00fcr wurde eine Tabelle &#8217;sensor_data&#8216; mit f\u00fcnf Spalten(ID, creation_date, user_id, type,<\/p>\n","protected":false},"author":33,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/posts\/785"}],"collection":[{"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/comments?post=785"}],"version-history":[{"count":4,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/posts\/785\/revisions"}],"predecessor-version":[{"id":789,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/posts\/785\/revisions\/789"}],"wp:attachment":[{"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/media?parent=785"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/categories?post=785"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/tags?post=785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}