M5Stack core2のローカルIPアドレスを調べる

WiFi IPaddress

WiFiルータに割り当てられたM5StackのローカルIPアドレスを取得し、M5StackのLCD画面に表示するプログラムを作成します。

目次

M5StackのローカルIPアドレス

M5Stackに内蔵されているマイコンESP32はWiFiの機能を持っています。M5StackをWiFiに接続しWebサーバーとして使うことができます。M5Stackが取得したセンサ値をPCやスマホのWebブラウザに表示させたり、WebブラウザからM5Stackのスピーカを鳴らすなどのリモートコントロールすることが考えられます。

WebブラウザからM5Stackへのアクセスは、ブラウザのアドレスバーにM5StackのローカルIPアドレスを指定します。ローカルIPアドレスは接続しているWiFiルータによって自動的に割り当てられます。この割り当てられたローカルIPアドレスを事前に調べておく必要があります。

IPアドレス取得関数

WIFIライブラリのIPAddressクラスのWiFi.localIP()という関数を使ってLCD画面にローカルIPアドレスを表示します。

https://www.arduino.cc/en/Reference/WiFi

IPアドレス表示プログラム

以前作成したWiFi接続のプログラムにIPアドレスを返す関数を追加しました。7, 31, 32行目に追加しています。また、気分を変えて、画面背景を白、文字を黒に設定してみました。

#include <M5Unified.h>
#include <WiFi.h>

const char *ssid = "************";     //WiFi SSID
const char *password = "*************";  //WiFi password

IPAddress ip; //IP address

void setup() {
  auto cfg = M5.config();
  M5.begin(cfg);

 M5.Display.fillScreen(TFT_WHITE);
  M5.Display.setTextColor(TFT_BLACK, TFT_WHITE);
  M5.Display.setTextSize(2);
  M5.Display.print("--- WiFi & IP address ---\n\n");
  M5.Display.print("Connecting");

  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    M5.Display.print(".");
  }

  M5.Display.print("\n\n");
  M5.Display.print("WiFi connected!\n\n");
  M5.Display.print("IP address: ");

  ip = WiFi.localIP(); //IP address取得
  M5.Display.print(ip); //IP address表示
}

void loop() {
}

プログラム実行結果

LCD画面表示の4行目ですが、IPアドレスは「192.168.1.25」と表示されました。

IP アドレスの画面表示

まとめ

WiFiルータに割り当てられたローカルIPアドレスを知りたいときはWiFi.localIP()関数を使って取得することができます。取得したIPアドレスをWebブラウザのアドレスバーに打ち込めばWiFi経由でM5Stackにアクセスすることができるようになります。今後はWebブラウザからM5Stackにアクセスするプログラムを作成してみようと思います。

目次