Interfaccia web per controllo remoto rotore di antenna
Il seguente progetto descrive la realizzazione di un applicativo web per il controllo di rotori di antenna. Si presenta come un’interfaccia grafica sulla quale viene visualizzata la posizione attuale del rotore, nonché è possibile comandare lo spostamento verso una nuova direzione utilizzando i pulsanti preimpostati o selezionando il valore numerico desiderato.
L’applicativo web ha il vantaggio di poter essere utilizzato da qualunque dispositivo dotato di browser e connessione internet e quindi anche fisicamente distante, si presta quindi molto bene al controllo remoto del rotore. Di contro l’installazione presenta qualche complicazione per i non addetti ai lavori, in quanto è necessario un computer con webserver per far girare il programma. L’interfaccia è compatibile con diversi tipi di rotori, grazie all’utilizzo delle librerie Hamlib. Dal punto di vista hardware il rotore dovrà ovviamente essere dotato di connessione seriale RS232 o USB (nativa o con apposita interfaccia).
Prerequisisti
- Rotore con interfaccia seriale USB o RS232;
- PC con webserver (ad es. Web server con Raspberry Pi);
- Librerie Hamlib.
Come già anticipato, il computer al quale il rotore è collegato, dovrà essere dotato di un server web, ovvero un server in grado di gestire richieste HTTP da parte di un client. L’installazione e la configurazione di un web server esula dallo scopo di questo articolo, qui basti citare alcuni fra i programmi più diffusi come Apache ed NGINX disponibili per i più diffusi sistemi operativi. E’ necessario inoltre anche il supporto al linguaggio PHP. Come esempio viene riportata la realizzazione di un web server con Raspberry Pi, che si presta molto bene a questo tipo di utilizzi.
E’ inoltre richiesta l’installazione delle librerie Hamlib, versione 4.1, che offrono una valido set di istruzioni per il controllo di radio e rotori. La lista dei rotori attualmente supportati è consultabile sul wiki hamlib supported rotators.
Per quanto riguarda il rotore d’antenna, questo dovrà essere dotato di interfaccia di connessione al computer, tramite porta seriale RS232 o con una più moderna USB. Se il rotore non è predisposto, nella maggior parte dei casi si può dotare di un’interfaccia esterna, come la K3NG Arduino Rotator Controller o la EA4ATX Antenna Rotator System e la GS-232 per alcuni modelli di rotori Yaesu.
Installazione
Copiare i file di webrotator, scaricati dalla sottostante sezione download, nella cartella del server web.
Lanciare in background da linea di comando l’applicazione rotctld con le opzioni relative al proprio modello di rotore ed alla porta seriale dove è collegato.
Più in dettaglio, visualizzare la lista dei rotori supportati da Hamlib
rotctld -l
ed identificare il numero associato al proprio modello.
Quindi eseguire il comando
rotctld -m "numero_rotore" -r "porta_seriale" -s "velocità_seriale"
A questo punto, dopo aver ovviamente acceso il rotore, digitando sul browser di qualsiasi dispositivo indirizzo_ip_server/webrotator, comparirà l’interfaccia grafica di controllo.
Utilizzo
L’interfaccia è suddivisa in tre sezioni. Nella parte superiore un ampio strumento a quadrante indica la direzione attuale del rotore, riportata anche in formato numerico. Nella parte centrale, il display numerico permette di selezionare una posizione agendo per ciascuna cifra con il puntatore o la rotella del mouse, compatibile anche con i dispositivi touch al movimento del dito. Quindi premendo il pulsante GO, si avvia la rotazione del rotore nella direzione selezionata, che può essere interrotta in qualsiasi momento con il pulsante STOP. Nella parte inferiore, una serie di tasti reca alcuni preset, premendo uno di questi il rotore si avvia immediatamente nella direzione corrispondente. La posizione di Park può essere personalizzata editando il file /js/rot.js.
Premendo sul simbolo dell’ingranaggio si apre il menu impostazioni dal quale è possibile selezionare la velocità di refresh della pagina. Il punto interrogativo è un link di help che rimanda al presente articolo.
Da notare che rotctld è multi utente, l’interfaccia può quindi essere aperta in più istanze o dispositivi diversi.
Download
Versione | Data | Change log |
---|---|---|
WebRotator_1.0 | 03/2021 | Prima release |
WebRotator_1.1 | 04/2021 | * correzione bug grafico per bottone menu Options * modificata lista refresh time * pulizia codice |
Legenda: + Nuovo; – Rimosso; * Aggiornato.
Argomenti correlati
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.