前回はWiFiの子機モードを試してみました。
今回は親機モードを試してみましょう。
目次
APモード(親機モード)について
ESP32-S3をAPモードに設定すると、インターネットとは独立したホットスポット(WiFiアクセスポイント)を構築して、他のWiFi機器が接続するのを待ちます。下記の図のように、ESP32-S3がホットスポットになります。スマートフォンやPCがESP32-S3と通信するためには、ESP32-S3のホットスポットに接続する必要があります。ESP32-S3と接続が確立されて初めて、双方向の通信が可能になります。
コード
/**********************************************************************
Filename : WiFi AP
Description : Set ESP32 to open an access point
Auther : www.freenove.com
Modification: 2022/10/31
**********************************************************************/
#include <WiFi.h>
const char *ssid_AP = "WiFi_Name"; //Enter the router name
const char *password_AP = "12345678"; //Enter the router password
IPAddress local_IP(192,168,1,100);//Set the IP address of ESP32 itself
IPAddress gateway(192,168,1,10); //Set the gateway of ESP32 itself
IPAddress subnet(255,255,255,0); //Set the subnet mask for ESP32 itself
void setup(){
Serial.begin(115200);
delay(2000);
Serial.println("Setting soft-AP configuration ... ");
WiFi.disconnect();
WiFi.mode(WIFI_AP);
Serial.println(WiFi.softAPConfig(local_IP, gateway, subnet) ? "Ready" : "Failed!");
Serial.println("Setting soft-AP ... ");
boolean result = WiFi.softAP(ssid_AP, password_AP);
if(result){
Serial.println("Ready");
Serial.println(String("Soft-AP IP address = ") + WiFi.softAPIP().toString());
Serial.println(String("MAC address = ") + WiFi.softAPmacAddress().c_str());
}else{
Serial.println("Failed!");
}
Serial.println("Setup End");
}
void loop() {
}
9~10行目のSSIDとパスワードは変更してもしなくてもどちらでも大丈夫です。
動作確認
シリアルモニターで出力情報を確認しながら、スマートフォンのWiFiスキャン機能を有効にしてみてください。すると、このスケッチ内で “WiFi_Name” と名付けられたESP32-S3のSSID_APが検出されるはずです。パスワードに “12345678” を入力すれば接続が可能です。また、スケッチ内の設定を変更することでAP名やパスワードを変更できます。
APモードを設定すると、メインループでStationの待ち受け処理をしなくて良いのは手軽で良いですね。
次回は親機/子機モードを試してみましょう。
コメント