Auf einer sehr gut gelungenen Weiterbildung zum Thema LoRaWAN und TTN (The Things Network) an der Karl-Kübel-Schule in Bensheim vom 12.-13. Dezember 2018 (großen Dank an Rainer Wieland, iotler.de) durften wir unter anderem lernen, wie man einen ESP8266 in Form eines Wemos D1 als Node ins TTN bringen kann. Dabei stießen wir auf mehrere Probleme bei der Suche nach geeigneten Arduino Bibliotheken. Um euch eine vergleichbare Odyssee durch´s Netz zu ersparen, zeige ich euch, mit welchen Bibliotheken der Beitritt eures Nodes ins Internet der Dinge gelingen sollte.
Zuerst benötigt ihr eine Bibliothek für das verwendete Board, welches nicht standardmäßig in der Arduino Board-Bibliothek enthalten ist. Auf GitHub findet ihr aber unter https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd-party-boards-support-urls eine sehr gute Liste mit Drittanbieter-Boards:
Ein Stück weiter unten findet ihr einen Link zu einer json-Datei, welche ihr in den Arduino Voreinstellungen (Datei >> Voreinstellungen) als zusätzliche Boardverwalter-URL hinzufügt:
Unter Werkzeuge >> Board >> Boardverwalter sucht ihr nach “ESP8266” und installiert nachfolgende Boardsammlung:
Nun seid ihr in der Lage, über den Arduino Boardmanager das LOLIN(WEMOS) D1 R2 & mini auszuwählen:
Als nächstes wird die lmic-arduino Bibliothek benötigt. Diese findet ihr in der Arduino Bibliotheksverwaltung unter dem Suchbegriff “lmic”. Aber Achtung: ihr findet hier mehr als nur eine Bibliothek mit diesem Namen. Leider haben wir es mit anderen Bibliotheken nicht geschafft den Node ans TTN anzubinden.
Wenn die Bibliothek installiert wurde, modifiziert man das Example um den Node anschließend zu programmieren. Dazu wählt ihr unter Datei >> Beispiele >> LMIC-Arduino >> ttn-abp aus (Voraussetzung hierfür ist ein als ABP registrierter Knoten in thethingsnetwork.com).
In der Beispiel-Datei müssen mehrere Anpassungen vorgenommen werden: der network session key, der application session key und die end-device address aus dem thethingsnetwork.com müssen eingetragen werden:
Darüber hinaus müssen, abhängig vom Verwendeten LoRa-Board noch die Pins angepasst werden:
Wenn alles richtig angepasst und ausgewählt wurde, kann mit einem Klick auf Hochladen das Programm im μC Platz nehmen. Wenn sich nun ein entsprechendes LoRaWAN-Gateway in der Nähe eures Senders befindet, könnt ihr auf thethingsnetwork.com die “Hello, world!” Pakete bewundern:
Naja, fast. Eigentlich sieht man an dieser Stelle nur den payload als Hex. Wenn man jedoch im Payload Format die Zeile
decoded.String = String.fromCharCode.apply(null,bytes);
hinzu, dann bekommt ihr die Daten als human-readable angezeigt:
Viel Spaß 🙂
Hallo,
die Idee mit dem Wemos D1 Mini finde ich sehr schön!
> Als nächstes wird die lmic-arduino Bibliothek benötigt.
> Diese findet ihr in der Arduino Bibliotheksverwaltung unter dem Suchbegriff “lmic”.
> Aber Achtung: ihr findet hier mehr als nur eine Bibliothek mit diesem Namen.
> Leider haben wir es mit anderen Bibliotheken nicht geschafft den Node ans TTN anzubinden.”
ja, und WELCHE ist denn nun die richtige Lib?? es gibt so viele, ich bin am Verzweifeln…
Hallo Lars, danke sehr 🙂
Wenn ich mich nicht ganz täusche, dann ist es die Bibliothek “MCCILoRaWAN LMIC library” in der Version 2.3.1 gewesen.
Lass es uns wissen, wenn es damit klappen sollte.
LG André
Ich bin am verzweifeln .. wo hängt es hier:
13:04:27.805 -> my .. os_init
13:04:27.805 -> RXMODE_RSSI
13:04:27.805 -> my .. LMIC_reset
13:04:27.805 -> my .. PROGMEM
13:04:27.805 -> my .. CFG_eu868
13:04:27.805 -> my .. End init -> Start Job
13:04:27.805 -> 5135: engineUpdate, opmode=0x808
13:04:27.805 -> 5236: EV_TXSTART
13:04:27.805 -> 5313: TXMODE, freq=867100000, len=26, SF=7, BW=125, CR=4/5, IH=0
13:04:27.884 -> Packet queued
… und hier passiert nix mehr. Was fehlt?
ESP8266, SPI und DIO0, DIO1 sind verbunden.
Hallo René,
ich habe einen Beitrag auf einer anderen HP gefunden, der dir bei deinem Problem vielleicht weiterhelfen könnte: https://forum.iot-usergroup.de/t/wemos-node-letzte-debug-meldung-packet-queued/360
Viele Grüße
André