Dragino LoRa GPS Hat für den Raspberry Pi

Neben dem Dragino Arduino Shield gibt es auch eine Erweiterung für den Raspberry Pi, die zusätzlich auch noch einen GPS Empfänger besitzt. Mit einem Preis von ~25-35 EUR liegt das Shield preislich im Mittelfeld der Entwicklungsboards. Neben einem Standard Knoten kann man mit dem Shield aber, wie immer, auch ein Single Channel Gateway betreiben.

Da die Anleitungen im Netz irgendwie immer etwas durcheinander erscheinen, habe ich hier einfach mal aufgeschrieben, wie ich den Dragino LoRa GPS Hat an meinem Raspberry Pi Zero W als Knoten angesprochen habe.

Dragino LoRa GPS Hat for RPi

Hardwareanpassungen

Entgegen einiger Foreneinträge, die man im Netz noch so findet, sind Hardwareanpassungen nur bei einer Hardwarerevision kleiner v1.3 notwendig. Solltet ihr also ein Hat haben, das bereits die Hardwarerevision v1.3 oder größer besitzt, dann braucht ihr nichts mehr zu machen - der Hat läuft direkt „out of the box“.

Alle Anderen müssen noch DI1 und DI2 des LoRa Transceivers auf dem Hat verbinden. Das ist auch nicht weiter schwer (nur zwei Kabel) und wird gut im LMIC Repository für den Dragino LoRa GPS Hat beschrieben.

Installation

Den Raspberry Pi, wenn nicht bereits geschehen, mit der Raspbian Distribution ausstatten. Wie das geht, wird auf der unzähligen Seiten und auch der offiziellen Seite der Raspberry Pi Foundation beschrieben, deshalb werde ich hier nicht weiter darauf eingehen.

Nach der Installation müsst ihr euch mit der Konsole des Raspberry Pi verbinden - sei es über die Benutzeroberfläche direkt am System oder per SSH über das Netzwerk.

Aktiviert nun SSH (in „5 Interfacing Options - P4 SPI“):

sudo raspi-config

Danach installiert ihr wiringpi. Mit dieser Bibliothek werden die GPIOs des Raspberry Pi angesprochen. Sie wird benötigt, um mit dem Hat zu kommunizieren:

sudo apt-get install wiringpi

Als nächstes benötigen wir die Bibliothek, die den LoRaWAN Stack implementiert. In den meisten Fällen ist das die LMIC Bibliothek. Auf GitHub gibt es eine entsprechende Portierung für den Raspberry Pi.

wget https://github.com/wklenk/lmic-rpi-lora-gps-hat/archive/master.zip
unzip master.zip
cd lmic-rpi-lora-gps-hat-master

Das war es auch schon. Wenn ihr jetzt in das Verzeichnis examples wechselt, könnt ihr die Beispiele der LMIC Bibliothek ausprobieren. Ich habe zum Testen das Beispiel join, das eine OTAA Personalisierung drchführt, verwendet. Wechselt dazu in das entsprechende Verzeichnis

cd examples/join

und passt dort die main.c Datei mit dem Editor eurer Wahl an. Hier müsst ihr die APPEUI (Application EUI), die DEVEUI (Device EUI) und den DEVKEY (App Key) eintragen. Achtet aber darauf, dass die APPEUI und die DEVEUI im LSB Format angegeben werden müssen, d.h. sie sind einmal gedreht anzugeben. Die Konsole des The Things Network hilft euch dabei aber weiter und ihr braucht die Werte dann nur noch per Copy und Paste übertragen.

Wenn ihr alles richtig gemacht habt, könnt ihr mit

make

den Build Prozess für das Programm starten. Wenn keine Fehlermeldungen angezeigt werden, findet ihr das Programm im build Ordner und könnt es dort starten.

cd build
sudo ./join.out

Wenn alles funktioniert hat, solltet ihr eine ähnliche Ausgabe auf eurer Konsole sehen

000000000 HAL: Initializing ...
000000011 HAL: Detected SX1276 radio module.
000000013 HAL: Set radio RST pin to 0x00
000000019 HAL: Wait until 000000020 ms
000000020 HAL: Set radio RST pin to 0x02
000000021 HAL: Wait until 000000026 ms
000000027 HAL: Receiving ...
000000042 Debug: Initializing
000000043 Debug: JOINING
000005771 Debug: EV_TXSTART
000005774 HAL: Sending ...
000010837 HAL: Receiving ...
000010838 HAL: Wait until 000010838 ms
000010910 Debug: JOINED

Das war es schon… euer Dragino Shield funktioniert damit mit dem Raspberry Pi.

thethingsnetwork/dragino_lora_raspberry_pi_hat.txt · Zuletzt geändert: 2018/02/26 22:41 von octoate
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0