Basicamente, quero ser capaz de exibir a hora em que o arduino coletou os dados com o valor dos dados, não o vez em que o arduino imprimiu os dados. Há um recurso de carimbo de data / hora no console, no entanto, quero saber a hora em que os dados foram coletados.
Sou um pouco novo nisso, então qualquer ajuda será muito apreciada!
Comentários
Resposta
Obter um " carimbo de data / hora " de quando os dados são coletados depende inteiramente de você.
A maioria dos Arduinos não tem nenhum conceito do tempo atual, apenas o tempo desde que o programa começou a ser executado. Para saber que horas são " agora ", você precisa ter algum mecanismo para informar ao Arduino qual é a hora, junto com um método de controlar esse tempo.
Existem dispositivos chamados módulos de relógio em tempo real (RTC) que controlam o tempo para você. Eles não sabem a hora em um passe de mágica – você ainda precisa dizer a eles pelo menos uma vez.
Você poderia dizer a hora por meio da porta serial para acertar o relógio – a partir de então (assumindo que o RTC tenha energia ) o RTC saberá que horas são.
Outra opção para obter a hora no RTC é usar uma conexão de internet (ESP8266, escudo WiFi, escudo Ethernet, etc.) para executar um protocolo de tempo de rede ( NTP) consulta a um servidor de horário na Internet (como pool.ntp.org
) para obter a hora atual e atualizar o RTC. Isso deve ser feito regularmente para corrigir qualquer desvio no RTC.
Depois de ter um RTC e um método para definir a hora, você pode consultar a hora sempre que fizer uma amostra de alguns dados e armazenar essa hora junto com os dados da maneira que for mais adequada para sua situação.
Resposta
Depende de como você define o carimbo de data / hora. Um carimbo de data / hora Unix é o número de segundos decorridos desde a época do Unix, ou seja, 1º de janeiro 1970 00:00 UTC, este é um carimbo de hora muito comum. Você pode configurar o NTP via Internet ou usar um RTC em sua placa. Como você faz isso depende de quão preciso você deseja e do que você tem disponível. Tente este link, ele pode ajudar: https://currentmillis.com/
Serial.println(millis());