- 2021年9月9日
M5Stackに スマートフォンでWiFi情報を伝える方法
概略
WiFiに自動で設定することを聞いたことがありますか? スマートフォンだけでM5StackをWiFiに接続できることはどう思いますか? 一緒にやってみよう
まず、SmartConfigとは何ですか? M5StackのSmartConfigモードを使用するにはどうすればよいですか?
SmartConfig とは
Smartconfigは、ユーザーがデバイス自体(電話)の操作を通じてインターネットにすばやく接続できるWiFiデバイス(ここではM5Stack)の情報をコンフィグする場合に言及される概念です。
以下の画像でイメージしています。
簡単に理解すると、Smart configは、プログラムでWiFi情報を宣言してファームウェアを書き込む通常の方法ではなく、スマートフォン経由でWi-Fiネットワーク情報(Wi-Fi名とWi-Fiパスワードを含む)をM5Stackに送信することを意味します。
では、SmartConfigの利点は何ですか?
- スマートフォンを介してM5StackのWiFiを簡単にコンフィグします。
- コンフィグするためのファームウェアを再書き込む必要はありません
- Smartconfigを使用して、一度に複数のデバイスをコンフィグできます
環境を準備しましょう。
ハードウェア
M5Stack、スマートフォン
ソフトウェア
- ArduinoIDEをパソコンにインストールします。このツールでソースコードを作成しM5Stackに書き込みます。
- スマートフォンの方ではESP-TOUCH SmartConfigをインストールします。このアプリはGoogle Play StoreかApple Storeかどちらもあります。
ソースコードを作成します
#include "WiFi.h" #include <M5Stack.h> void setup() { M5.begin(); M5.Power.begin(); M5.Lcd.println("SmartConfig Test"); //Init WiFi as Station, start SmartConfig WiFi.mode(WIFI_AP_STA); WiFi.beginSmartConfig(); //Wait for SmartConfig packet from mobile M5.Lcd.println("Waiting for SmartConfig."); while (!WiFi.smartConfigDone()) { delay(500); M5.Lcd.print("."); } M5.Lcd.println(""); M5.Lcd.println("SmartConfig received."); //Wait for WiFi to connect to AP M5.Lcd.println("Waiting for WiFi"); while (WiFi.status() != WL_CONNECTED) { delay(500); M5.Lcd.print("."); } M5.Lcd.println(); M5.Lcd.println("WiFi Connected."); M5.Lcd.print("IP Address: "); M5.Lcd.println(WiFi.localIP()); } void loop() { // put your main code here, to run repeatedly: M5.Lcd.setCursor(0, 100); M5.Lcd.setTextColor(ORANGE, BLACK); M5.Lcd.printf("WiFi Signal: %d dBm \r\n", WiFi.RSSI()); delay(500); }
次に、下記の手順を実行しましょう
- 上記のプログラムをビルドしてM5Stackに書き込んで、M5Stackを起動した後にSmartconfig機能でWiFi情報を探します。
- スマートフォンを現在WiFiネットワークに接続します。
- スマートフォンにインストールされているESP-TOUCH SmartConfigアプリを開いてWiFi情報を入力してConfirmボタンを押してWiFi情報をM5Stackに伝えます。
最後に
ファームウェアをあまり変更せずにM5StackのWiFi情報をすばやく設定できます。開発環境がなくてパソコンがなくてどこでもスマートフォンだけでM5Stackの接続WiFi情報を設定できたり更新できたりします。