猫のために明かりを灯す

# 猫のために明かりを灯す

## 概要

- 最近猫を飼い始めたんですが、こんな話を相方にされました。
- 仕事に行く時は電気を消して外出する。仕事から帰ってくると電気が真っ暗なので、留守番してる猫がなんとなくかわいそうとの事。
- 実際問題、夜行性の猫が部屋が暗くなった程度で寂しさを感じるものなのか？という疑問はあるが、気持ちは分かるのでなんとかしてみようと思った次第です。

## 要件

- ウチの部屋にはメインの電灯とは別に、天井に電灯を設置できる配線器具があるのでそこにペンダントライトを設置する。
- このペンダントライトが以下のような挙動になると良い
  - 部屋が暗くなったら自動で点灯する
  - 部屋が明るい時は自動で消灯する(部屋に日が射す間、帰ってきてメインの電灯を付けた時) 

## 方法

- いくつか既製品も含めて、軽く調べてみましたが、光センサー付きで自動で点灯してくれるライトというのは割と存在しました。
- ですが、足元で控えめに光ったり、関節照明な的なものがほとんどだったのでとりあえず既製品はやめました。
- そこで勢い余って買って放置されてた(オイ)  「[Hue](http://www2.meethue.com/ja-jp/)」 と、[MESH](http://meshprj.com/jp/)の「[Brithnessタグ](http://meshprj.com/jp/tag/MESH-100PA-Brightness.html)」を作って仕組みを自分で作って見ることに。

## Hue

![](https://qiita-image-store.s3.amazonaws.com/0/1843/3a63a3fd-bae6-604a-153b-682f4518c0b3.png)

![](https://qiita-image-store.s3.amazonaws.com/0/1843/6ff46d6a-dd56-21dd-e749-f88b1e90d774.png)

- [Hue](http://www2.meethue.com/ja-jp/) は電球をiPhone/iPadアプリから制御できちゃうという変わった商品
- 無線LANルーターにつながったブリッジという機器を介して、電球を操作できる。
- 普通の電球と同じようにセットするだけで良い。
- ペンダントライトの器具は、Amazonで適当に安いヤツを買いました。
- 写真のようにセットするだけ、Hue公式のアプリから、電球を付けたり消したり、色を変えたりできる。
- [HueのAPI](http://www.developers.meethue.com/philips-hue-api)は公開されてるので、LAN内のブリッジを介してWebAPIで電球を操作できる
- そもそもHueの公式アプリには「アラーム」という時間に寄って電球をつける機能はあるが、季節によって部屋の明るさは異なるのでこの機能は使わなかった（既にMESHを購入した後で引っ込みがつかなかったともいう）
- Hue それなりにお高いので気をつけて。

##  MESH

![](https://qiita-image-store.s3.amazonaws.com/0/1843/ed4b9d93-2347-85f2-5fd5-43b9f15737fc.png)

- [MESH](http://meshprj.com/jp/) は Sonyが出してる電子タグ
- 各種センサーやボタンなどを持つ電子タグを、iOS上の専用アプリから、組み合わせて遊ぶことできる。
- 今回は「部屋の明るさの変化」に応じて、Hueの電球を点けたり消したりしたいので、「[Brithnessタグ](http://meshprj.com/jp/tag/MESH-100PA-Brightness.html)」を購入しました。
- 「Brightnessタグ」を使うことで「明るさが変化したら〜する」というのを実現できます。
-  タグの上部についてるレンズっぽいもので明るさを判定してるっぽい。

##  MESHレシピの作成

-  iPadでMESHアプリにタグを認識させたら、HueとMESHを連携させます。
-  HueとMESHはアプリ上から簡単に連携ができて「Hueタグ」がアプリに追加されます。 
-  [Q. Philips hueとの接続の方法を教えてください](http://support.meshprj.com/hc/ja/articles/212118898)
- 「明るさが変化したら〜」という条件を使って、「暗くなった時に電球を付けて」「明るくなったら電球消す」の二つの処理をレシピにしました。

![](https://qiita-image-store.s3.amazonaws.com/0/1843/42e9482b-eef1-1e90-997d-90005a1894a0.png)

- 条件は以下のようになっています。
  1. 「明るさが1になったら」-> 「Hueの電球を点灯する」
  2. 「明るさが3以上になったら」-> 「Hueの電球を消す」

- 「Brightnessタグ」 は「1〜10」の範囲で、明るさを判定する
- 1の条件で電灯を付けた時に、大体壁際の明るさが「2」ぐらい。
- なので電気を消す条件は「明るさが3以上」と設定しました
- (じゃないと1で電気が着いた瞬間に2の条件が発動して消えてしまう)
- つまりMESHタグを壁のどの辺に貼ればよいか、何回か試す必要があった。

## 運用

- MESHはつい最近まで「iPad/iPhoneがスリープ中は使えない」という状態でしたが、最近のアップデートにより、バックグラウンドでアプリを実行できるようになったらしいです。
- [Q iPad, iPhone, iPod touchのスリープモード中は使えますか？](http://support.meshprj.com/hc/ja/articles/212117688)
- 幾つか制約はあるもののずっと動かし続けられるのは嬉しい。
- 例えば残念な制約としては「iPadの中で他のアプリを動かしたりすると、レシピが動かなくなる」とかいうケースがありました。
- 「夜寝る時、電気消したら、電気つくけど(ややこしい)どうすんの？」と聞かれましたが、アプリ終わらす or 電球の電源OFFにすれば良いという雑な運用。

##  実際に動かす

- Hueの電球の用意
- Meshレシピの設定
- Meshタグの壁への設置

この辺が終わったらあとは実際に試すだけ。大体こんな感じになります。

![](https://j.gifs.com/gJQzBk.gif)


左下に、MESHのタグが貼り付けてあって、手でふさいで暗くすると電気が点く、手を取ると電気が消える。


## まとめ

- 電子工作的な知識が全く無くても、すぐにこういう事ができるのが凄いと思った。MESHどんどん進化してほしい。
- MESH は 他のタグも買いたくなるけど、まだ一個一個が高いなぁという印象。
- MESH は [SDK](http://support.meshprj.com/hc/ja/articles/212780817)でソフトウェアタグを作ることが可能なのでいろいろ楽しめそう。
- MESHは複数のレシピが一緒に動かせないのがちょっと残念。
- とりあえず、相方も(猫も？)喜んだみたいなのでよかった。しばらく問題ないか動かしてみる所存。
- なんかタグのデザイン的に壁に貼ったりすると微妙なので、部屋に溶け込める専用のケースとかあるといいなぁと思いました。

![](https://qiita-image-store.s3.amazonaws.com/0/1843/0f93f746-81c5-a2d7-9507-479deb5ab3e0.png)
「うむ。よくやった。褒めてつかわす。」

## 進捗

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">これ。MESHのカスタムタグでSlackに通知するやつを仕込んだ結果。今無人の我が家で電気がすごい勢いで点いたり消えたりしてる障害が検知できて便利。 すまん.... 猫耐えてくれ.... <a href="https://t.co/WKpXXtke0v">https://t.co/WKpXXtke0v</a></p>&mdash; 特茶でおなじみ 照左衛門 (@tell_k) <a href="https://twitter.com/tell_k/status/709272549977227265">2016年3月14日</a></blockquote>

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr"><a href="https://twitter.com/tell_k">@tell_k</a> 明るさタグ、温度・湿度タグ、人感タグを24時間稼働させる場合についてですが、「タイマータグ(一定の間隔で)→各種タグ(○○を確認する)」を利用することで稼働時間を大幅に伸ばすことが出来ますので、もしよろしければお試し下さい！ <a href="https://twitter.com/hashtag/MESHprj?src=hash">#MESHprj</a></p>&mdash; MESH公式 (@MESHprj_jp) <a href="https://twitter.com/MESHprj_jp/status/710324672341024768">2016年3月17日</a></blockquote>

## 参考

- [ワイヤレスなブロック同士を簡単に連携できる MESH を手に入れたので現状で出来ることをまとめてみた](http://tips.hecomi.com/entry/2015/05/17/205931)
- [MESHのソフトウェアタグを使ってmyThingsとつないでみる]( http://qiita.com/masato/items/159a35c5ce741b6f1058)