IRKit再改修
最近auひかり方面のルーターASUS RT-AX3000からDHCPでアドレスが降ってこないケースが目立つようになってきたので、年明けのルーター交換を視野にIR受信結果のアップロードを首絞めしたIRKitのWiFi接続先も変えておこうかな、とRESETスイッチを長押ししてファクトリーリセット。

…したところ、iPhoneアプリからのWiFi接続設定を行っても**“インターネットに接続してください”**と表示されて、何度やっても設定できなくなった。
「しまったー、ここでもIRKitサービス終了が効いているのか…」と思ったが"あとの祭り"というやつだ。
大晦日夕方の失態に軽く焦りつつ、どうしたもんかとDevice HTTP APIを眺めたところ、curlで"POST /wifi"すれば設定できるという事はわかった。
ただ、SSIDなどをシリアライズするのもちょっと面倒なので、それならファームウェアを直接書き換える方が早いかも?と思ってIRKit.inoを確認したところ、connect関数の
309 if (keys.isWifiCredentialsSet()) { 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 }
あたりのgs.joinでWiFi接続しているのが確認できたので、単刀直入にgs.joinの引数をハードコードしてしまおうかと思ったのだが、isWifiCredentialsSetなどkeysクラスの実装を眺めてみるとそれだけでは済まないような気がしてきた。
代わりに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/
IRKit http://getirkit.com/
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/