ESP-WROOM-02で現在時刻を取得したいなーと思い、色々と調べていました
現在地時刻を取得することができれば、センサーの値に現在時刻を付与でき、オリジナルの値にすることができるなどなどができます
調査した中でこれが一番ラクだなーというものがあったのでまとめておきます
参考にしたのQiitaの記事です(ぶっちゃけるとここからほとんど引用です・・・)
詳しく見たい方はここを参照してください
以下ソースコード
#include <ESP8266WiFi.h> #include <time.h> #define JST 3600*9 const char* ssid = "your-ssid"; const char* password = "your-password"; void setup() { Serial.begin(115200); delay(100); Serial.print("\n\nStart\n"); WiFi.begin(ssid, password); while(WiFi.status() != WL_CONNECTED) { Serial.print('.'); delay(500); } Serial.println(); Serial.printf("Connected, IP address: "); Serial.println(WiFi.localIP()); configTime( JST, 0, "ntp.nict.jp", "ntp.jst.mfeed.ad.jp"); } void loop() { time_t t; struct tm *tm; static const char *wd[7] = {"Sun","Mon","Tue","Wed","Thr","Fri","Sat"}; t = time(NULL); tm = localtime(&t); Serial.printf(" %04d/%02d/%02d(%s) %02d:%02d:%02d\n", tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, wd[tm->tm_wday], tm->tm_hour, tm->tm_min, tm->tm_sec); delay(1000); }
実行結果(最初がなんかおかしい・・・)
Connected, IP address: 192.168.0.9 1970/01/01(Thr) 00:00:00 2017/06/07(Wed) 22:45:54 2017/06/07(Wed) 22:45:55 2017/06/07(Wed) 22:45:56 2017/06/07(Wed) 22:45:57 2017/06/07(Wed) 22:45:58 2017/06/07(Wed) 22:45:59 2017/06/07(Wed) 22:46:00 2017/06/07(Wed) 22:46:01 2017/06/07(Wed) 22:46:02 2017/06/07(Wed) 22:46:03 2017/06/07(Wed) 22:46:04 2017/06/07(Wed) 22:46:05 2017/06/07(Wed) 22:46:06 2017/06/07(Wed) 22:46:07
以前にESP32で現在時刻を取得する記事を上げました ここ
予想ではありますが、この方法でもうまくいくと思います(動作未検証)
コメント
[…] 以前にESP8266で現在時刻を取得する記事をあげました ここ […]