{"id":737,"date":"2023-06-05T14:28:26","date_gmt":"2023-06-05T12:28:26","guid":{"rendered":"https:\/\/www.iot-embedded.de\/iot-2023\/?p=737"},"modified":"2023-06-05T14:29:07","modified_gmt":"2023-06-05T12:29:07","slug":"finale-sensoranbindung-und-versand-mittels-mqtt","status":"publish","type":"post","link":"https:\/\/www.iot-embedded.de\/iot-2023\/2023\/06\/05\/finale-sensoranbindung-und-versand-mittels-mqtt\/","title":{"rendered":"Finale Sensoranbindung und Versand mittels MQTT"},"content":{"rendered":"\n<p class=\"has-black-color has-text-color\">In einem der letzten Blogbeitr\u00e4ge wurde bereits die erfolgreiche Anbindung eines Temperatursensors an den zugeh\u00f6rigen Raspberry erw\u00e4hnt. Inzwischen konnten wir unsere Entwicklung in diesem Bereich finalisieren, sodass nun zuverl\u00e4ssig Messergebnisse erhoben und diese per MQTT an unser Haupt-Device versendet werden k\u00f6nnen.<\/p>\n\n\n\n<p class=\"has-black-color has-text-color\"><strong>Hardwareaufbau<\/strong><br>F\u00fcr die Durchf\u00fchrung der Messungen verwenden wir den kombinierten Temperatur- und Feuchtigkeitssensor des uns zur Verf\u00fcgung gestellten Sensorkits. Die hardwareseitige Anbindung an den Raspberry Pi erfolgt \u00fcber das Breadboard mit drei Kabeln (3V, GND, GPIO). Zwei Ger\u00e4te mit dazugeh\u00f6rigem Sensor haben wir f\u00fcr die erste Phase unserer intelligenten Heizung identisch verkabelt.<\/p>\n\n\n\n<p class=\"has-black-color has-text-color\"><strong>Einrichtung des Devices<\/strong><br>Die beiden Raspberry-Ger\u00e4te wurden mit der Balena Cloud in bekannter Vorgehensweise eingerichtet. Da sie von verschiedenen Teammitgliedern jeweils von zuhause betrieben werden, haben wir die den Ger\u00e4ten \u00fcbergeordnete Fleet f\u00fcr mehrere Nutzer freigegeben. Bei der Erstellung des balena-Betriebssysteme mussten wir bereits darauf achten, WLAN-Verbindungsdaten zu hinterlegen, die die schlussendliche Pr\u00e4sentation an der DHBW erm\u00f6glichen.<\/p>\n\n\n\n<p class=\"has-black-color has-text-color\"><strong>Programmlogik<\/strong><br>F\u00fcr die Abfrage von Messwerten sowie die Versendung wird die zur Verf\u00fcgung gestellte Beispielarchitektur genutzt. Sie wurde auf das n\u00f6tigste reduziert um unser Ziel, den Umfang der Sensor-Devices m\u00f6glichst gering zu halten, zu erf\u00fcllen. So wurden alle nicht ben\u00f6tigten Komponenten wie beispielsweise Logiken f\u00fcr einen Start-Button oder das Grafana-Dashboard entfernt. Die eigentliche Abfrage der Messwerte wurde umstrukturiert bzw. neu erstellt. Technisch bedingt kommt es beim genutzten Sensor gelegentlich zu Fehlern. Diese werden durch die erstellte Programmlogik abgefangen und umgehend eine erneute Abfrage durchgef\u00fchrt.<\/p>\n\n\n\n<p class=\"has-black-color has-text-color\">Die Versendung per MQTT basiert zum gr\u00f6\u00dften Teil auf den bereits in der Beispielarchitektur enthaltenen Elementen. Selbstverst\u00e4ndlich wurden die einzustellenden Parameter wie beispielsweise das zum Versenden genutzte Topic auf unser Projekt angepasst. Eingebunden wurde zudem eine in der Balena-Cloud festlegbare Sensor-ID, mit der das jeweilige Ger\u00e4t bzw. der hiermit verbundene Sensor identifiziert werden kann. Diese ID wird in der MQTT-Nachricht gemeinsam mit den Messergebnissen versendet, sodass jene dem jeweiligen Raum und entsprechenden Sensor zugeordnet und anschlie\u00dfend korrekt weiterverarbeitet werden k\u00f6nnen. Auch das gew\u00fcnschte Messintervall l\u00e4sst sich f\u00fcr jeden Sensor individuell in der Cloud einstellen, ohne \u00c4nderungen am Quellcode vornehmen zu m\u00fcssen.<br><br>Mit den in den vergangenen Tagen getroffenen Erweiterungen ist der erste Teil unseres Datenflusses von Sensoren \u00fcber Haupt-Device mit Speicherung und Heiz-Algorithmus zum schlussendlichen Aktor Heizungsventil vollst\u00e4ndig. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>In einem der letzten Blogbeitr\u00e4ge wurde bereits die erfolgreiche Anbindung eines Temperatursensors an den zugeh\u00f6rigen Raspberry erw\u00e4hnt. Inzwischen konnten wir unsere Entwicklung in diesem Bereich finalisieren, sodass nun zuverl\u00e4ssig Messergebnisse erhoben und diese per MQTT an unser Haupt-Device versendet werden<\/p>\n","protected":false},"author":28,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[],"_links":{"self":[{"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/posts\/737"}],"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\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/comments?post=737"}],"version-history":[{"count":1,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/posts\/737\/revisions"}],"predecessor-version":[{"id":740,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/posts\/737\/revisions\/740"}],"wp:attachment":[{"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/media?parent=737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/categories?post=737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/tags?post=737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}