Un unico comando per spostare tutti i ponti D-Star [parte 2]

di | 14/01/2015

La configurazione deve essere eseguita sui vari sistemi con i privilegi di amministratore. Iniziamo configurando il “capo maglia”, ovvero il ponte ripetitore che accetterà i comandi via RF. Non mi dilungherò sulla spiegazione dei vari comandi, per maggiori informazioni sull’uso della shell di linux consiglio di leggere i precedenti articoli. Per questo testo la “porta” utilizzata nella comunicazione è la 51234 ma consiglio di cambiarla in fase di installazione della procedura per motivi di sicurezza, crearne una nuova a piacere. Ricordarsi di creare una regola NAT sul router (del sistema figlio) “girando” il traffico TCP per tale porta verso l’IP privato del pc che esegue il software di Jonathan. Il comando “nc” è netcat,  un programma open source a riga di comando di comunicazione remota, utilizzabile sia col protocollo TCP sia col protocollo UDP.

creare sotto /root

nano ‘.Remote Control’

contenente queste righe

address=0.0.0.0
port=10022
password=latuapassword

deve essere abilitato in ircddbgateway il controllo remoto con stessa porta e password

poi creare nella /home/pi con permessi di esecuzione (+x)

nano link_dcs.sh

#comando al capo maglia che si sposta per primo, nel ns. caso IR5UBO

remotecontrold ir5ubo_b link never dcs008_d

#comando al prima sistema figlio

echo ‘”remotecontrold ir5xxx_b link never dcs008_d” | nc PRIMO_IP 51234 -v

#comando al secondo sistema figlio

echo “remotecontrold ir5xxx_c link never dcs008_d” | nc SECONDO_IP 51234 -v

aggiungere quindi una riga per ogni sistema figlio che dovrà essere gestito e salvare il file. PRIMO_IP dovrà essere scritto nella forma xx.xx.xx.xx oppure mioprimoripetitore.dyndns.info e così gli altri. Prestare attenzione a scrivere correttamente il nome del ripetitore/hotspot e relativo modulo, dovranno esserci sempre 6 caratteri poi “_” e modulo o 5 caratteri e “__”  e modulo. Attenzione, se viene fatto copia e incolla, ai caratteri virgolette che siano quelle giuste dentro l’editor nano.

creare poi il file per il link a xrf sempre con permesso di esecuzione

nano link_xrf.sh

#comando al capo maglia che si sposta per primo, nel ns. caso IR5UBO

remotecontrold ir5ubo_b link never xrf077_a

#comando al prima sistema figlio

echo “remotecontrold ir5xxx_b link never xrf077_a” | nc PRIMO_IP 51234 -v

#comando al secondo sistema figlio

echo “remotecontrold ir5xxx_c link never xrf077_a” | nc SECONDO_IP 51234 -v

prepariamo i comandi via radio abilitandoli sulla parte repeater del software di G4KLX

su control1
RPTR1: RPTRCTDL
RPTR2: nominativo del gateway (IR5XXX G)

su control2
COMMAND1: CNTDCS sudo sh /home/pi/link_dcs.sh
COMMAND2: CNTXRF sudo sh /home/pi/link_xrf.sh

A questo punto il “capo maglia” è pronto ad inviare i comandi alle altre stazioni. Procediamo quindi nel configurare il primo ripetitore/hotspot figlio; questa procedura andrà ripetuta su tutti i sistemi figli, come abbiamo inserito nelle righe dei file link_dcs.sh e link_xrf.sh Si tratta di creare uno script che viene lanciato all’avvio ed eseguito in background con un comando che si pone in ascolto continuo sulla porta definita. Questo permetterà di ricevere il comando dalla stazione padre ed eseguirlo [ es. il figlio ir5xyz modulo B si connette a XRF modulo A ricevendo remotecontrold ir5xyz_b link never xrf077_a ]

creare sotto /root

nano ‘.Remote Control’

contenente queste righe

address=0.0.0.0
port=10022
password=latuapassword

deve essere abilitato in ircddbgateway il controllo remoto con stessa porta e password

poi creiamo il file con permesso di esecuzione

nano /home/pi/ascolta.sh

#!/bin/bash
while true ; do nc -l -p 51234 | /bin/bash ; done &

e facciamolo partire all’avvio inserendo in /etc/rc.local prima di exit 0
sudo /home/pi/ascolta.sh

Come ultimo passaggio occorre configurare due memorie sull’ RTX relative ai comandi che dovranno essere trasmessi al “capo maglia”, sostituire ir5xxx con il nominativo di tale ponte:

per connettere il dcs (eseguendo lo script link_dcs.sh)

MY :mionominativo
UR: CNTDCS
RPT1: RPTRCTDL
RPT2: IR5XXX G

per connettere xrf (eseguendo lo script link_xrf.sh)

MY :mionominativo
UR: CNTXRF
RPT1: RPTRCTDL
RPT2: IR5XXX G

Buone prove. David ik5xmk@gmail.com