Sempre per il mio orologio Linux digitale, senza collegamento ad internet, ho necessita' di stabilire la posizione indicativa in cui e' posizionato l'orologio, per calcolare le effemeridi (posizione del sole e della luna durante il giorno).

Come fare?

GPS? No, perche' troppo costoso e non funziona negli interni.
GSM? Si, perche' le celle GSM a cui ci colleghiamo hanno una posizione definita e controllabile.

Ecco uno script per leggere le infomazioni dal programma "gnokii" il parametro LAC e l'identificativo cella della BTS piu' vicina, dati dai quali possiamo estrapolare la posizione nel raggio di qualche chilometro al massimo (ottimo per i mie scopi).

echo $(date) >> posizione-gsm.txt
#gnokii -c /etc/gnokirc --getnetworkinfo | grep -e "LAC" -e "Ident. cella" | grep -oP '\(\K[^)]+' >> posizione-gsm.txt
gnokii -c /etc/gnokirc --getnetworkinfo | grep -e "LAC" -e "Ident. cella" >> posizione-gsm.txt
gnokii -c /etc/gnokirc gnokii --monitor once | grep "RF:" >> posizione-gsm.txt


risultato:

mar 24 gen 2017, 16.55.52, CET
LAC : 3e9f (16031)
Ident. cella : 00003197 (12695)
Livello RF: 18
mar 24 gen 2017, 16.55.54, CET
LAC : 3e9f (16031)
Ident. cella : 00003197 (12695)
Livello RF: 18
mar 24 gen 2017, 16.55.55, CET
LAC : 3e9f (16031)
Ident. cella : 00003197 (12695)
Livello RF: 18
mar 24 gen 2017, 20.01.27, CET
LAC : 3ea2 (16034)
Ident. cella : 0000b484 (46212)
Livello RF: 99