Dieser Artikel beschreibt die grundsätzliche Einrichtung einer Applikation in der TTN-Konsole.
Weiterhin wird die Erstellung eines Device, Sensor, Node etc. für OTAA und ABP beschrieben.
Schritt 1:
Einrichtung einer Applikation:
https://console.thethingsnetwork.org/applications/add
Schritt 2:
Benenne Deine Applikation mit einem beliebigen, frei verfügbaren Namen.
Schritt 3:
Erstelle ein Device mit einem beliebigen Namen, so dass Du diesen einfach wieder findest.
Device wird per Default immer als Activation Method „OTAA“ erstellt. Wenn der Sensor mit OTAA arbeitet muss nichts weiter getan werden.
Wenn der Sensor mit OTAA eingerichtet ist werden folgende Werte für die Programmierung mit Arduino IDE benötigt :
- Device EUI als LSB Format
- Application EUI als LSB Format
- App Key als MSB Format
Schritt 4:
Wenn die Sensoren in ABP arbeiten muss das Device von OTAA auf ABP in der TTN-Console geändert werden.
Schritt 5:
In vielen Fällen fehlt hier noch der Decoder. Dh. die Daten sind nicht lesbar da verschlüsselt übertragen. Damit die Daten lesbar in der TTN-Console sichtbar sein muss folgender Code eingefügt werden. Dieser Code ist nur exemplarisch und kann nicht für alle Anwendungen von Lora-Node Sensoren genutzt werden.
Code kann für folgenden Sensor benutzt werden:
https://git.unixweb.net/jhummel/Radio-Lora-Node-Atmega328
function Decoder(bytes, port) { var retValue = { bytes: bytes }; retValue.node = bytes[0]; retValue.battery = bytes[1] / 10.0; retValue.vcc = bytes[2] / 10.0; retValue.temperature = (((bytes[3] << 8) | bytes[4]) / 10.0) - 40.0; retValue.pressure = ((bytes[5] << 16) | (bytes[6] << 8) | bytes[7]); retValue.humidity = ((bytes[8] << 8) | bytes[9]) / 10.0; return retValue; }
Wenn alles richtig gemacht wurde und die Parameter in die Arduino IDE richtig übertragen wurden, sollten Daten sichtbar sein, vorausgesetzt der angeschlossene Sensor BME280 etc. wurde erkannt. Die Daten sollten sowohl als auch mit OTAA oder ABP sichtbar sein.
Für Fragen, Korrektur, Fehler und Anregungen bitte Kommentarfunktion nutzen.
Wünsche viel Erfolg und Spaß beim beim basteln und programmieren mit Sensoren für LoraWAN.
Grüße , Joachim
Hallo Joachim,
vielen lieben Dank dir für die gute Anleitung. Ich habe aber leider dennoch ein Problem. Ich bin schon sehr lange am Probieren, 3 Nodes in das TTN einzubinden. Bislang hat es nicht funktioniert. Mittlerweile habe ich es geschafft, dass mein „Test-Node“ sendet. Das Gateway empfängt auch die Uplink Message, aber es findet aus irgendwelchen Gründen kein Join-Accept statt. Habe es sowohl als OTAA, als auch mit ABP probiert. Jedes Mal ohne Erfolg. das drehen der Keys (LSB MSB) hat da irgendwie auch nichts geholfen.
Einstellungstechnisch hätte ich da noch ein paar Fragen, die eventuell zur Lösung führen könnten:
A) Beim OTAA-Verfahren wird die AppEUI zum Join benötigt. Der Code von deinem Beitrag „ATMEGA328 LORA RADIO NODE“ weißt aber irgendwie kein Feld zum Eintragen dazu auf oder irre ich mich da?
B) In welchem Format muss die Eingabe der Keys, bzw. der EUIs erfolgen? Meinem Verständnis nach muss das Format beim NWSKEY und APPSKEY 0x74, 0x74, 0x…. sein. Bei der DEVADDR allerdings 0x260BXXXX, wie es auch vorgegeben ist.
Ich bedanke mich schon mal recht herzlich für deine Hilfe oder die eines anderen Users.
Beste Grüße
Philipp
Hallo Joachim,
gibt es vielleicht eine aktualisierte Version deiner Anleitung? Denn in der Zwischenzeit ist ja bei TTN (TTS) Einiges geändert worden.
Freundliche Grüße
Klaus
Hallo Klaus
mal sehen , ich werde da eher einen neuen Artikel dazu schreiben. Danke für den Hinweis.
Grüße Joachim
Hallo Joachim,
sehr gute Beschreibung wie ich einen Sensor im TTN Netzwerk registrieren kann. Hat auch gut funktioniert. Ich wollte aber die Abfragezeitraum länger machen, da ich die Werte aus meinem Gewächshaus nicht alle 30 Sek. benötige.
Finde aber keine Einstellung dafür.
Danke und schönes Wochenende
Thomas
Hallo Thomas
freut mich wenn ich helfen konnte.
Nun die Datenabfrage funktioniert nicht nach dem Pull Prinzip, sondern Push Prinzip.
D.h. das TTN-Network erhält nur die Daten die ein Sensor auch liefert. Die Intelligenz muss in den Sensor implementiert werden.
Schau mal hier bei „void loop“ in der Zeile mit „delay(5000);“ dort trägst Du ein wie oft Dein Sensor sendet.
Hoffe das ich helfen konnte.
Beste Grüße, Joachim