Cómo obtener la marca de tiempo de cuándo se recopilaron los datos

Básicamente, quiero poder mostrar la hora en que arduino recopiló los datos con el valor de los datos, no el tiempo el arduino imprimió los datos. Hay una función de marca de tiempo en la consola, sin embargo, quiero encontrar la hora en que se recopilaron los datos.

Soy un poco nuevo en esto, ¡así que cualquier ayuda es muy apreciada!

Comentarios

  • ¿registró la hora en que se recopilaron los datos?
  • ¿Qué Arduino está usando (en caso de que haya etiquetado incorrectamente la pregunta)?
  • Por sí mismo, la única marca de tiempo de arduino-uno ' es el número de milisegundos desde el reinicio. Serial.println(millis());

Respuesta

Obteniendo una " marca de tiempo " de cuándo se recopilan los datos depende completamente de usted.

La mayoría de los Arduinos no tienen ningún concepto de la hora actual, solo la hora desde que el programa comenzó a ejecutarse. Para saber cuál es la " ahora ", debe tener algún mecanismo para decirle al Arduino cuál es la hora, junto con un método de realizar un seguimiento de ese tiempo.

Hay dispositivos llamados módulos de reloj en tiempo real (RTC) que realizan un seguimiento del tiempo por usted. Ellos no saben mágicamente la hora, todavía tienes que decirles al menos una vez.

Podrías decirle la hora a través del puerto serie para configurar el reloj, de ahí en adelante (asumiendo que el RTC tiene energía ) el RTC sabrá cuál es la hora.

Otra opción para obtener la hora en el RTC es usar una conexión a Internet (ESP8266, escudo WiFi, escudo Ethernet, etc.) para realizar un protocolo de tiempo de red ( NTP) consulta a un servidor de hora en Internet (como pool.ntp.org) para obtener la hora actual y actualizar el RTC. Esto debe hacerse con regularidad para corregir cualquier desviación en el RTC.

Una vez que tenga un RTC y un método para establecer la hora, puede consultar la hora cada vez que muestree algunos datos y almacene ese tiempo junto con los datos de la forma más adecuada para su situación.

Respuesta

Depende de cómo defina la marca de tiempo. Una marca de tiempo de Unix es el número de segundos transcurridos desde la época de Unix, es decir, el 1 de enero 1970 00:00 UTC, esto es una marca de tiempo muy común. Puede configurar con NTP a través de Internet, o puede utilizar un RTC en su placa. La forma de hacerlo depende de la precisión con la que lo desee y de lo que tenga disponible. Pruebe este enlace que puede ayudar: https://currentmillis.com/

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *