PERSONALIZZAZIONE TELECOMANDO CON RASPBERRY PI


Per la personalizzazione del telecomando vanno editati i seguenti files:

Personalizzazione interfaccia di rete, Indirizzo IP, Gateway, DNS ecc.
/etc/network/interfaces


Personalizzazione  GPIO, modifica, aggiunta o diminuzione uscite e relativi relè.
Script tcl/tk di decodifica comandi:

/usr/local/share/svxlink/events.tcl

Script che memorizza lo stato dei relè in : /usr/local/share/svxlink/telecomando/
/usr/local/share/svxlink/gpio-list
I files con lo stato dei relè vengono utilizzati in caso di arresto del sistema per ripristinare lo stato dei relè al riavvio dopo lo spegnimento o mancanza alimentazione.
Se il comando è ricevuto via DTMF lo stato dei relè viene aggiornato automaticamente su file, l’app android essendo di terze parti non lo prevede per cui lo script gpio-list viene eseguito ogni minuto tramite cron.


Script lanciato all’avvio del sistema, legge lo stato dei relè dai files creati al punto precedente a va a configurare le uscite della raspberry:
/usr/local/share/svxlink/gpio-set

All’avvio della raspberry bisogna creare i files di interfaccia per i GPIO utilizzati e settarli come uscite, l’esempio tipico dei comandi per il gpio 17 è:
echo 17 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio17/direction

per automatizzare il tutto questi comandi vanno messi nel file:
/etc/rc.local
prima del comando exit 0
ovviamente per ogni GPIO utilizzato andrà inserita una coppia di righe come quella sopra indicata.


Personalizzazione APP android
/etc/raspberry_control/rpc.conf

Nella sezione [GPIO_EXPORT] settare “YES” solo alle uscite utilizzate (compreso quella utilizzata per il PTT) settare “NO” su tutte le altre, questo permette di visualizzare sullo smartphone solo le uscite attive.
Nella sezione [GPIO_NAME] si può inserire un nome a piacere per le uscite attivate nella sezione precedente, sullo smartphone comparirà il nome qui inserito al posto del generico  GPIO N.
Lasciare invariato il resto del file.


Personalizzazione interfaccia web
Per fornire il servizio http ho installato il server web Lighttpd scelto per la sua leggerezza rispetto al classico apache. Il file di configurazione del server è:

/etc/lighttpd/lighttpd.conf
I cambiamenti a tale file vanno fatti sapendo cosa si sta facendo pena il non funzionamento del server per cui presumo che chi si accinge a farli sa che cosa fare, la riconfigurazione del server non è indispensabile per cui consiglio di lasciare il file così come si trova.
Per la visualizzazione dello stato dei relè e per la loro gestione ho realizzato degli script in PHP che si trovano in /var/www/
I files sono:

telecomando.php, auth.php, utenti.php, setrele.php e stato.php
Non sto qui a descrivere come modificarli in quanto la loro modifica presuppone una discreta conoscenza del linguaggio di scripting server-side PHP e chi ce l’ha è senz’altro in grado di sapere cosa fare. Sono comunque a disposizione per qualsiasi chiarimento in merito.
L’interfaccia web richiede l’autenticazione con NOME UTENTE e PASSWORD, gli utenti sono memorizzati nel file:

/home/www-data/conf/utenti.conf
è un semplice file di testo dove la password non è in chiaro ma codificata MD5, la sintassi è:

nomeutente:password
il file non deve contenere altro che le righe con utente e password separate dai due punti.
Il file fornito contiene:

ik1whn:2311c43229e5a70ae4b203652576495e
ea3gap:f2c29a209a2595e7cf5652b33806d5e0


le stringhe dopo i due punti sono le password codificate MD5, la password per “ik1whn” è “mauri” e la password per “ea3gap” è “vittorio”.
mauri codificato in MD5 diventa infatti 2311c43229e5a70ae4b203652576495e
quindi di default per effettuare l’accesso dovrete inserire ik1whn come nome utente e mauri come password oppure ea3gap come utente e vittorio come password, il codice php genera l’hash MD5 e lo confronta con quello presente sul file.
Se volete cambiare password o aggiungere altri utenti con la relativa password potete usare uno dei tanti servizi web che generano l’hash MD5 da una stringa, potete provare ad esempio:

http://md5.org/encrypt/
oppure da riga di comando in linux:
echo –n “mauri” | md5sum
darà come output l’hash MD5 della stringa mauri che è poi la stessa memorizzata sul nostro file.

IK1WHN Mauri  -   Info:    ik1whn (at) ik1whn.com