<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>2022/12/31 on Yano&#39;s digital garage</title>
    <link>https://www.bravotouring.com/~yano/archives/2022/12/31/</link>
    <description>Recent content in 2022/12/31 on Yano&#39;s digital garage</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 31 Dec 2022 21:33:11 +0900</lastBuildDate>
    <atom:link href="https://www.bravotouring.com/~yano/archives/2022/12/31/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>IRKit再改修</title>
      <link>https://www.bravotouring.com/~yano/diary/it/20221231_irkit.htm</link>
      <pubDate>Sat, 31 Dec 2022 21:33:11 +0900</pubDate>
      <guid>https://www.bravotouring.com/~yano/diary/it/20221231_irkit.htm</guid>
      <description>&lt;p&gt;最近auひかり方面のルーター&lt;a href=&#34;https://www.bravotouring.com/~yano/diary/it/20210901_asus_ax3000.htm&#34;&gt;ASUS RT-AX3000&lt;/a&gt;からDHCPでアドレスが降ってこないケースが目立つようになってきたので、年明けのルーター交換を視野に&lt;a href=&#34;https://www.bravotouring.com/~yano/diary/it/20221225_irkit.htm&#34;&gt;IR受信結果のアップロード&lt;/a&gt;を首絞めした&lt;span class=&#34;Tradename&#34;&gt;IRKit&lt;/span&gt;のWiFi接続先も変えておこうかな、とRESETスイッチを長押しして&lt;span class=&#34;Warning&#34;&gt;ファクトリーリセット&lt;/span&gt;。&lt;/p&gt;&#xA;&lt;table align=&#34;right&#34; class=&#34;Panorama&#34;&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;&lt;img alt=&#34;IRKitのサービスを終了しました。 2022-12-10追記&#34; src=&#34;https://www.bravotouring.com/~yano/images/2022/20221225_irkit.jpg&#34;/&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td class=&#34;PhotoMemo&#34;&gt;&lt;a href=&#34;https://maaash.jp/2022/04/deprecating-irkit/&#34;&gt;IRKitサービス終了しました - maaash.jp&lt;/a&gt;&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;…したところ、iPhoneアプリからのWiFi接続設定を行っても&lt;span class=&#34;Warning&#34;&gt;&#34;インターネットに接続してください&#34;&lt;/span&gt;と表示されて、何度やっても設定できなくなった。&lt;/p&gt;&#xA;&lt;p&gt;「しまったー、ここでも&lt;a href=&#34;https://maaash.jp/2022/04/deprecating-irkit/&#34;&gt;IRKitサービス終了&lt;/a&gt;が効いているのか…」と思ったが&#34;あとの祭り&#34;というやつだ。&lt;/p&gt;&#xA;&lt;p&gt;大晦日夕方の失態に軽く焦りつつ、どうしたもんかと&lt;a href=&#34;https://getirkit.com/#IRKit-Device-API&#34;&gt;Device HTTP API&lt;/a&gt;を眺めたところ、&lt;span class=&#34;Software&#34;&gt;curl&lt;/span&gt;で&#34;POST /wifi&#34;すれば設定できるという事はわかった。&lt;/p&gt;&#xA;&lt;p&gt;ただ、SSIDなどを&lt;span class=&#34;Warning&#34;&gt;シリアライズ&lt;/span&gt;するのもちょっと面倒なので、それならファームウェアを直接書き換える方が早いかも？と思って&lt;span class=&#34;Path&#34;&gt;IRKit.ino&lt;/span&gt;を確認したところ、&lt;span class=&#34;Strong&#34;&gt;connect&lt;/span&gt;関数の&#xA;&lt;blockquote&gt;&#xA;309     if (keys.isWifiCredentialsSet()) {&lt;br/&gt;&#xA;310         if (config::ledFeedback &lt; config::LED_OFF) {&lt;br/&gt;&#xA;311             color.setLedColor( 0, 1, 0, FullColorLed::BLINK_THEN_ON ); // green blink: connecting&lt;br/&gt;&#xA;312         }&lt;br/&gt;&#xA;313&lt;br/&gt;&#xA;314         &lt;span class=&#34;Strong&#34;&gt;gs.join&lt;/span&gt;(keys.getSecurity(),&lt;br/&gt;315                 keys.getSSID(),&lt;br/&gt;316                 keys.getPassword());&lt;br/&gt;315     }&lt;/blockquote&gt;&#xA;あたりの&lt;span class=&#34;Strong&#34;&gt;gs.join&lt;/span&gt;でWiFi接続しているのが確認できたので、単刀直入に&lt;span class=&#34;Strong&#34;&gt;gs.join&lt;/span&gt;の引数をハードコードしてしまおうかと思ったのだが、isWifiCredentialsSetなどkeysクラスの実装を眺めてみるとそれだけでは済まないような気がしてきた。&lt;/p&gt;&#xA;&lt;p&gt;代わりにkeys.set関数でSSIDなどをEEPROMに書き込む方向で試行錯誤してみたところ、これでも問題無くWiFi接続できたので、結局RESETスイッチ長押し契機のlong_pressed関数でkeys.setするように改修。&lt;/p&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://github.com/acourreges/device/tree/settings-led-cloud/firmware&#34;&gt;device/firmware at settings-led-cloud&lt;/a&gt;からの差分は以下の通り。&#xA;&lt;blockquote&gt;&#xA;$ git -b diff&lt;br/&gt;&#xA;diff --git a/firmware/src/IRKit/IRKit.ino b/firmware/src/IRKit/IRKit.ino&lt;br/&gt;&#xA;index 2351b59..81a6614 100644&lt;br/&gt;&#xA;--- a/firmware/src/IRKit/IRKit.ino&lt;br/&gt;&#xA;+++ b/firmware/src/IRKit/IRKit.ino&lt;br/&gt;&#xA;@@ -169,6 +169,12 @@ void long_pressed() {&lt;br/&gt;&#xA;     color.setLedColor( 1, 0, 0, FullColorLed::ALWAYS_ON ); // red: error&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;     keys.clear();&lt;br/&gt;&#xA;+#ifndef CLOUD_CONTROL&lt;br/&gt;&#xA;+    keys.set(GSSECURITY_WPA2_PSK,&lt;br/&gt;&#xA;+             PB(&#34;&lt;span class=&#34;Strong&#34;&gt;SSID&lt;/span&gt;&#34;,1),&lt;br/&gt;&#xA;+             PB(&#34;&lt;span class=&#34;Strong&#34;&gt;PASSWORD&lt;/span&gt;&#34;,2));&lt;br/&gt;&#xA;+/*  keys.setKey(P(&#34;5284CF0D43994784897ECAB3D9935498&#34;)); */&lt;br/&gt;&#xA;+#endif // CLOUD_CONTROL&lt;br/&gt;&#xA;     keys.save();&lt;br/&gt;&#xA;     software_reset();&lt;br/&gt;&#xA; }&lt;/blockquote&gt;&#xA;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
