今回はM5Stackで遊んでみました。
これも前にM5StickCと一緒に買って積みハードになっていました。
サンプルスケッチを簡単にまとめただけですが、自分用のメモも兼ねてシンプルなソースを書きました。
Wi-fi経由でNTPサーバから時間を取得して日時を表示するまでのサンプルです。
#include <time.h>
#include <M5Stack.h>
#include <WiFi.h>
const char* ssid = "(Wi-fiアクセスポイントのSSID)";
const char* password = "(Wi-fiアクセスポイントのパスワード)";
const char* ntpServer = "ntp.jst.mfeed.ad.jp";
const long gmtOffset_sec = 9 * 3600;
const int daylightOffset_sec = 0;
void setup() {
M5.begin();
M5.Lcd.clear(TFT_BLACK);
M5.Lcd.setTextColor(TFT_WHITE, TFT_BLACK);
M5.Lcd.setTextSize(4);
WiFi.begin(ssid, password);
for (int i = 0; i < 120 && WiFi.status() != WL_CONNECTED; i++) {
delay(500);
}
if (WiFi.status() != WL_CONNECTED) {
}
if (WiFi.status() == WL_CONNECTED) {
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
struct tm t;
if (!getLocalTime(&t)) {
}
}
WiFi.disconnect(true);
WiFi.mode(WIFI_OFF);
}
void loop() {
struct tm t;
if (getLocalTime(&t)) {
M5.Lcd.setCursor(0, 0);
M5.Lcd.printf("%04d/%02d/%02d", (1900 + t.tm_year), (t.tm_mon + 1), t.tm_mday);
M5.Lcd.setCursor(0, 40);
M5.Lcd.printf("%02d:%02d:%02d", t.tm_hour, t.tm_min, t.tm_sec);
}
delay(100);
}