カテゴリー
ECHONET iOS

EchonetScannerをiOS14.1で動かすと、Fatal Errorになってしまう。

少しずつ機能追加しながらEchonetScannerの開発を続けています。手持ちのiPhoneで動作確認して問題なく動いていたのですが、最近購入したiPhone 12 miniで試したところ、クラッシュが発生してしまいました。

事象発生はいつも同じ操作で、バックグラウンドで情報要求のUDPパケットを送信、受信データを画面に反映させるところです。

  • 問題なく動作したデバイス
    • iPhone 11 Pro(iOS13.5.1)
    • iPhone X(iOS14.4)
    • iPhone 7(iOS14.4)
  • クラッシュが発生したデバイス
    • iPhone 12 mini(iOS14.1)
カテゴリー
確定申告

今年も確定申告

例年通り、マネーフォワードクラウド会計から確定申告書を作成してますが、今年もハマったので備忘録として残しておきます。(仕訳入力は日々行っているので、すんなりいってくれると嬉しいんですが…)

去年はクラウド会計上で確定申告書を作成できましたが、今年はクラウド確定申告という画面(アプリ)に飛ばされるようになりました。

今年は3回のハマりポイントがありましたが、いずれもクラウド確定申告アプリで何とかできると思うので、ご対応いただけると嬉しいですね…

カテゴリー
Arduino ECHONET Ethernet

W5500のマルチキャストの挙動に注意

Wio Terminal用Ethernet HATに使うつもりのW5500(WIZnet社製)ですが、マルチキャスト通信を行うには注意が必要ということがわかりました。

結論としては、マルチキャスト受信とユニキャスト送信が必要な場合、ソケットを2つ使う必要があるようです。

ググったところ、こちらの情報(can’t receive multicast packet and respond)にも同様のことが書かれていました。

カテゴリー
Wio Terminal

Wio Terminal用Ethernet HATの試作

Wi-SUNゲートウェイのWio Terminal化を検討中ですが、やはりWiFiではなくEthernetで運用したいと思いました。

また、単純にWio TerminalでEthernetを使いたい、という需要もあるのではないか、と。

そこで、WIZ550ioを使ったEthernet HATを試作しました。(とりあえず、ユニバーサル基板で。近日中にプリント基板を起こす予定です。)

なお、動作確認は、Ardiono開発環境でEthernet3ライブラリを使用して行いました。

カテゴリー
3Dプリンタ Wio Terminal

Wio Terminal用Wi-SUN HATの制作

と言っても、Wi-SUNインタフェースボードをケースに入れただけです。

Fusion360の1年ライセンスを購入したので、その習作としてケースを作成してみました。なかなか綺麗にできたので満足しているところです。

カテゴリー
Arduino Wio Terminal

Wio Terminalとラズパイ用Wi-SUNインタフェースボードの接続実験

seeed社製Wio Terminalを買ってみました。40ピンのGPIOヘッダ(ソケット)があり、ピン配置はラズパイ互換となっています。

そこで、Wi-SUNインタフェースボードとの接続実験を行ってみました。

と言っても、繋ぐ信号はUARTのTxD、RxD、(無線モジュール用)リセットの3本のみです。

4連休の後半2日を使って、最終的に疎通確認までできましたが、単純なところで躓いてしまいました。(できれば、もう少し先に進めたかったんですが…)

カテゴリー
M5Stack PlatformIO

M5Stack(PlatformIO)環境での奇妙なエラーと回避方法

謎のエラーメッセージ

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 iOS

ECHONETスキャナを作ってみる(5)

なんとかひと段落

各プロパティ値の表示を意味ある形にして、ノード一覧をソートしました。プロパティの設定は制約としてできないようにしていますが、スキャナ(Echonet機器のプロパティ値の取得)としては、それなりに使えるようになったと思います。

プログラムソースはGitHubで公開しています。

カテゴリー
Docker

仮想ホストの追加方法

nginx-proxy&letsencrypt-nginx-proxy-companionコンテナ環境下で仮想ホストを追加する手順を残しておきます。

  1. サブドメインをDNS登録(nginx-proxyが稼働しているサーバのIPアドレスと紐づけ)
    • ウチではお名前.comからドメイン(windesign.work)を入手しているので、お名前.com NaviにログインしてDNS設定。
  2. 仮想ホスト用ディレクトリを作成
  3. docker-compose.ymlを作成
  4. コンテナ起動
    • 起動するだけでnginx-proxyが見つけてくれる。
カテゴリー
ECHONET iOS

ECHONETスキャナを作ってみる(4)

先日の課題が一応解決

しばらく待たないと情報取得できない件ですが、依存ライブラリのELSwiftに1行追加したところ、すんなり情報が返ってくるようになりました。(後述の通り、依存ライブラリの修正は不要

追加したのは、ELSwift.swiftのinitialize()メソッドの最後に、自ノードインスタンスリストSの取得パケット送信(マルチキャスト)。

try ELSwift.sendOPC1( EL_Multi, [0x0e,0xf0,0x01], [0x0e,0xf0,0x01], 0x62, 0xd6, Node_details["d6"]! );

オリジナルのコードでは、

  1. インスタンス通知(0xD5のINF)

だけだったのが、

  1. インスタンス通知(0xD5のINF)
  2. 自ノードインスタンスリストS取得(0xD6のGet)

となる格好となります。

よく見たら、追加する行はELSwift.search()メソッドの内容と同じでした。

依存ライブラリをオリジナルに戻し、ELSwift.initialize()を呼び出した直後にELSwift.search()を呼び出せば同等の結果になることを確認できました。