Hamlib

Ham Radio Control Library

Hamlib (ham radio control library) è un progetto flessibile e condiviso di librerie, per lo sviluppo di applicazioni di controllo degli apparati radioamatoriali. La maggior parte delle radio sono infatti dotate di interfaccia seriale, per il controllo delle funzionalità tramite software, ad esempio CAT per Yaesu e CI-V per Icom. Il progetto Hamlib fornisce delle librerie già pronte che semplificano la programmazione di applicazioni che interagiscono con gli apparati radio e altri dispositivi controllabili, come rotori, switch di antenna, ecc. A questo link un elenco parziale dei software che utilizzano le hamlib: applications and screenshots. L’idea e lo sviluppo sono partiti da Frank VK3FCS/KM5WS e Stéphane F8CFE, ma negli anni si sono aggiunti moltissimi contributori e beta tester.

Installazione

Attualmente l’ultima versione stabile è la Hamlib 4.4 e in fase di sviluppo la nuova beta Hamlib 4.5 che viene aggiornata quasi quotidianamente. Il codice sorgente è reperibile sulla pagina GitHub del progetto. La beta a volte presenta bug ed errori di compilazione, pertanto suggerisco di installare la versione stabile.

Windows

Scaricare dal repository l’ultima versione w32 o w64 per Windows rispettivamente a 32 o 64 bit. E’ disponibile la versione .exe con installer o .zip con i file da estrarre e copiare manualmente.

Linux

Su alcuni repository Linux la hamlib è già presente, ma solitamente in una versione non aggiornata.

Ad esempio per Raspbian si trova la 2.0, per installarla utilizzare il comando:

sudo apt libhamlib2

Per ottenere la versione aggiornata, la cosa migliore è compilare in proprio il codice dal sorgente tarballs:

  • Scaricare il file tar.gz dell’ultima versione stabile dal repository Sourceforge, nel caso della versione 4.4 il comando è:
wget https://sourceforge.net/projects/hamlib/files/hamlib/4.4/hamlib-4.4.tar.gz
  • Scompattare l’archivio
tar -zxvf hamlib-4.4.tar.gz
  • Se necessario installare le librerie
sudo apt update
sudo apt install libtool libusb-1.0-0-dev libreadline-dev
  • Compilare
cd hamlib-4.4
./configure --disable-static
make
sudo make install
sudo ldconfig

l’opzione –disable-static evita che vengano compilate le librerie statiche (necessarie agli sviluppatori), ciò ne risulta in una installazione molto più veloce e compatta. Per ulteriori opzioni consultare la pagina d’installazione sul manuale.

  • Verificare che l’operazione sia andata a buon fine
rigctl -V

che visualizza la versione della hamlib installata.

  • Eliminare il file archivio
cd ..
rm hamlib-4.4.tar.gz

A questo punto le librerie sono pronte per essere utilizzate con il vostro software preferito. Per ulteriori approfondimenti fate riferimento al wiki di hamlib.

Utility

Hamlib viene fornito con una serie di utility eseguibili da linea di comando, per testare il funzionamento della connessione con la radio.

rigctl

rigctl è il tool per inviare comandi alla radio e leggerne lo stato, utilizzando appunto i comandi messi a disposizione dalle librerie.

  • Per individuare il codice numerico di riferimento della propria radio
rigctl -l
  • Aprire la comunicazione con
rigctl -m radioID -r serialPort -s baudRate

Con radioID il riferimento individuato nella lista precedente, serialPort il nome della porta di comunicazione, ad es. COM2 in Windows o /dev/ttyUSB1 in Linux, baudRate la velocità.

A questo punto è possibile inviare comandi alla radio, secondo quanto riportato sul manuale rigctl. Seguono alcuni esempi.

  • Cambiare la frequenza a 14.260 MHz
F 14260000
  • Leggere il modo e la larghezza di banda impostati
m

Ecc., ecc.

  • Per uscire digitare Q o q.

rigctld

rigctld è un demone che gestisce l’invio di comandi Hamlib alla radio tramite rete, con protocollo TCP, da uno o più software contemporaneamente. Poiché la comunicazione avviene, appunto, tramite rete, rigctld consente il controllo remoto della radio a cui è interfacciato.

Le impostazioni alla riga di comando sono uguali a quelle di rigctl.

  • Per individuare il codice numerico di riferimento della propria radio
rigctld -l
  • Aprire la comunicazione con
rigctld -m radioID -r serialPort -s baudRate -o

Con radioID il riferimento individuato nella lista precedente, serialPort il nome della porta di comunicazione, ad es. COM2 in Windows o /dev/ttyUSB1 in Linux, baudRate la velocità. Specificare -o se la radio ha il doppio VFO. Ulteriori opzioni sono descritte sul manuale di rigctld.

Quindi configurare il software di controllo della radio, selezionando come modello la #2 NET rigctl e come interfaccia di comunicazione IPaddress:portNumber. Con IPaddress l’indirizzo IP del PC dove è collegata la radio e sta girando rigctld, ad es. 127.0.0.1 se è il localhost, mentre la portNumber di default è la 4532, se non diversamente specificato nelle opzioni.

Riferimenti

  1. Hamlib, GitHub;
  2. Hamlib, SourceForge;
  3. Hamlib, wiki.

Related Posts


Licenza Creative Commons Questa opera è distribuita con:
licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Italia.

Si declina ogni responsabilità per eventuali errori ed omissioni e gli eventuali danni che ne dovessero conseguire. Per ulteriori informazioni consultare le note legali.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.