
Firmware zur Umwandlung von handelsüblichen LoRa-Funkgeräten in KISS-TNC-Modems mit seriellem CLI, BLE-Paketsniffing und APRS/AX.25-Kompatibilität für Paketfunknetzwerke.
MeshTNC ist ein Tool zum Weiterleiten von LoRa-Daten zu und von handelsüblichen Funkgeräten.
pio project config | grep '^env:'export FIRMWARE_VERSION="localbuild" ; ./build firmware <device-environment-name>Laden Sie vorkompilierte Firmware-Versionen herunter - github.com/datapartyjs/MeshTNC/releases
Wir haben noch kein Flash-Tool erstellt. Sie können Builds mit dem meshcore Flasher, den vom OEM bereitgestellten Flash-Tools oder den Entwickleranweisungen zum Flashen mit VS Code flashen.
MeshTNC ist für Geräte ausgelegt, die von MeshCore unterstützt werden. Überprüfen Sie daher deren Support-Liste im MeshCore Flasher. Wir unterstützen die meisten der gleichen Hardware, siehe variants.
Die MeshTNC-Firmware startet zunächst in einem seriellen Modus, der für Menschen lesbar ist. Sie können mit einer seriellen Terminalanwendung eine Verbindung zur seriellen Konsole herstellen. Möglicherweise müssen Sie die Baudrate konfigurieren, die standardmäßig 115200 beträgt. Der folgende Befehl verwendet minicom, um eine Verbindung zum seriellen Port herzustellen. Bitte ersetzen Sie /dev/ttyACM0 durch den richtigen Geräteknoten für Ihren seriellen Port:
minicom -b 115200 -D /dev/ttyACM0
Auf Linux-Systemen kann es hilfreich sein, den folgenden Befehl auszuführen, um die Standardbaudrate bei der Interaktion mit dem seriellen Port festzulegen:
stty -F /dev/ttyACM0 115200
Sobald die Verbindung hergestellt ist, verfügt das MeshTNC-Gerät über eine einfache CLI. Die CLI ähnelt weitgehend MeshCore, mit einigen bemerkenswerten Ergänzungen.
txraw <hex...> - Senden eines Paketsget syncword <word> - Auslesen der Syncword-Einstellungset kiss port <port> - Festlegen des KISS-Geräteportsset radio <freq>,<bw>,<sf>,<coding-rate>,<syncword> - Konfigurieren des Funkgerätsserial mode kiss - Wechseln in den KISS-Modusrxlog on - Aktivieren der LoRa-Paketprotokollierung
[timestamp],[type=RXLOG],[rssi],[snr],[hex...]\nrxlog off - Deaktivieren der LoRa-Paketprotokollierungrxlog ble on - Aktivieren der BLE-Paketprotokollierung
[timestamp],[type=RXBLE],[rssi],[snr],[MAC - 6 octets][hex...]\nrxlog ble off - Deaktivieren der BLE-Paketprotokollierungrebootclock syncstart otaclocktimetempradioclear statsget afget agc.reset.intervalget nameget latget longet radioget rxdelayDer KISS-Modus ermöglicht den Betrieb des LoRa-Funkgeräts als KISS-Modem, wodurch es mit vielen vorhandenen Funk-Softwareprogrammen kompatibel ist, einschließlich APRS-Software und dem Linux-Kernel.
serial mode kissecho -ne '\xC0\xFF\xC0' > /dev/ttyUSBx
stty korrekt eingestellt sind.

Sie können Ihre bevorzugten APRS-Tools mit MeshTNC verwenden. Wählen Sie einfach eine Frequenz, versetzen Sie das Funkgerät in den KISS-Modus und verbinden Sie es als KISS-TNC-Gerät mit Ihren APRS-Tools.
minicom -D /dev/ttyACM0
set radio 918.25,500.0,7,5,0x16serial mode kissMeshTNC sollte mit vielen APRS-Clients funktionieren, wir haben es mit den folgenden getestet:
Es gibt eine Fülle von Wissen und Beispielen hier: https://linux-ax25.in-berlin.de/wiki/AX.25
Es gibt viele sehr interessante Dinge, die direkt über AX.25 ohne IP möglich sind, aber das folgende Beispiel zeigt, wie man eine IP-Adresse dem AX.25-Interface zuweist. Dies kann auf zwei verschiedenen Rechnern mit zwei MeshTNCs durchgeführt werden, und Sie sollten in der Lage sein, zwischen ihnen über die Luft zu pingen, solange die Funkgeräteinstellungen auf den MeshTNCs übereinstimmen, die auf jedem System zugewiesenen IP-Adressen im selben Subnetz sind und sich voneinander unterscheiden, und die Rufzeichen (oder zumindest SSIDs) auf jedem System unterschiedlich sind. IP-Routing funktioniert ebenfalls, wenn es richtig konfiguriert ist!
/etc/ax25/axports:
0 AL1CE-1 115200 220 2 AX25 testAL1CE-1 durch Ihr Rufzeichen und Ihre SSIDkissattach /dev/ttyACM0 0
sudo dmesg | grep mkiss
[88447.885556] mkiss: ax0: crc mode is auto.ip addr add 10.10.10.10/24 dev ax0
Führen Sie die folgenden Schritte auf zwei oder mehr Computern aus, an die jeweils ein MeshTNC-Gerät angeschlossen ist, um ein Ethernet-über-LoRa-Netzwerk zu erstellen.
tncattach
git clone https://github.com/markqvist/tncattach.gitcd tncattachmakesudo make installminicom -D /dev/ttyACM0
set radio 916.75,500.0,5,5,0x16serial mode kisssudo tncattach --mtu=230 -e -noipv6 --ipv4=10.10.10.10/24 /dev/ttyACM0 115200sudo tncattach --mtu=230 -e -noipv6 --ipv4=10.10.10.11/24 /dev/ttyACM0 115200get ble - Ausgabe der BLE-Einstellungenset ble <active_scan>,<filter_dups>,<max_results>,<scantime>
active_scan - on / off - Ob aktives Scannen verwendet werden soll. Standard ist offfilter_dups - on / off - Ob Duplikate gefiltert werden sollen. Standard ist onmax_results - Maximale Anzahl von Ergebnissen pro Scanscantime - Anzahl der Millisekunden zum Scannenset/get txpower - MeshCores set/get tx wurde entsprechend umbenanntget txdelayget freqset afset int.threshset agc.reset.intervalset nameset radioset latset lonset rxdelayset txdelayset freqeraseverlog startlog stoprxlog onrxlog off