Kategorien
Allgemein Feinstaub Umweltdaten v.3 Migration

v.3 Stack „decodeUplink.js“ Funktion für senseBox:home

[JN] Ein weiterer Meilenstein in unserem Fahrplan zum Umzug in den v.3 Stack wurde erreicht – seit dem 14. Mai läuft die LoRa-senseBox:home im neuen v.3 Stack. Dazu musste nicht nur die Box von Daniel nochmals vom Dach geholt werden (was jedes Mal das abdecken einiger Ziegel bedeutet), sondern auch der Programmcode neu auf die MCU geschrieben werden. Mit diesem Erfolg sind nun alle unsere Sensoren und Geräte, die im gesamten Projekt „Smartvillage Happerschoß“ laufen, bereits im Frühling in den neuen v.3 Stack umgezogen.

Nach einigen Fehlschlägen mit dem Versuch, die Box nur durch kopieren der Keys und Daten umzuziehen, entschieden wir uns für das vollständige programmieren der Einheit. Dazu gehört nun auch ein neuer Payload-Decoder, um die Daten, die wir über das LoRa Netzwerk senden, in der Konsole wieder lesbar zu machen. Mit der Unterstützung von Caspar (dasdigidings e.V.) wurde der alte Decoder umgearbeitet. Wir bieten nun die Möglichkeit mit dem neuen Dekoder folgende Variante (volle Ausbaustufe) zu lesen:

  • senseBox-MCU mit LoRa-Bee
    • Temperatur- und Luftfeuchtesensor
    • UV- und Lichtstärkesensor
    • Feinstaubsensor

Im Github-Repository vom Verein dasdigidings e.V stellen wir Euch das JavaScript gerne zum Download und Ausprobieren zur Verfügung, Anmerkungen und Verbesserungsvorschläge von Euch sind jederzeit gerne gesehen.

Mit der Einführung des neuen Dekoders ist eine Umstellung der vorhandenen Box einfacher geworden. Dazu wird beim Anlegen einer neuen Sensebox wie bisher auch die Hardware zusammengestellt, das LoRa Modul eingefügt und die Keys wie in der Anleitung beschrieben in die Software einkopiert.

Der Payload-Dekoder wird auf der TTN-Seite entweder direkt beim Device, oder in der entsprechenden Application (für alle darin enthaltenen Devices) einkopiert. Dazu wählt man im linken Fenster-Teil in der Application „Payload formatters“  – „Uplink“ aus und dort dann den Typ „Javascript“ in das Feld „Formatter parameter“ wird der Beispieltext mit unserem Code überschrieben. Anschließend müssen noch die Sensor-IDs der bei opensensemap.org angemeldeten Sensebox eingetragen werden, um die Messwerte eindeutig einem Sensor zuweisen zu können. Über eine Webhook-Integration können von der TTN-Console die Daten an die opensensemap weitergereicht werden. Auch eine Anbindung per MQTT-Client aus der TTN-Konsole heraus  ist möglich.

in der Konsole müssen Eure Sensor-IDs eingetragen werden

Für die spätere Auswertung und Speicherung der Daten können beliebige Tools verwendet werden, wir arbeiten seit Jahren mit node-Red, influx-Datenbank und Grafana, um unsere Daten ansprechend darzustellen. Seit Einführung des v.3 Stacks sind alle unsere Geräte per MQTT angebunden und können so von den unterschiedlichsten Clients abgerufen und ausgewertet werden.