Setup (LoRA)

Der Multigeiger kann mit den folgenden Schritten an TTN („The Things Network“) angebunden werden:

  • Anlegen des TTN-Devices in Deinem Profil bei The Things Network
  • Übernehmen der Parameter in den Multigeiger
  • Anmelden bei sensor.community (ehemals luftdaten.info)
  • HTTP-Integration

 Anlegen eines TTN-Devices

Das Gerät muss bei TTN registriert werden. Dazu muss zuerst (falls noch nicht vorhanden) ein Konto bei TTN angelegt werden.

TTN-Konto anlegen

Bei https://account.thethingsnetwork.org/register einen USERNAME, die EMAIL ADRESSE und ein PASSWORD eingeben. Dann rechts unten über Create account das Konto anlegen. Danach kann man sich mit den neuen Daten an der Console anmelden (https://account.thethingsnetwork.org/users/login).

 Applikation anlegen

Nachdem man sich eingelogged hat, über APPLICATIONS und **add applications“ eine neue Applikation anlegen. Folgende Felder müssen ausgefüllt werden:

  • Application ID: Ein beliebiger Name für diese Applikation, die darf es aber in dem Netzwerk noch nicht geben (z.B.: geiger_20200205)
  • Description: Any description of the application can be entered here.
  • Application EUI: Bleibt frei, die Nummer wird vom TTN-System erzeugt.
  • Handler registration: The pre-filled value (ttn-handler-eu) is already correct and remains.

Nun mit Add application rechts unten die Applikation hinzufügen.

Gerät anlegen

Zuletzt muss noch das Gerät angelegt werden. Dazu in der Übersicht der Applikationen die gerade neu angelegte Applikation auswählen (klicken). Hier dann im mittleren Bereich bei DEVICES das Anlegen eines neuen Geräts über register device starten. Folgende Felder müssen ausgefüllt werden:

  • Device ID: Ein beliebiger Name für das Gerät. Er muss innerhalb der Applikation eindeutig sein (also z.B.: geiger_01) und nur aus Kleinbuchstaben bestehen.
  • Device EUI: Einmal auf das Symbol ganz links an der Zeile klicken, dann erscheint der Text, dass diese Nummer vom System erzeugt wird. Wir müssen sonst nichts weiter eingeben.
  • App Key: Keine Eingabe nötig
  • App EUI: Bleibt so stehen

Nun rechts unten auf Register klicken. Nun ist auch das Gerät angelegt.

Übernahme der LoRa-Parameter

  • Nach erfolgter Registrierung, können die LoRa-Parameter in das Programm übernommen werden.
  • Diese können auf der Konfigurations-Seite des Geigerzählers eingestellt werden (siehe oben).
  • Nun auf der Konfigurations-Seite durch die Konfiguration gehen bis die Einstellung der LoRa-Parameter angezeigt wird. Nun die 3 Werte (APPEUI, DEVEUI, APPKEY) aus der TTN-Console (siehe oben) entnehmen und hier dann eintragen. In der TTN-Console auf das Device gehen, das oben angelegt wurde. Hier sind die 3 Werte zu finden. Es müssen die HEX-Werte ohne Leerzeichen eingegeben werden, und zwar so, wie sie in der TTN-Console erscheinen.

Beispiel: In der TTN-Console steht

Device EUI 00 D0 C0 00 C3 19 7C E8

Dann muss Folgendes eingeben werden:

00D0C000C3197CE8

Dies gilt genauso ebenso für die APPEUI und den APPKEY.

Daten loggen zu sensor.community (ehem. luftdaten.info)

Wenn der Multigeiger seine Daten über TTN auch an sensor.community weitergeben soll, muss er dort angemeldet werden. Die Anmeldung ist ähnlich wie oben für TTN beschrieben. Hier werden nur die Änderungen erläutert:

  • Sensor ID: Die letzten 4 bytes der DEVEUI von links nach rechts eingeben (z. B. wenn die DEVEUI 00 D0 C0 00 C3 19 7C E8 ist, dann C3197CE8 eingeben), aber in dezimal umgerechnet, nicht in HEX (letztendlich: 3273227496).
  • Sensor Board: TTN auswählen über die kleinen Pfeile rechts.

HTTP-Integration

Um die Daten über TTN zu sensor.community zu bekommen, muss noch die HTTP-Integration bei TTN aktiviert werden. In der TTN-Console Applications anklicken und dann die Applikation des Geigerzählers (z. B. geiger_20200205) anklicken. Dann rechts oben in der Leiste mit Overview, Devices, Payload Formats, Integrations, Data, Settings das Integrations anklicken. Hier dann über add integration die HTTP Integration auswählen.

Nun die angezeigten Felder ausfüllen:
  • Process ID: Hier einen beliebigen Namen für diese Integration vergeben Access Key: Hier einmal rein klicken und den default key auswählen
  • URL: Hier die URL zum ttn2luft-Programm eingeben: https://ttn2luft.citysensor.de
  • Method: Wenn dort schon POST steht, nicht ändern
  • Authorization: bleibt leer
  • Custom Header Name: hier kommt der Text X-SSID rein
  • Custom Header value: Die SSID des Sensors eingeben (also die Nummer, die man bei der Anmeldung bei sensor.community erhalten hat, NICHT die Chip-ID).
  • Dann rechts unten auf Add integration klicken, um die Änderungen zu bestätigen.

Siehe dieses Beispiel, wie das Formular aussehen sollte:

TTN-Payload (Beispiel)

Um in der TTN-Console nicht nur die Datenbytes sondern lesbare Werte zu sehen, kann ein kleines Script als Payload-Decoder eingefügt werden. Auf der TTN-Webseite einloggen, über Applications die oben angelegte Application suchen. Hier in der Menü-Zeile den Tab Payload Formats auswählen und den folgenden Code in das Feld einfügen. Vorhandener Code wird überschreiben):

function Decoder(bytes, port) {
  // Decode an uplink message from a buffer
  // (array) of bytes to an object of fields.
  var decoded = {};
  if(port == 1) {
  decoded.counts = ((bytes[0]*256 + bytes[1]) * 256 + bytes[2]) * 256 + bytes[3];
  decoded.sample_time = (bytes[4] * 256 + bytes[5]) * 256 + bytes[6];
  decoded.tube = bytes[9];
  var minor = (bytes[7]&0xF)+(bytes[8]>>4) ;
  decoded.sw_version="" + (bytes[7]>>4) + "." + minor + "." + (bytes[8]&0xF);
  }
  if (port === 2) {
    decoded.temp = ((bytes[0] * 256 + bytes[1]) / 10) + "°C";
    decoded.humi = bytes[2] / 2 + "%";
    decoded.press = ((bytes[3] * 256 + bytes[4]) / 10) + "hPa";
  }
  return decoded;
}