mercoledì 10 giugno 2020

AX25 over LoRa

Quando ho iniziato ad usare Linux negli anni 90 sui Cd c'era quasi sempre una directory denominata Ham Radio con programmi di cui non conoscevo l'utilizzo. Dopo cosi' tanto tempo sono riuscito ad utilizzare AX25  e KISS , specifici per radio, per instradare pacchetti dati con TCP/IP utilizzando dei moduli Lora gia' visti un questo precedente post 



Nel dettaglio ho messo in comunicazione via una Raspberry 3 A+ Raspbian ed un portatile Lenovo T430 Debian  

I moduli LoRa sono visti come semplici seriali virtuali via USB. Non ho modificato i parametri LoRa lasciando quelli di default...cio' vuol dire che le radio non sono impostate alla massima velocita' di trasmissione

Per prima cosa si installano i pacchetti

#apt-get install libax25 ax25-apps ax25-tools ax25-node


si configura quindi il file /etc/ax25/axports

ABCDEF e' il callsign dei radioamatori, in pratica un UID. Sui due dispositivi deve essere differente..inventando una serie di 6 caratteri unici
====================================
# /etc/ax25/axports
#
# The format of this file is:
#
# name callsign speed paclen window description
#

#1      OH2BNS-1        1200    255     2       144.675 MHz (1200  bps)
#2      OH2BNS-9        38400   255     7       TNOS/Linux  (38400 bps)
ax0 ABCDEF 9600 254 1 LoRa
====================================

per inizializzare le antenne si usano i comandi

/usr/sbin/kissattach -m 254 /dev/ttyUSB3 ax0 10.0.0.1
/usr/sbin/ax25d
/usr/sbin/mheardd

dove /dev/ttyUSBx e' la porta dove viene vista la radio. L'IP dovra' essere modificato sui vari dispositivi

a questo punto si puo' iniziare a pingare il dispositivo remoto

Come si vede i tempi di ping sono molto lenti ..tanto da dover usare lo switch -i del comando ping per avere il tempo di ricevere la risposta


Ho provato ad avere una amministrazione remota tramite SSH ma non sono riuscito a farla partire mentre con telnet, fatto salva la lentezza, le cose funziona. (Aggiornamento: impostando la velocita' a 19200 SSH funziona ed e' vagamente usabile)

Sono riuscito a creare uno stream dati tramite netcat via TCP che UDP ed a visualizzare il server web dei due dispositivi

Si puo' usare anche FTP ma il collegamento e' molto piu' lento ed inaffidabile rispetto ad usare un trasferimento seriale via YModem

Nessun commento:

Posta un commento

Dockerizza Flask

Un esempio semplice per inserire in un container Docker una applicazione Flask Partiamo da una semplice applicazione che ha un file app.py ...