TTN TheThingsNetwork

Top  Zurück  Vor

 

Der Xhome-Server unterstützt die iot TheThingsNetwork.org Cloud.

 

Alle LoRa Sensoren müssen an die Daten an die TTN Cloud senden.

 

Im Xhome Server unter Einstellungen wird die TTN als Gateway mit dem Application Name und dem Apllication Key angelegt.

 

 

ttn Xhome

 

 

Der Application Name wird auf der Webseite TTN als Application ID dargestellt! Hier muss der Name und nicht die Nummer eingetragen werden.

 

Alle Geräte werden automatisch in einer Liste angelegt.

 

TTN Liste

 

 

Der Payload im Uplink kann wie folgt formartiert werden:

 

 

String data  = "DI_3="+String(di3)+";DO_4="+String(do4)+";Temp_1="+String(tem)+";Hum_1="+String(hum);

 

Hex:

44495F333D66616C73653B444F5F343D66616C73653B54656D705F313D32322E30303B48756D5F313D34352E3030

ASCII:

DI_3=false;DO_4=false;Temp_1=22.00;Hum_1=45.00

 

 

Die einzelnen Parameter können mit einem Semikolon getrennt werden.

 

Eingänge können mit DI_***  und Ausgänge mit DO_*** definiert werden.

 

Beim Import werden diese anschließend als Bool Datenpunkt importiert. Die Restlichen als Dezimal oder Text Datenpunkt.

 

 

 

TTN Di3

 

Payload Uplink:

 

String data  = "Wert_1:Ich bin ein Text";

 

Würde einen String Datenpunkt mit dem Namen Wert_1 anlegen.

 

Name und Wert werden durch einen Doppelpunkt getrennt.

 

 

Dezimal Status mit Byte Position:

Byte eines Payloads auslesen:

 

Payload:

00 00 00 AA

 

Byte 4 als Status verwenden:

 

Variable Name: Byte=3

 

Würde den Wert 170 ausgeben.

 

 

Bit Status mit Byte und Bit Position:

 

Payload:

00 00 00 AA

 

Byte 4 und Bit 2 als Status verwenden:

 

Variable Name: Byte=3.1

 

Würde den Wert 1 ausgeben da im 4. Byte das 2. Bit gesetzt ist.

 

 

 

 

Befehle senden:

 

Im Befehl Feld Variable Namen können  Werte eingetragen werden. Diese werden an den Sensor als Payload gesendet.

 

 

Für Bool An/Aus Datenpunkte können An und Aus getrennt werden. Dies erfolgt über die Parameter on=xxxx und  of=xxxx

 

Beispiel:

 

on=03 00 64 FF;off=03 00 00 FF

 

TTN DO4

 

 

 

Beispiel Adruino:

 

static uint8_t opencml[4]={0x03,0x00,0x64,0xFF},closecml[4]={0x03,0x00,0x00,0xFF};

 

 if ((received[0]==opencml[0])&&(received[1]==opencml[1])&&(received[2]==opencml[2])&&(received[3]==opencml[3])) {

             Serial.println("Set pin to HIGH.");

             digitalWrite(ctl_pin, HIGH);

           }

           if ((received[0]==closecml[0])&&(received[1]==closecml[1])&&(received[2]==closecml[2])&&(received[3]==closecml[3])) {

             Serial.println("Set pin to LOW.");

              digitalWrite(ctl_pin, LOW);

           }