Open JorFru opened 4 years ago
Mi idea va por el método WiFi + RTC. Estoy trabajando en ello. Reportaré por aquí los avances y las pruebas.
El ejemplo SimpleTime de la librería ESP32 es buen punto de partida para lo que sugiero.
Si no reinventásemos la rueda, y nos leyésemos el código de otros, pues no pasarían estas cosas:
En uno de esos códigos, el mío, el contador funcionaba así, restando al día actual el día que se encendió el contador. Pero ese código se cambió por otro por nosequé historias de Time.h (y porque os dio pereza leeros el código :stuck_out_tongue: )
https://github.com/asrob-uc3m/contador-de-accidentes/commit/4832cd03b4ec4869b59606b1b4730a5d35a180a5
(Ese código es de cuando el contador tenía 2 dígitos. Es altamente probable que para 3 dígitos no sirva, y haya que modificarlo)
Ok Google pero tu reloj no se pone en hora él solito, lo que sugiero es una mejora sobre lo que ya se ha hecho antes.
Tú usaste la librería Time genérica de Arduino, yo sugiero la librería Time propia del ESP32, que el código de ejemplo se pone en hora él solo.
Sería interesante que el contador tuviese una noción correcta del tiempo, en vez de contar ciclos del reloj. Que aunque ha resultado ser fiable y preciso en un periodo de pruebas de más de 100 días, pues resulta un poco ñapa.
Métodos de coger bien la hora:
Dotarle de módulo GPS, dando por supuesto que dentro de la nave se pueden recepcionar algunos satélites (todavía sin comprobar)
Ponerle WiFi y que se conecte a alguna red con internet para que coja la hora de ahí. Usando un ESP32 con WiFi esto está tirado. Eduroam quizás no funcione correctamente para eso, pero hay alguna otra red por ahí disponible para coger la hora. La red de ASROB quizás...
No hace falta coger la hora continuamente, el Arduino puede mantener la hora si lo equipamos con un módulo RTC, haciendo posible que sólo haga falta ponerlo en hora una vez, la primera. Y mantendrá la hora incluso desconectando la alimentación, si el módulo RTC tiene batería.