irMagician や MQTT を使って外出先から家電を制御するアプリを作った.
irMagician の話は golang で irMagicain のライブラリを書いた にて.
MQTT の話は MQTT Broker を立てた にて.
制作物
アプリケーション名 : Riemoh
最初は PC 用のクライアントを作ったけど,今の時代スマホで使えなきゃダメだなと思って iPhone 版も作った(どちらも現状はオレオレ仕様になってるので公開はしてない).
システム構成
- MQTT ブローカー
- サーバアプリ(実際に家電を制御する)
- クライアントアプリ(家電を制御するためのコマンドを送る)
グローバル IP を持ってないので,さくら VPS 上に MQTT ブローカーを立てて,そこを経由して自宅の PC (サーバ)が irMagician を制御する.
サーバアプリのハードウェア構成
- OS: Windows7 64bit
- カメラ: Logicool C210
- 赤外線: irMagician II T
サーバ・クライアントアプリで使用する Topic 一覧
Topic 名 | 用途 |
---|---|
home/cmd |
コマンド送受信 |
home/resp |
コマンドのレスポンス送受信 |
home/server |
サーバ生死確認 |
まとめ
golang,swift,MQTT,カメラ,シリアル通信を使ってモノを作れたので楽しかった.irMagician 以外にも IRKit とか家電を赤外線で制御する製品はあるし,導入して使うだけなら簡単なんだろうけど,せっかくなら最低限が用意されている状態でいろいろいじってみたかったし満足.
今後
- エアコンが本当に付いたかどうか確認するのにカメラを使用しているが,カメラを使わない仕様にする.
- 赤外線 LED が向いてる方向の範囲内に入っている機器しか制御できないため,今はエアコンの制御のみに留まっているが,赤外線 LED がついている部分を改造して向いてる方向に依存しないようにする.