LoRaWAN-Workshop

LoRaWAN-Node einrichten

Die Einrichtung eine Nodes erfolgt in zwei Stufen:

- Node auf dem LoRaWAN-Server anlegen

- DevEUI und AppKey in den Quellcode übertragen  und Node programmieren

Node auf dem LoRaWAN-Server anlegen

Nach dem Anmeldung auf TTN geht man in den Bereich "Applications".

In einer "Application" werden auf TTN eins oder mehrere Devices ( = Nodes ) zusammengefasst und verwaltet.

Mit "Add application" legt man eine neue Application an:

Die Application ID muss eindeutig sein.

Tipp:  alle eigenen Applications mit einem eigenen Suffix anfangen lassen. Z.B. mit dem eigenen Call.

Nach dem Speicher ist diese Application angelegt. Sie enthält aber noch keine Nodes.

Ein neuer Node legt man mit "Add end device" an.

Hier muss man einige Einstellungen durchführen:

Manually da wir ja eigene Nodes bauen gibt es im LoRaWAN Device Repository keine Voreinstellungen
Frequency plan 863-870 MHz für Europa ( SF9 für RX2 )
LoRaWAN version MAC V1.0.3
Regional Parameters version PHY V1.0.3. REV A  ( wird automatisch eingestellt)
DevEUI => generieren
AppEUI => wird mit acht 00 ausgefüllt
AppKey => generieren
End device ID ergibt sich aus der DeveUI

 

Nach der Registierung ist der Node angelegt:

Beim Anlegen des Nodes hat der LoRaWAN-Server die DevEUI und den AppKey generiert:

Diese müssen nun für unserer Quellcode richtig formatiert werden:

Falls die Einträge ausgeblendet sind kann man die durch den Button 1 sichtbar machen. Mit den Buttons 2 schaltet man die Hex-Darstellung ( "0x##" ) ein.

Der Quellcode mit der LMIC-Lib erwartet (leider) für die DevEUI und den AppKey unterschiedliche Reichenfolgen der Hex-Zahlen:

  DevEUI:   lsb    "little endian"

  AppKey: msb   "big endian"

Die jeweilige Reihenfolge (lsb oder msb) stellt man mit dem Button 3 bzw. 4 um.

Bei der DevEUI muss im TTN-Netz die 0x70 ganz rechts stehen:

Beispiel:   0x7F, 0x9D, 0x04, 0xD0, 0x7E, 0xD5, 0xB3, 0x70

Nun kann man mit dem Kopierbutton ( jeweils ganz rechts ) den Key bzw. die EUI in die Zwischenablage kopieren.

Von dort fügt man diese dann in den Quellcode ein:

 

// This should also be in little endian format, see above.

static const u1_t PROGMEM DEVEUI[8]={ 0x7F, 0x9D, 0x04, 0xD0, 0x7E, 0xD5, 0xB3, 0x70 }; void os_getDevEui (u1_t* buf) { memcpy_P(buf, DEVEUI, 8);}

// This key should be in big endian format (or, since it is not really a // number but a block of memory, endianness does not really apply). In // practice, a key taken from ttnctl can be copied as-is. // The key shown here is the semtech default key. static const u1_t

PROGMEM APPKEY[16] = { 0x40, 0xB6, 0xC0, 0x07, 0x66, 0x4F, 0x28, 0x06, 0x20, 0xB0, 0x62, 0x4E, 0x29, 0x45, 0x31, 0x2B }; void os_getDevKey (u1_t* buf) { memcpy_P(buf, APPKEY, 16);} 

(dies ist ein Beispiel - bitte bei der DevEUI und dem AppKey die eigenen Schlüssel eintragen!)

Dann kann man den Sketch ( das Programm ) des TTGO-LoRaWAN-Nodes compilieren und auf den Node hochladen.

 

 

...

powered by webEdition CMS