データが収集されたときのタイムスタンプを取得する方法

基本的に、arduinoがデータを収集した時刻をデータ値ではなく表示できるようにしたいです。 arduinoがデータを印刷した時間。コンソールにはタイムスタンプ機能がありますが、データが収集された時刻を知りたいのです。

これは少し新しいので、助けていただければ幸いです!

コメント

  • データが収集された時刻を記録しましたか?
  • どのArduinoを使用していますか(質問に誤ってタグを付けた場合に備えて)?
  • それ自体では、arduino-uno 'の唯一のタイムスタンプはリセットからのミリ秒数です。Serial.println(millis());

回答

"タイムスタンプの取得"データが収集される時期は完全にあなた次第です。

ほとんどのArduinoには現在の時刻の概念がなく、プログラムの実行が開始されてからの時刻のみです。 " now "の時刻を知るには、Arduinoに時刻を伝えるメカニズムとメソッドが必要です。

リアルタイムクロック(RTC)モジュールと呼ばれるデバイスがあり、時間を追跡します。彼らは魔法のように時間を知りません-少なくとも一度は彼らに伝える必要があります。

時計を設定するためにシリアルポートを介して時間を伝えることができます-それ以降(RTCに電力があると仮定) )RTCは時刻を認識します。

RTCに時刻を取得する別のオプションは、インターネット接続(ESP8266、WiFiシールド、イーサネットシールドなど)を使用してネットワークタイムプロトコル( NTP)インターネット上のタイムサーバー(pool.ntp.orgなど)にクエリを実行して現在の時刻を取得し、RTCを更新します。これはRTCのドリフトを修正するために定期的に実行する必要があります。

RTCと時刻の設定方法が決まったら、データをサンプリングするたびに時刻を照会し、状況に最も適した方法でその時刻をデータと一緒に保存できます。

回答

タイムスタンプの定義方法によって異なります。Unixタイムスタンプは、Unixエポックタイム(1月1日)から経過した秒数です。 1970 00:00 UTC、これ非常に一般的なタイムスタンプです。インターネット経由でNTPを使用してセットアップすることも、ボードでRTCを使用することもできます。どのようにそれを行うかは、あなたがそれをどれだけ正確に望むか、そしてあなたが何を利用できるかによって異なります。このリンクを試してみてください: https://currentmillis.com/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です