A seguire l’ormai collaudata, e presente in molte installazioni, versione iniziale di pYSFReflector, scaricabile da questo link, un software scritto in python3 da Antonio IU5JAE del Gruppo Radio Firenze per la gestione di un reflector C4FM YSF, presentiamo la nuova versione 2.

Cosa c’è di nuovo, caratteristiche principali:

  • decodifica flusso C4FM con estrazione di tutte le informazioni presenti nel FICH (tipo di flusso, ID radio, DG-ID trasmesso, tipo di deviazione utilizzato lato RF, etc.);
  • decodifica i dati di posizione GPS trasmessi e li invia (se abilitato nel file .ini) su APRS;
  • blocca l’inoltro di tutte le query del ripetitore verso la rete (connessione, disconnessione, stato, ricerche) per evitare traffico disturbatore inutile;
  • invia dati in formato Json tramite socket/UDP per un sistema esterno di gestione/visualizzazione (vedi la dashboard collector.py)

La configurazione del reflector avviene sempre nel file pysfreflector.ini; in particolare vi è nuova la sezione network con la gestione della porta Json e la sezione APRS ove non solo è possibile abilitare o meno le relative funzioni, ma anche configurare un ssid specifico attraverso il quale i dati verranno inviati dal reflector al server aprs indicato, per la mappatura delle posizioni rilevate, sul sito aprs.fi Ulteriori configurazioni e informazioni di installazione possono essere visionate nella documentazione della precedente versione di pYSFReflector, su github. Importante specificare che pYSF2 necessita della libreria python “aprslib”, installabile come di consueto con il comando “pip install aprslib”. Per approfondimenti sull’uso di python e gestione dei pacchetti, su internet è possibile reperire guide complete.

pYSFReflector versione 2 ha un potente gestore degli accessi, espandendo quanto già presente nella versione iniziale. Infatti oltre ai consueti controlli sulla validità formale dei nominativi intransito, blocco nominativo e/o gateway, etc. pYSF2 permette di limitare l’accesso ai nominativi con suffissi quali -RPT, -GW, -ND, etc. (solitamente provocatori di inutile traffico dati verso il network) ed a specifici seriali di apparati (al momento prerogativa esclusiva dei soli sistemi Wires X Yaesu), il tutto gestito nel file deny.db

L’invio dei dati in transito su pYSF2 verso una porta UDP ha permesso la creazione di un secondo software chiamato collector, una dashboard scritta sempre in python (da IK5XMK del Gruppo Radio Firenze) che opera interamente in memoria attraverso un proprio webserver integrato senza la necessità di pagine html/php scritte sul disco. Il collettore si configura editando direttamente il file collector.py, nella relativa CONFIG SECTION. Va indicato l’indirizzo/porta Json di pYSFReflector2 (la dashboard può risiedere anche su di un altro server…), l’indirizzo del server che mostrerà le pagine html e relativa porta (per operare senza conflitti anche con altre dashboard già presenti sul sistema).

Il collettore è altamente configurabile e può essere deciso cosa mostrare come informazioni poichè alcuni valori sono squisitamente per addetti ai lavori. Collector richiede la presenza di alcune librerie che non sono presenti di default; occorre installarle manualmente con “pip install uvicorn” (o pip3) e “pip install starlette“. Ricordati di aggiornare il tuo sistema all’inizio dell’installazione. Dopo averlo reso eseguibile, il programma può essere facilmente avviato con il comando “./collector.py &“.

Per visualizzare un esempio di pYSFReflector2 con relativo collector:

Il software può essere prelevato da questa cartella su Google Drive.

Per ausilio ed informazioni, scrivere sul forum del Gruppo Radio Firenze o via Telegram

Questi software sono solo per uso radioamatoriale, creati su base sperimentale e senza alcuna garanzia e supporto. Sono frutto di elaborazioni anche di programmi (o parti di essi) già esistenti e hanno lo scopo di arrivare a conoscere nella completa forma il protocollo digitale radioamatoriale denominato C4FM, non limitandosi al solo utilizzo. Questi software sono open source, vedi relativa licenza all’interno dei codici.

Antonio IU5JAE

David IK5XMK

info@grupporadiofirenze.net

Di ik5xmk