preloader

Auf AEQ-WEB suchen:

AEQ-WEB | Blog

LHT65 TTN V3 Webhook PHP Webapp

LHT65 TTN Webapp

Dieser Artikel ist ein Update zum Projekt Vom TTN zur eigenen Webseite, welches unter TTN V2 entwickelt wurde. Mit dem neuen TTN Stack V3 ist das bestehende Projekt nicht mehr kompatibel, da sich die JSON-Formatierung geändert hat. Außerdem hat sich bei TTN V3 das Layout der Console gegenüber dem Stack V2 sehr verändert. Aus diesem Grund wurde ein neuer, vollständig überarbeiteter Artikel verfasst.

Warum eine Webapp?

Grundsätzlich kümmert sich ein LoRaWAN-Netzwerk nur um den Datentransfer, jedoch nicht um die Speicherung dieser Daten. Der Anwender muss sich selbst um die Speicherung der Daten kümmern und dem LoRaWAN-Netzwerk eine Schnittstelle nennen, an die die Daten gesendet werden können. Hierfür gibt es viele fertige, zum Teil kostenlose Dienste, die diese Daten speichern und grafisch darstellen. Alternativ kann man sich die Daten von TTN auch zum eigenen Webspace mit einem Webhook (vormals HTTP-Integration) senden lassen. Das auf dieser Seite vorgestellte Projekt ist eine kleine PHP-Applikation, welche die Messdaten vom Dragino LHT65 in eine kleine MySQL-Datenbank speichert und anzeigt. Es handelt sich hierbei um ein funktionierendes Beispielprojekt, was an die eigenen Bedürfnisse angepasst bzw. weiterentwickelt werden soll.

Der Webspace

Jeder der eine eigene Homepage besitzt, hat bereits einen Webspace. Es gibt aber auch kostenlose Webspace-Provider wie zum Beispiel bplaced.net. Spezielle Anforderungen an den Webserver gibt es keine. Lediglich sollte das PHP-Script im Hauptverzeichnis Schreibrechte besitzen, damit ein Logfile erstellt werden kann. Zusätzlich wird eine Datenbank (idealerweise MySQL) zum Speichern der Daten benötigt.

Webapp konfigurieren & hochladen

Im ZIP-Archiv befinden sich insgesamt vier Dateien. Zuerst wird die Datei [config.php] mit einem Texteditor geöffnet die Parameter für den Datenbank-Server angepasst. Die Zugangsdaten sowie die Serveradresse bekommt man vom jeweiligen Provider. Die Konfiguration könnte wie folgt aussehen:

LHT65 Webapp config.php

Nachdem die Zugangsdaten angepasst wurden, wird die Datei gespeichert. Folgende Dateien werden über einen FTP-Client (zum Beispiel FileZilla) auf den Webspace hochgeladen:

  • config.php
  • index.php
  • ttn.php

  • Anschließend muss das Datenbank-Template (sql_template.sql) am Datenbank-Server importiert werden. In der Regel erfolgt dies über phpMyAdmin. Die Zugangsdaten erhält man auch hier wieder vom jeweiligen Provider.

    phpMyAdmin import template for lht65 webapp

    Webapp aufrufen

    Wurden die PHP-Dateien am Webspace hochgeladen und der Datenbank-Server richtig konfiguriert, so sollte beim Aufruf der URL folgende Fehlermeldung kommen:

    LHT65 Webapp Database Error

    Webhook einrichten

    Webhooks (Integrations) sind HTTP/HTTPS Schnittstellen zwischen dem LoRaWAN-Netzwerk bzw. der Application und dem Internet. Damit die Daten von TTN zur eigenen Webseite kommen, muss ein Webhook mit der URL zum Webspace eingerichtet werden. In der Application unter Integrations -> Webhooks -> Add Webhook wird ein "Custom webhook" angelegt. Folgende Parameter müssen dabei angegeben werden:

  • Webhook ID (kann frei gewählt werden)
  • Webhook format: JSON
  • Base URL (Adresse zum Webspace)
  • Uplink message: /ttn.php

  • Folgender Screenshot zeigt eine Beispielkonfiguration:

    LHT65 TTN V3 Add Webhook

    Webapp nutzen

    Nach erfolgreicher Einrichtung leitet TTN automatische neue Messdaten vom LHT65 an die Webapp weiter. Wurde alles korrekt eingerichtet, so sind die Messdaten bereits wenige Sekunden nach der Aussendung auf der Webseite ersichtlich:

    LHT65 Webapp Running

    Share:
    thumbnail
    01.11.2020
    Radiosonde RS41 Firmware Flash

    Täglich fallen Hunderte meteorologische Radiosonden vom Himmel. In diesem Artikel bauen wir eine Radiosonde zu einen GPS-Tracker für APRS um

    Alex @ AEQ-WEB

    thumbnail
    27.05.2020
    STM Boards im Arduino IDE

    STM Boards programmieren mit dem Arduino IDE - Alle Infos zur Einrichtung und Installation der Boards, Treiber und Bibliotheken

    Alex @ AEQ-WEB