Raspberry Fehlerbericht

Als erweiterung der bestehenden Anwendungen des Raspberry Pi hatten wir geplant eine Weiterleitung eines Befhels vom teXXmo IoT-Button zum Raspberry zu verwirklichen, sodass dieses dann eine Sammlung an Temperaturwerten an Azure weitergibt und von dort per Mail an den Nutzer schicken kann.

Das grundlegende Problem

Um eine Nachricht an das Raspberry zu schicken wollen wir eine Logic App triggern, wenn die Nachricht vom IoT-Button ankommt, diese sollte dann eine C2D Nachricht an den Raspberry schicken, sodass dieser darauf reagieren kann. Bei der bearbeitung dieses Vorgangs mussten wir feststellen, das in der großen Liste an Ereignissen, die wir durch eine Logic App auslösen können das versenden von Azure-IoT-C2D Nachrichten nicht vorhanden ist. Nach einiger recherche mussten wir feststellen, dass es mit einer einfachen Logic App nicht zu verwirklichen ist.

Erste Lösungsidee

Um Herr des Problems zu werden entschieden wir uns dazu, dass wir zum nächst komplexeren Schritt gehen müssen und versuchten eine Function App dafür zu schreiben, da diese für wesentlich komplexere Zusammenhänge geignet ist. Auf der Suche nach einer Lösung sind wir auch auf Code für eine Function App gestoßen, die tatsächlich C2D Nachrichten verschickt, leider nutzt diese die ID der Trigger-Nachricht als Adresse, sodass wir nur eine Antwort an den IoT-Button erzeugen konnten.

Der Versuch die ID in einer angelegten Variable zu deklarieren war leider nicht von erfolg gekrönt, da die ID möglichweweise in einem speziellen uns unbekannten Vormat vorliegen muss.

Mögliche Lösungsansätze für die Zukunft

Weitere Recherchen zur Empfänger ID um diese künstlich ins passende Format zu bringen könnten zum Erfolg führen, Eine weitere Idee wäre ein Work-Around mit einer Hochgelanden Exel Datei, in die vom Raspberry immer die aktuellen Werte eingetragen werden, sodass man von einer anderen Funktion unabhängig vom Raspberry darauf zugreifen kann.

Im Rahmen des Projekts konnten wir diese jedoh nicht mehr verwirklichen, da das Problem erst im späten Stadium bemerkt wurde.