以下の合わせ技。
「ESP-WROOM-20 + SSD1306 + Piezo SP」
「ESP8266のWi-Fi接続時のSSIDとPassをブラウザから設定する。」
GPIO0はプルアップしてあって、タクトスイッチの押下でGNDとつながるように配線してある。
プログラム時にはこれを押したままリセット・ボタンを押す。
このボタンを流用して、起動時に1秒待ってGPIO0を見に行ったときにLOWになってたら以下を実行する、というスケッチになっている。
ESP-WROOM-02がアクセス・ポイントになる。
WiFi.softAP();
加えてWEB Serverになる。
ESP8266WebServer webserver(80);
webserver.on( , , );
webserver.begin();
webserver.handleClient();
ブラウザからSSIDとPASSを送ってSPIFFSに保存する。
押してなくてHIGHだったら以下を実行する。
SPIFFSからSSIDとPASSを読み込む。
アクセス・ポイント(無線LANルータ)に接続する。
WiFi.begin(ssid.c_str(), pass.c_str());
WEB Serverになる。
WiFiServer wifiserver(80);
wifiserver.begin();
PCなどからの呼び出しを待つ。
WiFiClient client = wifiserver.available();
ざっと、こんな流れだが、良く分かっていないことばかりだ。
追記
ここで作ったようなスケッチには人様から需要があるのだろうか。
とふと思ったので以下で売り出してみた。
https://neo-sahara.booth.pm/items/1924298