LoRa APRS iGate mit dxlAPRS auf einem OrangePi

Neben dem sehr beliebten RaspberryPi der RasperryPi Foundation gibt es auch Einplatinenrechner von anderen Herstellern. Ich selbst besitze deswegen einen „OrangePi PC Plus“ und einen „BananaPi Pro“. Da der „OrangePi PC Plus“ einen fest installieren EMMC Speicher hat, wäre dieser ideal für Dauerbetrieb geeignet, da SD-Karten leider sehr anfällig sind und regelmäßig getauscht werden müssen. In Anlehnung an das Multi-APRS iGate für den RaspberryPi hatte ich nun die Idee, ein weiteres mit dem OrangePi zu bauen. Ich habe dieses Board gewählt, da der GPIO Anschluss des OrangePi mit dem des RaspberryPi voll kompatibel ist. Beste Voraussetzungen also für den „schnellen Erfolg“ mit den bestehenden LoRa APRS Gatewayplatinen von OE1ROT oder OE1ACM für den RaspberryPi.
Leider funktionierte es auf dem OrangePi nicht so einfach die LoRa Gatewayplatine in Betrieb zu nehmen, aber Matze DM4TZE hatte den richtigen Riecher und steuerte die Lösung dazu bei.

Weiterführende Erklärungen zum LoRa APRS iGate findet man im originalen Artikel hier: http://www.dl1nux.de/lora-aprs-igate-mit-udpgate4/

Installationsanleitung am Beispiel des „OrangePi PC Plus“ mit ARMBIAN als Betriebssystem. Im folgenden Beispiel heißt der User auf dem OrangePi pi und das Home-Verzeichnis ist in /home/pi, genau wie beim RapsberryPi.

1. SPI am OrangePi aktivieren

Die SPI Schnittstelle muss in der Datei /boot/armbianEnv.txt aktiviert werden:

sudo nano /boot/armbianEnv.txt

Folgende Zeilen einfügen bzw. ergänzen:

overlays=spi-spidev
param_spidev_spi_bus=0

Anschließend den OrangePi mit sudo reboot rebooten, damit die Schnittstelle aktiv wird.

2. Pakete installieren

Folgende Pakete müssen in der angegebenen Reihenfolge mit apt und pip installiert werden:

sudo apt install python3 git python3-pip python3-dev
sudo pip3 install wheel setuptools
sudo pip3 install spidev OrangePi.GPIO

3. RPi-LORA-KISS-TNC installieren

cd ~
git clone https://github.com/tomelec/RPi-LoRa-KISS-TNC.git
cd RPi-LoRa-KISS-TNC
git clone https://github.com/mayeranalytics/pySX127x.git

4. Konfiguration anpassen

Auf dem OrangePi muss die Datei board_config.py an drei Stellen, anstatt einer bearbeitet werden.

nano pySX127x/SX127x/board_config.py

4a)
Ersetzen von:
import RPi.GPIO as GPIO
durch
import OPi.GPIO as GPIO

4b)
Ersetzen von:
DIO0 = 22 # RaspPi GPIO 22
durch
DIO0 = 5 # RaspPi GPIO 5

4c)
Und zusätzlich vor dem Eintrag
GPIO.setmode(GPIO.BCM)
den genauen OrangePi Boardtyp angeben, z.B. „PCPCPLUS“ für den „OrangePi PC oder PC Plus“
GPIO.setboard(GPIO.PCPCPLUS)
GPIO.setmode(GPIO.BCM)

Kompatible Boards und Bezeichnungen findet man beispielsweise in den Beispielen hier: https://github.com/Jeremie-C/OrangePi.GPIO

5. Ergebnis

Nach einem Rechnerneustart ist nun das LoRa APRS Gateway auch auf dem OrangePi lauffähig. Allerdings muss python mit root Rechten gestartet werden (sudo python3 …), da der Standarduser keinen Zugriff auf die GPIO hat. Wenn man das nicht möchte, sieht man in Abschnitt 6 wie man dies ändern kann.

Man kann nun mit den bestehenden Startskripten das LoRa APRS iGate auf dem OrangePi starten, siehe und hier. Der Aufruf erfolgt identisch mit dem python Skript python3 Start_lora-tnc.py. Natürlich muss dazu noch die entsprechende iGate Software installiert werden. Im Falle von udpgate4 von den dxlAPRS Tools findet man dazu weitere informationen auf den am Anfang des Absatzes verlinkten Seiten.

6. GPIO Zugriff für Standarduser freigeben

– in Arbeit —

Natürlich kann man auch auf dem OrangePi das LoRa APRS Gateway mit jeder Software betreiben, welche TCP-KISS unterstützt. Dazu zählen unter anderem APRX, Direwolf und natürlich auch die dxlAPRS Tools (udpgate4).


Support

Diese Anleitung wurde mit bestem Wissen und Gewissen erstellt. Aber auch hier kann sich natürlich der Fehlerteufel verstecken. Deshalb sind alle Angaben ohne Gewähr! Auch geht die Entwicklung der dxlAPRS Tools und der LoRa-KISS-TNC Entwickler immer weiter, was auch Veränderungen mit sich bringen kann. Wenn ihr einen Fehler findet oder Fragen habt, zögert nicht mich zu kontaktieren. Gerne auch als Kommentar auf der Webseite.

Kontaktmöglichkeiten:

  • per E-Mail attila [at] dl1nux . de
  • per IRC Chat im Hamnet (HamIRCNet) im Kanal #hamnet-oberfranken
  • per Packet-Radio im DL/EU Converse Kanal 501

Support:

  • dxl-Wiki: http://dxlwiki.dl1nux.de
  • Telegram-Gruppe: https://t.me/joinchat/CRNMIBpKRcfQEBTPKLS0zg

Letztes Update: 12.12.2020

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.