AppleTVを買った
Apple TVを買ったら、HomeKitに興味が出てきました。
LAN内での操作なら、iPhoneとHomeKitアクセサリだけで完結するようですが、AppleTVをハブとすることで外出先からHomeKitアクセサリのコントロールができるとのこと。
GitHubで公開されているHomeKitライブラリであるesp32-homekitをforkして、試してみました。
PlatformIOに対応させてみる
ただ、ビルド環境としてESP-IDFを使う前提となっていて、環境構築が面倒に感じたので、普段使っているPlatformIO(+VsCode)でやれないか、試行錯誤しました。
結果、無理やり感はありますが、何とかPlatformIO環境があればビルドできる形になりました。対応した内容は、以下の通りです。(もっと正しい方法がありそうな気がしてますが…)
- srcディレクトリだけがビルド対象となっており、他ディレクトリ(wolfssl)にあるソースをビルド対象にできない。
- ビルド対象としたいwolfsslディレクトリ配下をsrcディレクトリにコピーするようにした。
- 上記のソースでコンパイルエラーとなる。
- include pathに、「src/wolfssl」を追加した。
- platform側のソースがsrc直下「nvs.h」をincludeしてしまい、コンパイルエラーとなる。
- 「src/nvs.h」を「src/nvs_.h」とリネームしてファイル名がバッティングしないようにした。。
ソースはこちらになります。esp32-devkitcに書き込み、iPhone上のHomeアプリからGPIOのON/OFF制御ができることを確認しています。
残課題
ですが、M5Stackはうまく動いてくれません。WiFi自体が動作してない模様で、原因は調査中です。