最近auひかり方面のルーターASUS RT-AX3000からDHCPでアドレスが降ってこないケースが目立つようになってきたので、年明けのルーター交換を視野にIR受信結果のアップロードを首絞めしたIRKitのWiFi接続先も変えておこうかな、とRESETスイッチを長押ししてファクトリーリセット。
IRKitサービス終了しました - maaash.jp |
…したところ、iPhoneアプリからのWiFi接続設定を行っても"インターネットに接続してください"と表示されて、何度やっても設定できなくなった。
「しまったー、ここでもIRKitサービス終了が効いているのか…」と思ったが"あとの祭り"というやつだ。
大晦日夕方の失態に軽く焦りつつ、どうしたもんかとDevice HTTP APIを眺めたところ、curlで"POST /wifi"すれば設定できるという事はわかった。
ただ、SSIDなどをシリアライズするのもちょっと面倒なので、それならファームウェアを直接書き換える方が早いかも?と思ってIRKit.inoを確認したところ、connect関数の
309 if (keys.isWifiCredentialsSet()) {あたりのgs.joinでWiFi接続しているのが確認できたので、単刀直入にgs.joinの引数をハードコードしてしまおうかと思ったのだが、isWifiCredentialsSetなどkeysクラスの実装を眺めてみるとそれだけでは済まないような気がしてきた。
310 if (config::ledFeedback < config::LED_OFF) {
311 color.setLedColor( 0, 1, 0, FullColorLed::BLINK_THEN_ON ); // green blink: connecting
312 }
313
314 gs.join(keys.getSecurity(),
315 keys.getSSID(),
316 keys.getPassword());
315 }
代わりにkeys.set関数でSSIDなどをEEPROMに書き込む方向で試行錯誤してみたところ、これでも問題無くWiFi接続できたので、結局RESETスイッチ長押し契機のlong_pressed関数でkeys.setするように改修。
device/firmware at settings-led-cloudからの差分は以下の通り。
$ git -b diff
diff --git a/firmware/src/IRKit/IRKit.ino b/firmware/src/IRKit/IRKit.ino
index 2351b59..81a6614 100644
--- a/firmware/src/IRKit/IRKit.ino
+++ b/firmware/src/IRKit/IRKit.ino
@@ -169,6 +169,12 @@ void long_pressed() {
color.setLedColor( 1, 0, 0, FullColorLed::ALWAYS_ON ); // red: error
keys.clear();
+#ifndef CLOUD_CONTROL
+ keys.set(GSSECURITY_WPA2_PSK,
+ PB("SSID",1),
+ PB("PASSWORD",2));
+/* keys.setKey(P("5284CF0D43994784897ECAB3D9935498")); */
+#endif // CLOUD_CONTROL
keys.save();
software_reset();
}
年越し前にミスを帳消しにできて良かった。
【参照】
●Eleclog. https://eleclog.quitsq.com/
┗ミニマルなIRKitクローンを作ってiOSから家電を制御する 2016年9月20日
●AkiCart https://aki.prioris.jp/
┗ESP-WROOM-02でミニマルなIRKitクローンを作る
●IRKit http://getirkit.com/
┣Device HTTP API
┗Internet HTTP API
●maaash.jp https://maaash.jp/
┣IRKit Internet HTTP APIと販売開始に向けて 2014年1月
┣IRKitリリース!そして再入荷予定について 2014年1月
┣IRKitの脆弱性とファームウェアアップデートのお願い 2015年9月
┣Nature RemoのKickstarterを開始しました 2016年5月
┗IRKitサービス終了(そろそろ) 2022年4月23日 【2022年12月10日追記】
●ICT備忘録 http://category7.blog.fc2.com/
┗IRKit の LEDの光 と Cloud Serverへのアクセス をオフにしてみた。 2015年8月15日
●GitHub https://github.com/
┣IRKit
┣irkit/device: Infrared-WiFi-HTTP bidirectional proxy device
┗acourreges/device: Infrared-WiFi-HTTP bidirectional proxy device
●Wikipedia https://ja.wikipedia.org/wiki/
┣Arduino
┣マルチキャストDNS
┗Bonjour