自宅状況モニタの作成にあたって、奇妙な不具合に遭遇しました。
修正コードは、GitHubにコミットしています。
少しずつ機能追加しながらEchonetScannerの開発を続けています。手持ちのiPhoneで動作確認して問題なく動いていたのですが、最近購入したiPhone 12 miniで試したところ、クラッシュが発生してしまいました。
事象発生はいつも同じ操作で、バックグラウンドで情報要求のUDPパケットを送信、受信データを画面に反映させるところです。
例年通り、マネーフォワードクラウド会計から確定申告書を作成してますが、今年もハマったので備忘録として残しておきます。(仕訳入力は日々行っているので、すんなりいってくれると嬉しいんですが…)
去年はクラウド会計上で確定申告書を作成できましたが、今年はクラウド確定申告という画面(アプリ)に飛ばされるようになりました。
今年は3回のハマりポイントがありましたが、いずれもクラウド確定申告アプリで何とかできると思うので、ご対応いただけると嬉しいですね…
Wio Terminal用Ethernet HATに使うつもりのW5500(WIZnet社製)ですが、マルチキャスト通信を行うには注意が必要ということがわかりました。
結論としては、マルチキャスト受信とユニキャスト送信が必要な場合、ソケットを2つ使う必要があるようです。
ググったところ、こちらの情報(can’t receive multicast packet and respond)にも同様のことが書かれていました。
と言っても、Wi-SUNインタフェースボードをケースに入れただけです。
Fusion360の1年ライセンスを購入したので、その習作としてケースを作成してみました。なかなか綺麗にできたので満足しているところです。
seeed社製Wio Terminalを買ってみました。40ピンのGPIOヘッダ(ソケット)があり、ピン配置はラズパイ互換となっています。
そこで、Wi-SUNインタフェースボードとの接続実験を行ってみました。
と言っても、繋ぐ信号はUARTのTxD、RxD、(無線モジュール用)リセットの3本のみです。
4連休の後半2日を使って、最終的に疎通確認までできましたが、単純なところで躓いてしまいました。(できれば、もう少し先に進めたかったんですが…)
UnicodeDecodeError: ‘cp932’ codec can’t decode byte 0x98 in position 134: illegal multibyte sequence
というエラーメッセージで、C++(Arduino)のswitch~case文の中で起きました。「multibyte」とありますが、特に日本語を使ってるとかはありません。
case 0xc0:
uint8_t r = 0x00;
break;
各プロパティ値の表示を意味ある形にして、ノード一覧をソートしました。プロパティの設定は制約としてできないようにしていますが、スキャナ(Echonet機器のプロパティ値の取得)としては、それなりに使えるようになったと思います。
プログラムソースはGitHubで公開しています。
nginx-proxy&letsencrypt-nginx-proxy-companionコンテナ環境下で仮想ホストを追加する手順を残しておきます。