ESP32では普通にWi-Fiのルーターに接続してIPを割り当ててもらう代わりに、IPを指定して接続する方法があります。
サンプルコード
#include <WiFI.h>
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";
const IPAddress ip(192,168,0,99);
const IPAddress subnet(255,255,255,0);
void setup(){
if (!WiFI.config(ip,ip,subnet)){
Serial.println("Failed to configure!");
}
WiFi.begin(ssid,password);
While (WiFI.status() != WL_CONNECTED){
delay(500);
Serial.print(".");
}
}
void loop(){
//以下ループ処理
}
上記はホームゲートウェイを指定しない方法です。通常これで動きますが、ゲートウェイのアドレスを指定したい場合は以下のようにしましょう。
#include <WiFi.h>
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";
const IPAddress ip(192,168,0,99);
const IPAddress gateway(192.168.0.31); //gatewayのIPアドレス
const IPAddress subnet(255,255,255,0);
void setup(){
if (!WiFi.config(ip,gateway,subnet)){
Serial.println("Failed to configure!");
}
WiFi.begin(ssid,password);
While (WiFi.status() != WL_CONNECTED){
delay(500);
Serial.print(".");
}
}
解説
WiFi.config(ip,gateway,subnet,primaryDNS,secondaryDNS);
のような引数を持ちます。必ず指定しなければいけないのはip
gateway
subnet
の3つです。上記のサンプルプログラムではこの必須3項目のみを入力しています。
ESP32では普通にWi-Fiのルーターに接続してIPを割り当ててもらう代わりに、IPを指定して接続する方法があります。
目次
サンプルコード
上記はホームゲートウェイを指定しない方法です。通常これで動きますが、ゲートウェイのアドレスを指定したい場合は以下のようにしましょう。
解説
WiFi.config(ip,gateway,subnet,primaryDNS,secondaryDNS);
のような引数を持ちます。必ず指定しなければいけないのはip
gateway
subnet
の3つです。上記のサンプルプログラムではこの必須3項目のみを入力しています。