M5Stack を WiFiに接続する
この記事を担当:こうたろう
1986年生まれ
音大卒業後日本、スウェーデン、ドイツにて音楽活動
ドイツで「ピアノとコントラバスのためのソナタ」をリリースし、ステファン・デザイアーからマルチマイクREC技術を学び帰国
金田式DC録音のスタジオにて音響学を学ぶ
独立後芸術工房Pinocoaを結成しアルゼンチンタンゴ音楽を専門にプロデュース
その後写真・映像スタジオで音響担当を経験し、写真を学ぶ
現在はヒーリングサウンド専門の音楽ブランド[Curanz Sounds]を立ち上げ、ピアニスト, 音響エンジニア, マルチメディアクリエーターとして活動中
当サイトでは音響エンジニアとしての経験、写真スタジオで学んだ経験を活かし、制作機材の解説や紹介をしています。
♪この記事には広告リンクを含みます♪
WiFi接続
WiFiはssidとpasswordを最初に定義し、WiFi.begin関数で呼び出します。
以下にサンプルコードを掲載しておきます。
#include <M5Stack.h>
#include <WiFi.h>
const char* ssid = "あなたのssid";
const char* password = "あなたのpassword";
void setup() {
M5.begin();
M5.Lcd.setTextSize(2);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED){
delay(500);
M5.Lcd.print('.');
}
M5.Lcd.print("\r\nWiFi connected\r\nIP address: ");
M5.Lcd.println(WiFi.localIP());
}
void loop() {
}
これで簡単に繋がります。
ポイントM5Stack は2.4Ghzですので注意です。
WiFiに接続できたら次にネットワークからしっかりと情報を取得していきましょう。
NTPプロトコルを使って時刻をWiFiで取得する
NTPプロトコルを使って現在時刻を取得するライブラリがArduinoに用意されています。
Arduinoのインストールなどについてはこちら
在宅介護にも使える! / M5Stackで温湿度計を作る5つの手順
NTP=Network Time ProtocolサーバーとM5Stackを同期します。
サンプルコード
#include <M5Stack.h>
#include <WiFi.h>
#define JST (3600L * 9)
const char* ssid = "あなたのWiFi";
const char* password = "あなたのpassword";
void setup() {
M5.begin();
M5.Lcd.setTextSize(2);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED){
delay(500);
M5.Lcd.print('.');
}
M5.Lcd.print("\r\nWiFi connected\r\nIP address: ");
M5.Lcd.println(WiFi.localIP());
delay(500);
M5.Lcd.setTextSize(3);
configTime(JST,0,"ntp.nict.jp", "time.google.com",
"ntp.jst.mfeed.ad.jp");
}
void loop() {
struct tm tm;
if(getLocalTime(&tm)){
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setCursor(60,80);
M5.Lcd.printf("%d/%2d/%2d",
tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday);
M5.Lcd.setCursor(80,140);
M5.Lcd.printf("%02d:%02d:%02d", tm.tm_hour, tm.tm_min, tm.tm_sec);
}
delay(1000);
}
#define JST (3600L * 9)
にて、協定世界時間との時差を入力します。
configTimeにてNTPサーバーとの接続を定義。
これでバッチリ表示できました。
printfに関しては自由にカスタマイズしてみてください。