In einem der letzten Blogbeiträge wurde bereits die erfolgreiche Anbindung eines Temperatursensors an den zugehörigen Raspberry erwähnt. Inzwischen konnten wir unsere Entwicklung in diesem Bereich finalisieren, sodass nun zuverlässig Messergebnisse erhoben und diese per MQTT an unser Haupt-Device versendet werden können.

Hardwareaufbau
Für die Durchführung der Messungen verwenden wir den kombinierten Temperatur- und Feuchtigkeitssensor des uns zur Verfügung gestellten Sensorkits. Die hardwareseitige Anbindung an den Raspberry Pi erfolgt über das Breadboard mit drei Kabeln (3V, GND, GPIO). Zwei Geräte mit dazugehörigem Sensor haben wir für die erste Phase unserer intelligenten Heizung identisch verkabelt.

Einrichtung des Devices
Die beiden Raspberry-Geräte wurden mit der Balena Cloud in bekannter Vorgehensweise eingerichtet. Da sie von verschiedenen Teammitgliedern jeweils von zuhause betrieben werden, haben wir die den Geräten übergeordnete Fleet für mehrere Nutzer freigegeben. Bei der Erstellung des balena-Betriebssysteme mussten wir bereits darauf achten, WLAN-Verbindungsdaten zu hinterlegen, die die schlussendliche Präsentation an der DHBW ermöglichen.

Programmlogik
Für die Abfrage von Messwerten sowie die Versendung wird die zur Verfügung gestellte Beispielarchitektur genutzt. Sie wurde auf das nötigste reduziert um unser Ziel, den Umfang der Sensor-Devices möglichst gering zu halten, zu erfüllen. So wurden alle nicht benötigten Komponenten wie beispielsweise Logiken für 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ührt.

Die Versendung per MQTT basiert zum größten Teil auf den bereits in der Beispielarchitektur enthaltenen Elementen. Selbstverständlich 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ät 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ßend korrekt weiterverarbeitet werden können. Auch das gewünschte Messintervall lässt sich für jeden Sensor individuell in der Cloud einstellen, ohne Änderungen am Quellcode vornehmen zu müssen.

Mit den in den vergangenen Tagen getroffenen Erweiterungen ist der erste Teil unseres Datenflusses von Sensoren über Haupt-Device mit Speicherung und Heiz-Algorithmus zum schlussendlichen Aktor Heizungsventil vollständig.

Finale Sensoranbindung und Versand mittels MQTT

Ein Kommentar zu „Finale Sensoranbindung und Versand mittels MQTT

Schreibe einen Kommentar