MACアドレスの取得
#include <ESP8266WiFi.h>
void setup() {
Serial.begin(115200);
delay(10);
Serial.println();
Serial.print("ESP8266 MAC: ");
Serial.println(WiFi.macAddress());
}
void loop() {
}
参考:ESP8266: Get MAC address – techtutorialsx
これだけで取得できました。
APに接続する
#include <ESP8266WiFi.h>
const char* ssid = "ここにSSIDを書く";
const char* password = "ここにWi-Fiのパスワードを書く";
void setup() {
Serial.begin(115200);
delay(10);
WiFi.begin(ssid, password);
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
// put your main code here, to run repeatedly:
}
参考:【ESP32】HelloServer よるWi-Fi 動作確認 – お部屋でモバイル
ESP32の時のソースがほぼそのまま使えます。
Wi-Fi機能を起動時からOFFにする
#include <ESP8266WiFi.h>
void setup() {
Serial.begin(115200);
WiFi.disconnect();
delay(1);
WiFi.mode(WIFI_OFF);
WiFi.forceSleepBegin();
delay(1);
}
void loop() {
}
参考:
・ESP-WROOM-02 のWiFiを止めるには?:息子と一緒に Makers:So-netブログ
・雪豹でESP8266 - Qiita
・esp8266 Low Power mode - modem sleep - Everything ESP8266
// Insert whatever code here to turn off all your web-servers and clients and whatnot
WiFi.disconnect();
WiFi.forceSleepBegin();
delay(1); //For some reason the modem won't go to sleep unless you do a delay(non-zero-number) -- no delay, no sleep and delay(0), no sleep
And then wake the WiFi up:
WiFi.forceSleepEnd();
delay(1);
esp8266 Low Power mode - modem sleep - Everything ESP8266
どうもタイミング依存があるようで、ネットで見つけた情報ではdisconnectの後のdelayは無かったのですが、私のところではそれでは動かなくて入れました。
雪豹でESP8266 - Qiita
私の環境(機器)では、delay(1)を入れなくても動作してるようですが、そうでない環境もあるようです。念のために入れておけばよいかと思う。
後半に、スリープからの復帰のサンプルプログラムがあるので、これ使えば、必要な時だけWI-FI起動とかが可能な感じに見えます。
コメントを残す