今回は僕の覚え書きみたいなものです。進捗があれば#2も書きます。
はじめに
みなさん、たとえばリビングのこたつに入っていてスマホを見てるとき、部屋に行きたいけど部屋の暖房をつけ忘れて寒い!暖房つけに行くのも寒くて嫌!そんなことありませんか?
そんな時思うのです。スマホからエアコンが操作できたらな〜〜
なんだって?うちのエアコンはスマホから操作できる?対応してなかったらSwitchBotを買え?
そんなことはわかってます。けど自室のエアコンはそんなハイテクな機能対応してないし、SwitchBotは高いんです!エアコンをつけに行くのを怠けるためだけに1万も出せません!
もうわかりますよね
『高ければ 作ってしまえ ホトトギス』
てことでLet’s自作の第一弾としてまずは軽く探して見つけてきたライブラリの実験をしていきます。
目標
まず初めに僕がしたいのはリビングから自室の暖房の電源を入れることです。
リモコンは赤外線で通信してるのでもちろん壁を隔てたリビングからは操作できません。
言っちゃえばHomeKitとかスマートホームデバイスとして作らなくてもESPと赤外線のモジュール組み合わせてIPアドレス打てば動くようにするようにした方が簡単で早いです。
けど、なんかオシャレじゃないじゃないですか?!スマートじゃなくないですか?!
じゃあどうしようか考えた時に調べてたら結構ESP32を使ってスマートホームデバイスを自作している人が多かったので参考にして作ろうとなったわけです。
では自作していくにあたってはじめに目標を決めていきます。そして以下の要件を満たす物を自作していこうと思います。
- Apple HomeKitの規格に対応
- エアコンのOn・Offを最低限できる
この二点だけです。
また、なぜスマートホームデバイス標準規格のMatterの規格に対応させないのかというと、Matterだと、接続するのにiOS18以前であった場合、AppleTVやHomePodなどのホームハブが必要となります。
今回の自作がうまくいき、家族も使いたいとなった場合、スマホが古いと対応できなくなるかもしれなくなるからです。
HomeSpanライブラリを使う
では実際に試していこうと思います。
1.サンプルを開く
はじめにArduinoIDEを開き、ライブラリマネージャーからHomeSpanと検索し、インストールします。

ライブラリのGitHub https://github.com/HomeSpan/HomeSpan
そうしたら適当にサンプルプログラムを試していこうと思います。
今回は05-WorkingLEDいうやつを試してみます。
ArduinoIDEからファイル→スケッチ例→カスタムライブラリのスケッチ例↓HomeSpan→05-WorkingLEDをクリックします。

2.ESPに配線をする
サンプルプログラムが開けたらESPにLEDを配線します。

配線はこんな感じです。GPIO16と17にLEDを繋いだだけです。
抵抗値はLEDに合わせて適当に変えてください。
3.ESPに書き込み
配線ができたらそのままボードをESP32を選択して書き込み!
・・・をするとコンパイルでエラーが出ます。サンプルやのになんでやねん!
そう焦らず、ボードのエラーを見るとメモリ不足のようです。

このエラーの対処方法は偉大なこのサイトの管理者rintaくんが丁寧に解説してくれてるのでそちらを参照してください。
今回もこのエラーはpartition schemeをHuge Appにしたら解消しました。
4.Wi-Fiの設定
ESPに書き込めたらシリアルモニタを開いてください。
シリアルモニタを開いてからリセットボタンをおすとなんか色々出てくると思います。
まずはWi-Fiの設定をしていきます。
シリアルモニタに大文字で「W」と入力し、送信すると「WiFi Setup – Scanning for Networks」となり、接続可能なWi-FiのSSIDがリスト形式で表示されます。(すげー)
ちなみにESP32は2.4GHz帯のアンテナしかついてないのでもちろん2.4GHz帯のSSIDのみ表示されます。

一覧が表示されたら接続したいWi-FiのSSID名を入力して送信します。このとき表示してくれたSSIDをコピペすると打ち間違いがなく安心です。
SSIDを送ると続いてパスワードを要求されるので同じように送ります。

パスワードを送ると自動で再起動し、なんか色々出てきたら完了です。
ちなみにこの後に設定するパスワードを含めて設定した情報はESP本体に保存されるので、USBを抜いても引き継がれます。
ですので、パソコンに繋げて設定後にコンセントに繋ぎ直して実用ってことも可能です。
5.ペアリングの設定コードを設定
パスワードが設定されていないと出るので設定していきます。

シリアルモニタにSと任意のパスワード8桁を送ると完了です。
例えばパスワードを「12345678」にする場合は「S12345678」と送信します。
ちなみにパスワードを「12345678」に設定しようとするとtoo simple!と怒られます。
素直に生年月日とかにしときましょう。


設定したらこんな感じになると思います。
6.iPhoneから設定
設定ができたのでいよいよスマホから操作できるようにしていきます。
iPhoneの「ホーム」アプリを開き、アクセサリを追加からその他のオプションを押し
「HomeSpan LED」を選択します。



すると認定されていないアクセサリウンタラカンタラが出てきますが構わず「このまま追加」を押します。
そうしたら設定コードを求められるので先ほど設定した8桁のコードを入力します。
あとは画面に従っていい感じに追加していけば完了です。





適当に照明の名前は
「ESP1」「ESP2」とかにしときます。
これでiPhone側からLEDを操作できるようになります。やったね
ちなみにGPIO17の方に接続したLEDはPWMで0~100%で明るさを調整できます。
Tips QRコードの作成
設定の際に機器を選んでコードを打ってってしましたが、これ一発でQRコード読むだけでできるようになります。

設定コードを設定した際のメッセージの下の行「Setup Paylood for・・・」みたいなところのQR Coce:に続く部分をコピーしてQRコード作成サイトとかでテキストとして作成すると、追加の時にQRコードを読むだけでよくなります。
※QRコードは(株)デンソーウェーブの登録商標です。
まとめ
めっちゃ便利なHomeSpanライブラリを試しに使ってみました。
めちゃめちゃ簡単にHomeKitのデバイスが作れてライブラリ様様です。
ぜひお試しを
ありがとうございました

3Dプリンターとかマイコンとか好きです
広く浅く
コメント