Raspberry Pi と Hubot で観葉植物の水やりを自動化する
·1 分で読めます

Raspberry PI と Hubot を使って、Slack から観葉植物の水やりを実行できる装置を作りました。
材料

- Raspberry Pi Type A 256MB
- GPIO 拡張ボード
- ジャンパワイヤ
- スピーカーケーブル
- エポキシ接着剤
- 灯油缶
- アルミ線
- S8050 トランジスタ (詰合せで購入)
- 灯油ポンプ
- チューブジョイント
- シリコンチューブ (4mm x 6mm)
- コルク栓
回路

灯油ポンプ に直接はんだ付けして、+- 極をスピーカーケーブルでブレッドボードに引っ張ってきて、Raspberry Pi から 5V 電源を供給します。
S8050 トランジスタにはそれぞれ、
- E (エミッター): Raspberry Pi GND
- B (ベース): Raspberry Pi GPIO 0
- C (コレクター): 灯油ポンプの - 極
が接続されています。

パイプの分配

植物への水の供給は、シリコンチューブから行います。
コルク栓をカッターナイフで、灯油ポンプのパイプと丁度合う様な大きさに加工し、中央に穴を開け、チューブジョイントをエポキシ接着剤で固定します。

Hubot で Slack と連携
チャット応答には Hubot を使います。
Raspberry PI がプライベートネットワークにあり、Webhook が設定できないため、XMPP 経由で Slack と連携します。
詳しいセットアップ方法は、前のエントリーに書いています。
npm ライブラリの pi-gpio を使って、メッセージに応答し、GPIO の信号を操作します。
以下の様なやりとりで、水やりを指示できます。

全てのソースコードは ngs/watering-pi で管理しています。
完全自動化など
もう一匹、Heroku で動かしている Hubot を Room に常駐させ、例えば hubot-cron を使うことによって、定時に水やりを実行する様に設定できます。
cronbot new job 0 10 * * * say wpi waterそれだけだと、世話している感がないので、Yo と連動して水やりを指示する様にする予定です。
