ご家庭でIoT
ラズベリーパイに接続した電子回路からエアコンをON/OFFできるようにしたのが昨日。
それを遠隔地から制御できるようにした。
といっても、Web記事を見て真似ただけ。
Slackというチャットツール的なものを利用して使用者が任意にコマンドを発し、ラズベリーパイ内に設置したHubotというChatBot的なもので受けるとラズベリーパイ内のコマンドがキックされて、ラズベリーパイに接続された電子回路が赤外線を発するという仕組み。
作業としては、Hubotのインストール・botの作成、Slackサービスの開始、HubotとSlackの連携、Hubotの自動起動というステップに分けられる。
それぞれ躓きながらおよそ一日がかりでなんとかした。
Unix的なものを使うのは久しぶりのことであり、加えて管理者的なことをやるのは考えてみたら初めてのことで、環境設定といえばウィンドウシステム起動時とかターミナル起動時の設定スクリプトくらいしか経験がないことを失念していて、Linuxでも何とかなるべえと思っていたが、存外なんともならない時間を過ごしてしまった。
特にハマったのは最後で、foreverというものを使ってhubotをデーモン化するのだが、これをinit.dに記すとどうもうまくいかない。なんとかしてエラーログのありかを突き止めてみると、foreverどこやねん、見つからないねん、とか言われてる。
Hubotのpackage.jsonに追記してうまくいったカンジ。
昨日の続きからはじまっておおむねこちらの流れに沿ったが、
nvmとかnpmとか、Slack側のHubot設定というのがわからなくて、このあたりを参考にさせていただき、
自動起動のあたりはいろいろ探し回って、このあたりを組み合わせて、
実現に至った。
Slackはスマホ版もあるので、そこからコントロールする。ネットのお勉強は不要となった。
実を言えば、住処の気温は住人不在ならばそれほど不快適ではなく、帰宅時にうだるような暑さを室内に感じることはあまりない。住居内の高熱源体は住人という事実……住人が不在ならばPCも熱源にならないからだけど。
ゆえに今回実現した「帰宅する頃には適度に冷えているように外出先から住処のエアコンをONにする」という仕組みはあまり必要ではない。
ゆえに次は「夜間、寝苦しい気温に達したときにエアコンがONになり、快適な気温になったらOFFにする仕組み」を狙う。