Hora Exacta sin Internet?

La hora exacta el día de hoy es fundamental para muchas cosas, una de ella es para sincronizarse cuando estamos transmitiendo y recibiendo un mensaje con otra estación por radio.
Tienes que saber que tu reloj inteligente de pulso, tu telefono inteligente y tu ordenador, tienen siempre la hora exacta porqué se sincronizan con unos relojes atómicos que hay esparcido por el mundo. Este servicio de hora exacta se llama NTP (NetWork Time Protocol).
Pero que pasa si nos desconectamos de internet?

Al principio nada, todo sigue adelante pero poco a poco el reloj interno de tus dispositivos empezará a no marcar la hora exacta, algunos se adelantarán otros se retraserán.
Si tienes un coche viejo, no conectado a ningún servicio de red, sabrás que el reloj no es muy preciso.
Ni te cuento cuando le llevas al taller y desconectan la batería para hacer una reparación. El reloj digital marcará una hora completamente equivocada.

Ahora imaginate una situación no muy lejana donde por el motivo que sea internet no está funcionando, o no quieres usarla para no ser controlado.

Pero sigues necesitando de la hora exacta, o por lo menos razonablemente exacta.

Una solución podría ser comprarse un reloj atómico… es una solución para un mil millonario, pero no para el más común de los mortales. Así que hay que buscar otra solución mucho más barata.

Tienes que saber que sobre nuestras cabezas orbitan un montón de satélites, algunos de ellos son los GPS… si los mismos que te llevan con el Navegador GPS hasta el centro comercial por el camino más corto evitando un atasco o cuando te equivocas.

Estos satélites GPS son en realidad relojes atómicos con la hora muy muy precisa que además de darnos la posición exacta de nuestro teléfono móvil, nos puede dar también la hora exacta con una precisión mínima de 1/10 de segundo… mucho más de lo que se necesita en la vida cotidiana.

En Apocalipsis 1.9 ya vendrá de serie, pero escribo esto articulo para aquellos que quieren replicar en su ordenador lo que estoy haciendo.

Primero: Necesitamos de un adaptador gps-usb tipo NMEA, hay muchos tipos y no puedo asegurar que todos funcionen, pero os digo lo que he usado yo y es uno de los más baratos y fácil de encontrar en ebay, amazon y aliexpress. Se trata del GLONASS Ublox7

Esto yo lo he pagado el año pasado unos 15€ (compré 2) y ahora se encuentra entre los 11 y los 25€.

Recomiendo comprar también un alargador USB2 de por lo menos 3 metros. El adaptador tiene que estar lo más posible expuesto al cielo, y una ventana que de al exterior es perfecta. En cambio al ordenador mejor que no le de el sol, por esto hay que usar un cable alargador usb2.

Ojo que este adaptador no es para exteriores, así que mantenerlo al seco y que no le de el sol directo. Hay antenas GPS con cable que pueden estar a las intemperies, pero yo no he probado ninguna.

Una vez que tengamos el adaptador gps enchufado por usb a un puerto del ordenador, solo hace falta instalar el software y configurar el sistema.

Abre un terminal y…

sudo apt install gpsd-tools gpsd-clients chrony

#el sistema probablemente te avisará que instalando chrony tendrá que desinstalar NTP... dile que si. Chrony es un substituto de NTP, pero hace exactamente el mismo trabajo, además de ser compatible con los GPS

Ahora vamos a modificar /etc/defaults/gpsd (acuerdate del «sudo») y le ponemos esto:

# Devices gpsd should collect to at boot time.
START_DAEMON="true"

# They need to be read/writeable, either by user gpsd or the group dialout.
DEVICES="/dev/ttyACM0"

# Other options you want to pass to gpsd
GPSD_OPTIONS="-n"

# Automatically hot add/remove USB GPS devices via gpsdctl
USBAUTO="true"

Y luego añadimos en fondo del fichero /etc/chrony/chrony.conf esto:

refclock SHM 0 offset 0.5 delay 0.2 refid NMEA

Se podría re-inciar los servicios, pero cuesta tan poco dar un reboot… y así nos aseguramos que todo funcione en estado normal.

Después de re-iniciar comprobamos que los servicios estén activos con estos dos comandos:

sudo service gpsd status

# tiene que salir Active (running)
# y

sudo service chrony status

# esto tambien tiene que salir como Active (running)

ahora dale en un terminal sudo chronyc sources -v

Nota los 3 círculos rojos:

NMEA es tu adaptador usb gps
Reach: 377 significa que llega la señal GPS
100ms el la precisión del reloj (100ms = 0.1segundos, o sea 1/10 de segundos)

La precisión puede aumentar mucho según cuanto satélites reciba, pero está claro que para nosotros, 1/10 de segundos es muy superior a nuestra necesidades.

Cosa importante, el modelo de adaptador GPS usb que uso yo cuando recibe suficientes satélites para calcular también la posición, empieza a parpadear en rojo y verde.

Y con esto es todo de momento.
Espero que os sirva.
Esta característica ya está incluida en Apocalipsis 1.9, de próxima salida al público

Comentarios cerrados.