esp32-homekitを試す

AppleTVを買った

Apple TVを買ったら、HomeKitに興味が出てきました。

LAN内での操作なら、iPhoneとHomeKitアクセサリだけで完結するようですが、AppleTVをハブとすることで外出先からHomeKitアクセサリのコントロールができるとのこと。

GitHubで公開されているHomeKitライブラリであるesp32-homekitをforkして、試してみました。

PlatformIOに対応させてみる

ただ、ビルド環境としてESP-IDFを使う前提となっていて、環境構築が面倒に感じたので、普段使っているPlatformIO(+VsCode)でやれないか、試行錯誤しました。

結果、無理やり感はありますが、何とかPlatformIO環境があればビルドできる形になりました。対応した内容は、以下の通りです。(もっと正しい方法がありそうな気がしてますが…)

  1. srcディレクトリだけがビルド対象となっており、他ディレクトリ(wolfssl)にあるソースをビルド対象にできない。
    • ビルド対象としたいwolfsslディレクトリ配下をsrcディレクトリにコピーするようにした。
  2. 上記のソースでコンパイルエラーとなる。
    • include pathに、「src/wolfssl」を追加した。
  3. platform側のソースがsrc直下「nvs.h」をincludeしてしまい、コンパイルエラーとなる。
    • 「src/nvs.h」を「src/nvs_.h」とリネームしてファイル名がバッティングしないようにした。。

ソースはこちらになります。esp32-devkitcに書き込み、iPhone上のHomeアプリからGPIOのON/OFF制御ができることを確認しています。

残課題

ですが、M5Stackはうまく動いてくれません。WiFi自体が動作してない模様で、原因は調査中です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です