uniface.hub

ユニフェイスの開発者ブログ


Title M5Stackに スマートフォンでWiFi情報を伝える方法
  • 2021年9月9日
  • than.thanh
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に伝えます。
アプリを開いてWiFi情報を入力する
M5StackはスマートフォンからWiFi情報をもらってからWiFiに接続できました

最後に

ファームウェアをあまり変更せずにM5StackのWiFi情報をすばやく設定できます。開発環境がなくてパソコンがなくてどこでもスマートフォンだけでM5Stackの接続WiFi情報を設定できたり更新できたりします。