WinlinkL'attuale tragedia bellica (che ha coinvolto anche gli OM della regione), e in particolare la lettura di un comunicato diramato dalla Polish Amateur Radio Society, mi ha fatto riprendere l'idea di sperimentare col Winlink, il sistema di messaggistica mondiale che per le interconnessioni digitali utilizza la radio dove Internet non sia presente. Un importante mezzo per mantenere contatti e mandare messaggi e comunicati anche in situazioni di emergenza (terremoti, alluvioni o altro).

Diversi programmi sono disponibili, e per tutti i principali sistemi operativi (tutte le informazioni nel sito ufficiale winlink.org); in particolare la mia attenzione si è (ovviamente) rivolta a Pat, software di messaggistica sotto Linux che può essere gestito anche da remoto in una configurazione client-server. Il programma vero e proprio risiede nel sistema connesso alla radio mentre l'utilizzo - simile a quello di una webmail - avviene tramite browser, in locale o attraverso una propria LAN.

 Il Raspberry Pi che ho utilizzato è l'"antico" 3B, sempre valido per queste cose; l'S.O. è l'ultimo (Bullseye) a cui sono state attivate da Raspi-config le porte sempre utili per SSH e VNC.

 

Nell'uso specifico sotto Linux (ma anche per il Raspberry Pi) ho trovato facilmente in Rete molti suggerimenti; mi sono fermato però su questa pagina (thanks F1RUM!), sia per via dell'utilizzo del protocollo Ardop nelle comunicazioni (beh lo confesso, ricercavo proprio questo), sia per la semplicità nella configurazione relativa al collegamento con la radio senza particolari smanettamenti, utilizzando a questo proposito Flrig, interfaccia grafica per la gestione remota dell'RTX.

 

Ed ecco qua la "lista della spesa"; per l'installazione del software rimando alla pagina sopra segnalata.

1) Flrig per la gestione della radio;

2) Hamlib gestisce il controllo dell'apparato tramite CAT;

3) Ardopc (o meglio, Piardopc per il Raspberry Pi): uso e download nel sito del suo creatore John Wiseman, G8BPQ;

4) e ovviamente, Pat.

L'uso di Flrig facilita molto la configurazione di Hamlib (che se stand-alone necessita di modifiche a linea di comando e ricerca dei codici relativi a ogni modello di RTX usato) mentre gli altri smanettamenti sono tutto sommato veloci da fare per chi con l'Xterm ci marcia.

Le altre operazioni comprendono l'inserimento, nel file di configurazione di Pat (comando Pat configure) del proprio nominativo e della password necessaria all'accesso del sistema globale Winlink - a questo proposito è prevista anche la connessione via Internet qualora la Rete sia disponibile. Oltre ad altri parametri utili, ad esempio indirizzo e porta HTTP per la connessione al browser e altri valori per la gestione del protocollo Ardop utilizzato. Leggere sempre alla pagina di F1RUM...

Ah! Oltre ad Ardop, Winlink (e Pat) può basare le sue connessioni anche con altri protocolli. Ho pensato ad esempio al già conosciuto Packet Radio facilmente implementabile con il software Direwolf. Ma questa è un'altra storia...

 

E adesso arriva il divertimento :-)

Immagino che siate già pratici nei collegamenti tra radio e computer (interfacce audio e CAT, porta USB ecc.) quindi partiamo allora dal cavo (o dai cavi USB audio e CAT) da inserire nelle porte del Raspberry. A questo punto possiamo lanciare Flrig, magari da terminale.

Inizialmente il programma avvertirà che la radio non è corretta o non viene trovata: dal menu Config -> Setup -> Transceiver si scelga allora il modello, porta seriale e velocità, il resto dovrebbe essere di default. Verificare che dando dei comandi nella finestra menu di Flrig corrispondano le operazioni corrispondenti nella radio; dare File -> Exit per terminare il programma che salverà i parametri selezionati.

Sempre descrivendo dalla pagina sopra citata, il passo successivo sta nell'avvio di Rigctld. E' parte del pacchetto libhamlib-utils che gestisce il controllo della radio mediante i comandi CAT. Nell'uso con Flrig la riga di comando è proprio banale, con il solo parametro "-m" col valore 4 che definisce appunto l'interfacciamento attraverso Flrig. E' possibile usare rigctld anche da solo ma occorrerebbe dare al parametro -m un codice che dipende dal modello di radio da interfacciare (la lista delle radio si ottiene dando il comando "rigctld -l").

E' Piardopc la parte di codice riguardante il collegamento radio vero e proprio col protocollo Ardop; è un po' meno intuitivo degli altri ma anche qua vengono in aiuto le istruzioni dai siti di F1RUM e G8BPQ. Occorre ricercare il numero di card e dispositivo delle porte audio a cui la radio si connette e che saranno messi come parametri per l'esecuzione di piardopc nella linea di comando (o come nel mio script qua sotto, per il comando di creazione della porta virtuale ARDOP).

E in ultimo, il semplice comando finale pat http...

 

Per velocizzare tutto (ed evitare il mal di testa) ho preparato un piccolo script che comprende i vari comandi sopra descritti. Notare che restano tutti in background (tranne eventualmente PAT come vedremo più avanti)

Eccolo:

 

#!/bin/bash

# si crea una porta virtuale per Ardopc

echo 'pcm.ARDOP {type rate slave {ppm "hw:1,0" parte 48000}}' > ~/.asoundrc

# Avvio di flrig

flrig &

# Tempo di attesa per consentire l'avvio e configurazione di flrig

sleep 8

rigctld -m 4 &

sleep 1

# Avvio del codice di gestione di Ardop

piarcopc 8515 ARDOP ARDOP &

# Avvio di PAT

pat http

 

Salvare il file. Per comodità ho chiamato lo script "Pat" (con la P maiuscola...). Non dimenticarsi di renderlo eseguibile (chmod 755 Pat).

 

Avviare lo script da terminale (./Pat); nel corso delle operazioni ci saranno numerose linee descrittive. Al termine sarà possibile avviare dal browser l'interfaccia di gestione dei messaggi.

Ad esempio, se nella configurazione di pat il parametro http addr è messo come "localhost:8080" questo sarà anche l'indirizzo a cui puntare il browser.

 

Per terminare il tutto, anche qua ho fatto per comodità un piccolo script. Che semplicemente "uccide" tutti i processi avviati:

 

killall flrig

killall rigctld

killall piardopc

killall pat

 

Inutile dire che l'ho chiamato Killpat :-) eseguirlo (da altro terminale o dopo avere dato Ctrl-C al terminale su cui gira Pat) dando ovviamente ./Killpat 

E per facilitare ancora di più le operazioni ho aggiunto al menu del Raspberry l'esecuzione di questi script.

 


But... Everywhere?

 

Supponiamo di dover creare una postazione mobile outdoor. A disposizione radio, antenna HF e tablet.

Supponiamo di avere in tasca una piccola scatolina e un "Power Bank" per alimentare ciò che c'è dentro :-)

Supponiamo che nella scatolina ci possa stare un Raspberry Pi sormontato da display a 3" 1/2 di quelli che si trovano a poche decine di euro da Amazon. Supponiamo che il Raspino sia già caricato a Raspbian e software vari come descritto prima. Non dimentichiamo la pennina a corredo del display. Facoltativa la tastiera bluetooth.

Ovviamente il Raspi-Boy esperto avrà già provveduto ad interfacciare l'LCD al posto del monitor, corretto l'allineamento della pennina touch e magari utilizzando a casa un PC esterno con VNC Viewer per non stancarsi troppo gli occhi nelle varie fasi di sviluppo.

Ma cosa manca adesso? Come fare per collegare il tablet alla scatolina, e senza una LAN in Wi-Fi nelle vicinanze? Occorre che il Raspino si possa comportare come Hotspot.

Anche questa volta la Rete mi ha aiutato e da questa pagina ho trovato una soluzione. Gateway/Hotspot, interfaccia grafica completa di gestione, e soprattutto... uno script che ha facilitato enormemente l'installazione! Alla fine si avrà, come descritto nell'articolo, questa configurazione:

 

Admin Dashboard: IP address: 10.3.141.1 (Username: admin, Password: secret)

DHCP range: 10.3.141.50 to 10.3.141.255

Wi-Fi AP: SSID: raspi-webgui (Password: ChangeMe)

Connettere tablet o smartphone a questa "Intranet" Wi-Fi. Dando l'indirizzo 10.3.141.1 si arriva alla Dashboard di gestione (è quanto di più completo abbia mai visto!). La prima volta cambiare per scrupolo la password dell'Access Point.

 

E adesso... 

Adesso il lavoro è quasi finito! Lanciare dal display lo script Pat (da terminale con la tastiera o attraverso la voce di menu creata prima).

Lanciare nel browser del tablet l'indirizzo client di pat (lo stesso dev'essere inserito nella sua configurazione, come descritto prima. In questo caso, ad esempio, 10.3.141.1:8080). Dovrebbe a questo punto comparire la "webmail" di Winlink.

Sempre dal tablet è possibile il controllo remoto del giocattolo utilizzando anche qua VNC Viewer; e se occorre connettere il sistema anche alla propria LAN, si connetta ad essa la sua porta Ethernet. A questo punto il sistema diventa un vero e proprio gateway.

 

Nota: tutto questo è puramente in test! Comunque...

Buone prove!