Für das offene TheThingsNetwork habe ich eine Karte [1] gebastelt, auf der LoRaWAN Gateways in der Umgebung um Troisdorf angezeigt werden. Auf einer virtuellen Maschine betreibe ich die Karte als Website.
Daten kommen regelmäßig von TheThingsNetwork
Alle 5min. werden die Daten von der TheThingsNetwork API [2] abgerufen. Mit diesen Daten wird die Gatewaydatenbank aktualisiert. Somit könnt ihr fast live sehen welche Gatways gerade online sind.
Auf der Karte könnt ihr auf ein Gateway klicken, dann öffnet sich ein PopUp, in dem seht ihr fast alle Informationen zu diesem Gateway.
Welche Umgebung deckt die Karte ab?
Vom Mittelpunkt Troisdorf ist ein Umkreis mit einem Radius von 25km definiert. Somit ist ein großer Bereich an Rhein und Sieg abgedeckt. Sollte es bedarf geben so kann ich den Bereich gerne noch vergrößern, schreibt mich dazu gerne an.
Alle Gateways innerhalb dieses Kreises werden regelmäßig abgefragt und in der Karte [1] angezeigt.
Die Technik hinter der Karte
Im Hintergrund läuft eine virtuelle Maschine, die ich bei Hetzner gemietet habe. Auf dieser Maschine habe ich eine selbstprogrammierte Python Anwendung installiert (Link zum Github Repo findet ihr unten [4]). Zudem verwende ich das Flask Framework welches die Webseite rendert. Als Karte nutze ich eine LeafLet Map [3] die auf den Daten von OpenStreetMap basiert.
In Python kann ich über requests Anfragen an die TheThingsNetwork API schicken. Als Antwort erhalte ich dann z.B. alle Gateway Daten in einem festgelegten Umkreis und zu einer bestimmten Koordinate. In den Gateway Daten steck auch die Info wann das Gateway zuletzt Kontakt zum TheThingsNetwork hatte. Dadurch kann ich dann definieren und anzeigen, ob ein Gateway online, offline, oder außer Betrieb ist.
Wenn ihr noch mehr Details erfahren wollt, dann schreibt mir gerne einen Kommentar, oder ihr schreibt mir eine Email 🙂
Links
- [1] Link zu FFRS-TTN-Map: https://ffrs-ttn-map.de/
- [2] Forum Beitrag mit Erklärungen, wie man an die Gateway Daten rankommt: https://www.thethingsnetwork.org/forum/t/determine-which-gateway-is-used-by-a-given-node/11531/12
- [3] Leaflet Bibliothek: https://leafletjs.com/
- [4] Github Repo: https://github.com/kamkalian/ffrs-ttn-map
Weitere Beiträge zu LoRaWAN findet ihr unter dem Stichwort LoRaWAN.
nice