Ecco la mia idea estemporanea, venutami dopo una notte insonne

Semplice, basta comperare un adattatore DVB-T USB da pochi euro e prendere la data da una delle emittenti TV che trasmettono nella nostra zona, come la RAI ad esempio, l'ora che trasmettono e' molto precisa.
Non serve un S.O. desktop, si fa tutto da riga di comando, per cui va bene anche per un server.
Quasi tutti i chiavini USB DVB-T di nuova generazione sono riconosciuti automaticamente dai sistemi Linux, eventualmente se cosi' non fosse, ci sono molte guide in rete, cercatene una per il vostro sistema linux e per il vostro modello, installate il firmware, collegate il chiavino e collegateci il suo antennino.
La verifica che il chiavino e' correttamente installato la fate con il comando lsusb, il risultato e' qualcosa del genere:
- Codice: Seleziona tutto
Bus 001 Device 008: ID 15a4:9016 Afatech Technologies, Inc. AF9015 DVB-T USB2.0 stick
Poi occorre installare i seguenti pacchetti:
sudo apt-get install dvb-apps w-scan
Lanciare quindi il comando che ricerca le stazioni TV/RADIO che trasmettono nella nostra zona e li memorizza in un file:
w_scan -M -ft -c IT -E 0 -t 2 > /etc/channels.conf
ad operazione terminata, aprite il file appena creato "/etc/channels.conf" e verificate che ci sia almeno uno dei canali RAI, ad esempio Rai 2,
ecco la riga corrispondente nel mio file:
- Codice: Seleziona tutto
Rai 2 :482000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_5_6:FEC_NONE:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:513:651+695+696:3402
A noi interessa il nome della stazione prima dei due punti ":", in questo caso Rai 2
quindi diamo il seguente comando per sintonizzare il DVB-T su Rai 2:
zap "Rai 2" &
nota: e' opportuno inserire questo comando in "/etc/rc.local" dato che al riavvio il sintonizzatore perdera' la stazione.
quindi ogni qual volta ci servira' ottenere la data e ora esatta bastera' lanciare il comando:
dvbdate
esempio:
root@InetRadio:~# dvbdate
Sun Jan 22 16:54:53 2017
Quindi per settare l'ora del dispositivo con quella trasmessa dal canale TV, ecco il comando magico:
dvbdate --set --force
Per il Raspberry occorre settare anche il timezone dato che sembra ci sia un bug sul comando dvbdate.
quindi i due comandi da dare in sequenza sono:
dvbdate --set --force
date -s "1 hour"
quindi uno script per aggiornare l'ora puo' essere questo:
#!/bin/sh -e
dvbdate --set --force
date -s "1 hour"