この方法よりも新しくまとめた方が断然楽ですのでこちらを参照してください ここ
センサーからデータを取得するときにタイムスタンプがある便利になると思い色々と調べてみました
とりあえずは現在時刻を取得することができたで備忘録としてまとめます
使用したマイコンはESP32です
初期設定等はここでみてください
“Arduino ntp”と調べると色々とやり方や方法がでてきます
例えば:
Qiitaに記載されていた方法(例で上げたもの)でもよいと思ったのですが、コメントを見ると取得できないという書き込みがあったため見送りました
簡単にできるものがないかなぁと思い、githubをあさっていたら見つけました
NTPClient:http://github.com/arduino-libraries/NTPClient
サンプルコードを読むとESP8266用なのかなぁと思いましたが、ものは試しでやってみました
いつもの通りGitHubからライブラリをダウンロードし、Arduinoへインポート
ESP32のサンプルコードとNTPClientのサンプルプログラムを読みながら作っていきます
こんな感じ↓
#include <NTPClient.h> #include <WiFi.h> #include <WiFiUdp.h> char ssid[] = "ssid"; //ssid char pass[] = "password"; //password WiFiUDP ntpUDP; //udp, ntp, 時差(日本はutc時刻から-9時間), インターバル NTPClient timeClient(ntpUDP, "ntp.nict.jp", 32400, 60000); void setup() { // put your setup code here, to run once: Serial.begin(115200); WiFi.begin(ssid, pass); while ( WiFi.status() != WL_CONNECTED ) { delay ( 500 ); Serial.print ( "." ); } timeClient.begin(); } void loop() { // put your main code here, to run repeatedly: timeClient.update(); Serial.print(timeClient.getDay());//曜日 日曜日は0となりそこから番号が割り振られる Serial.print('-'); Serial.println(timeClient.getFormattedTime()); delay(1000); }
実行結果
......5-09:09:54 5-09:09:55 5-09:09:56 5-09:09:57 5-09:09:58 5-09:09:59 5-09:10:00 5-09:10:01 5-09:10:02 5-09:10:03 5-09:10:04 5-09:10:05 5-09:10:06 ---
このライブラリにおいて曜日と時刻を取得することができました
しかし日付が取得できません
うーむ・・・
コメント