¿Existe algún método para encontrar la hora global actual (UTC u otra) utilizando un módulo Wi-Fi comercial como el ESP8266, pero sin conectarse realmente a una de las redes disponibles?
Básicamente, me gustaría usar esto de manera similar a cómo se puede usar la transmisión de WWV para garantizar el cronometraje de un reloj, pero sin las preocupaciones sobre la intensidad de la señal de WWV.
Debido a que esto es solo para un reloj y el único propósito del soporte WiFi sería proporcionar una hora precisa, tener la interfaz necesaria para seleccionar una red y una contraseña es indeseablemente complejo.
Las tramas 802.11 no tienen información de tiempo global, ya que dichos datos no sirven para nada en la red inalámbrica.
Si tiene un punto de acceso WiFi con un alto tiempo de actividad y puede sincronizar con la hora UTC al menos una vez, puede capturar marcos de baliza , que no están encriptados y proporcionan un campo de marca de tiempo obligatorio para fines de sincronización. Luego, podría asociar esa marca de tiempo con un valor UTC conocido y luego estimar la hora UTC actual utilizando ese valor inicial y la marca de tiempo actual. No hace falta decir que la marca de tiempo se pierde cada vez que se reinicia el punto de acceso, además de que se perderán algunos eventos sutiles como los segundos intercalares (por eso dije estimación ).
Si ESP8266 puede brindarle acceso a marcos de baliza sin procesar es otra cuestión.
Probablemente no. En primer lugar, la mayoría de las redes se cifrarán. Los que no están encriptados podrían, en teoría, ser escuchados, sin embargo, hay algunos problemas.
Implicaría escuchar muchos paquetes que potencialmente tenían información privada. En algunas áreas, esto podría verse como una actividad ilegal, es posible que desee verificar las leyes locales.
El modo promiscuo del ESP8266 es difícil de usar y solo tiene un efecto limitado. Se perderá la mayoría de los paquetes y los que atrape solo tendrán la primera parte del paquete.
En teoría, puede encontrar un paquete que tenga el tiempo, pero este paquete estará en el nivel de la aplicación y podría tomar varias formas diferentes. Lo peor es que no sabrías si es la hora correcta.
Una buena manera de obtener la hora de forma pasiva a través de la radio sería utilizar un módulo GPS que le indique la hora y la ubicación correctas.
pool.ntp.org
y obtener el tiempo desde allí.
broma
phil escarcha
broma
uint128_t
T Grandahl