SmartConfigを毎回実行するのは面倒
SSIDとパスワードを毎回ESP32に指定するのは面倒なので、一度設定したSSIDとパスワードをESP32の内部メモリに記憶します。
使用機材
今回はESP32のみです。
プログラム
ArduinoIDEにて、[スケッチ]->[ライブラリのインストール]->[Preferences]をクリック
初回起動時に指定した内容を記憶させ、次回起動時に記憶した内容を表示するプログラムを実行してみます。
#include <Preferences.h> // 内部メモリにアクセスするための定義 Preferences preferences; // Wifi-SSID String ssid; // Wifi-PASSWORD String pswd; // メモリのキー情報 const char * PRE_KEY = "mdk-wifi"; // SSIDのキー情報 const char * PRE_SSID_KEY = "ssid"; // パスワードのキー情報 const char * PRE_PSWD_KEY = "pswd"; // 初期値文字列 const char * PRE_NONE_STR = "none"; void setup() { // シリアルの初期化 Serial.begin(115200); // メモリの領域を読み込む preferences.begin(PRE_KEY, false); // SSIDとパスワードの取得 ssid = preferences.getString(PRE_SSID_KEY, PRE_NONE_STR); pswd = preferences.getString(PRE_PSWD_KEY, PRE_NONE_STR); // Wifiの情報が保存されていない場合 if (ssid == PRE_NONE_STR) { // 接続が完了したらSSIDとパスワードを記憶(仮のSSIDとパスワード) preferences.putString(PRE_SSID_KEY, "ssid-test"); preferences.putString(PRE_PSWD_KEY, "123456789"); Serial.println("Setting OK!"); } else { // 取得した内容を出力 Serial.println("SSID:" + ssid); Serial.println("PSWD:" + pswd); } } void loop() { }
■初回起動の結果
初回は「Setting OK!」と出ています。
この時、仮のSSIDとパスワードを保存しています。
■2回目の起動の結果
初回で保存していた内容がちゃんと出力されていることを確認できました。
まとめ
これで内部メモリにSSIDやパスワードなどを保存し、次回以降の起動時に読み込むことが可能になりました。
ご覧いただきありがとうございます♪