Raspberry Pi + hubot + slackでPhilips Hueを制御する
自宅の室内灯は色が自由に変えられるLED電球、Philips Hueを使っている。
Philips HueはAPIが公開されており、同一ネットワーク内ならAPIを叩くことで制御することが出来る。
使い方は公式のGetting startedを参照。
かいつまんで説明すると、
- www.meethue.com/api/nupnp にアクセスしてHueのブリッジのIPアドレスを取得する
- http://<ブリッジのIPアドレス>/debug/clip.html にアクセスする
- ブリッジからユーザーIDを発行してもらう。ブリッジのボタンを押してからAPIを叩かないとエラーになる。
- http://<ブリッジのIPアドレス>/api/<ユーザーID>/lights/<ライトの番号>/state にJSON形式で状態を設定して PUT して制御する
これを、slack経由でhubotにHueを簡単に制御できるようにしてみた。
続きを読むオール3Dプリントラジコン戦車(仮)制作日記 その3
引き続き、ラジコン製作をしている。
今回は、簡単なLED制御機能を作った。
オール3Dプリントラジコン戦車(仮)制作日記 その2
引き続き、ラジコン戦車を制作している。
今回は、砲塔の上下動を改善した。
当初、砲塔の上下動にSG92Rサーボを使っていたが、トルク不足でプルプルしていた。
その当時の映像がこちら。
オール3Dプリントラジコン戦車(仮)制作日記 その1
Raspberry Pi 2 + Hubot + Webカメラで撮影した画像をslackに送る
Raspberry Pi 2にWebカメラ繋いでHubotとSlack連携で外出しながらにして自宅の写真が送れたら面白そうだなぁ、と思ってググっていたら、該当のCoffeeScriptが見つかったのでありがたく使わせて頂きました。
これで完結するのも微妙なので、導入するにあたってつまづいた点を記録しておく。
使用したカメラ
以前アキバで1000円で購入したWebカメラを使用した。
Slack-nodeのインストール
slack-nodeをインストールしてなかったのでインストール。
$ npm install slack-node
Web API Tokenの取得
SlackのWebAPIを使うには、Tokenを取得しなければならないらしい。
はじめこれに気づかず、Slackのhubot連携時に取得したTokenを使っていた。
下記サイトでログインしてTokenを発行する。
環境変数に上記で取得したTokenを追加する。
SLACK_API_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ここでもちょっとハマった。
はじめ、/bin/hubotに SLACK_API_TOKEN を追記してhubotを再起動したがSLACK_API_TOKENが未設定になってAPIがエラーになってしまっていた。
/bin/hubotではダメだと思い、ユーザーの.bashrcにSLACK_API_TOKENを追記したがやっぱりダメだった。
結局Raspberry Pi 2を再起動したら通信できるようになった。
.bashrcをsourceし忘れていただけかもしれないが原因不明。
レッツ撮影
cameraとつぶやくと撮影してくれる。
(※プライバシー保護のためモザイクを掛けてます)
観葉植物やペット等を飼っていれば、それらの確認用に使えるけども、あいにく両方共持ち合わせていないので基本的に代わり映えのしない部屋の様子が写るだけになってしまっている…。
というか、逆になにか写ってたら怖すぎる。
昔、『パラノーマル・アクティビティ』という映画を見て以来、自宅監視カメラにトラウマを持ってしまっている(なぜ設置した)
今後の展開としては、motionの動体検知機能を使ってカメラの映像に動きがあったらSlackに通知する機能なんかを作ってみたい。