SDからiniファイルの読込み
今回はSDカードにiniファイルを作ってWifiのSSIDとパスワードを管理するようにしました。
起動時のsetup()でiniファイルのSSIDとパスワードを読込む処理を作りました。
読込むiniファイル
SDの中にsetフォルダを作ってconfig.iniファイルを格納します。
中身はこちらです。
########################### # Config.ini ########################### #SSID YOUR_SSID ← 変更箇所 #SSID_PASS YOUR_PASS ← 変更箇所
iniファイルの読込み処理
こちらがコードです。
#include <M5Stack.h> #include <WiFi.h> #include <string> void setup() { String config_ini; String ssid; String password; /* 初期化 */ M5.begin(); /* SD初期化 */ SD.begin(); /* 文字サイズを変更 */ M5.Lcd.setTextSize(1); /* ファイルオープン */ File datFile = SD.open("/set/config.ini"); if( datFile ) { M5.Lcd.println("File open successful"); /* サイズ分ループ */ while(datFile.available()) { config_ini = config_ini + datFile.readString(); } /* ファイルクローズ */ datFile.close(); } else { M5.Lcd.println("File open error hello.txt"); } /* SSID取得 */ config_ini = config_ini.substring(config_ini.indexOf("#SSID\r\n") + 7); ssid = config_ini.substring(0, config_ini.indexOf("\r\n")); /* パスワード取得 */ config_ini = config_ini.substring(config_ini.indexOf("#SSID_PASS\r\n") + 12); password = config_ini.substring(0, config_ini.indexOf("\r\n")); /* connect to WiFi */ M5.Lcd.print("Connecting to YOUR_SSID "); /* wifi初期化 */ WiFi.begin(ssid.c_str(), password.c_str()); while (WiFi.status() != WL_CONNECTED) { delay(500); M5.Lcd.print("."); } M5.Lcd.println(" CONNECTED"); /* disconnect WiFi as it's no longer needed */ WiFi.disconnect(true); WiFi.mode(WIFI_OFF); } void loop() { }
これでSSIDやパスワードが変わってもiniファイルを書き換えるだけで済みますね。
あとは毎回コードに書いたSSIDとパスワードを書き換えずにブログに載せれます(笑)