mythingsを使ってHackeyを活用してみる

みなさま、初めまして。
こぐすんといいます。
元々システムの営業やってたのですが、ハードウェアの世界に転身して今はCerevo（セレボ）っていう所で働いてます。

今回は私が関わったHackey（ハッキー）という製品がmythingsに追加されたので、追加の仕方をTipsとしてまとめてみました。
## Hackeyってなんぞ？

Hackeyは手のひらに載るサイズのインターネットに繋がるキースイッチです。
無線LANに接続することで、インターネット上のさまざまなサービスに通知を送信したり、Hackeyが通知を受信したりすることが出来ます。

![Hackey_CG1.jpg](https://qiita-image-store.s3.amazonaws.com/0/100422/085ced9a-b693-74b8-0a2e-67d86ac4bb07.jpeg)

## トリガーについて
Hackeyに出来ることはシンプルで、現時点では2つです。
- 鍵をひねることでWebサービスに通知する機能
- 外部サービスからの通知を受けてLEDを点滅させる機能

<img width="500" src="https://qiita-image-store.s3.amazonaws.com/0/100422/2d0d0444-17c0-d2f6-0539-d31c8bd2e511.jpeg">

<img width="500" src="https://qiita-image-store.s3.amazonaws.com/0/100422/a1399885-7499-36cf-d8cb-536022fe3647.jpeg">

## Hackeyの動き
HackeyはHackeyサーバーに各サービスへのWebhookアクション、LED通知等の設定情報を持ちます。HackeyはHackeyサーバーへ認証することで、認証トークンがHackeyとHackey Serverに保管されます。認証された状態で、Hackeyサーバーに設定を行うことでHackeyがひねられたことがHackeyサーバーに通知されます。

HackeyはHackey Serverを経由して外部のサービスに対してHTTP request (POST)を送信します。
また、Hackeyには、本体に内蔵したLEDを光らせる機能がありますので、外部からHTTP request (GET)を受け付けるとLEDを点滅させる事もできます。

- - - 

# mythingsを使ってみる
今回は2015/12/16にmythingsへ公式チャンネルとして追加されたので、設定について簡単な流れをまとめてみました。

1. Hackeyを登録する
2. Hackeyをmythingsから認証する
3. Hackeyの動作を設定する

## 1. Hackeyを登録する。
HackeyはWi-Fiの設定と、ダッシュボードアカウントへのひも付けを行うことで使用することが出来ます。
詳しくはこちらのURLを御覧ください。
https://hackey-manual.cerevo.com/ja/first-setup/

## 2. Hackeyをmythingsから認証する
mythingsのアプリ上からHackeyを選択して、認証画面へ移動します。
既に登録済みのHackeyのダッシュボードアカウントでログインすると、認証確認画面が表示されます。
認証すると、Hackeyを使ったトリガーとアクションを追加することが出来るようになります。

画像は後で追加します。

## 3. Hackeyの動作を設定する
mythingsでは、Hackeyのダッシュボードで行うようなURLの指定は必要ありません。
動作のトリガーをより簡単に設定できます。
今回は例として、アプリに対してプッシュ通知を送信する設定と、明日の天気予報が雪だった時にLEDを緑色に点滅させる機能を設定してみます。

### 3-1. アプリに対してプッシュ通知を送信する
1.トリガーをタップして、Hackeyを選択します。

<img width="375" alt="IMG_3306.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/31ea8ec3-ea57-3b81-7928-bb9cee93bc8a.png"> <img width="375" alt="IMG_3307.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/3c3e9eef-df9b-7082-851f-b3e2509ba434.png">

認証が必要な場合は認証します。

<img width="375" alt="IMG_3308.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/bd963e46-bb4b-ae63-dabd-d6a7f67fc267.png"> <img width="375" alt="IMG_3309.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/0a974f47-d3e2-4c50-5434-52ab3d3e6917.png">

2.設定内にある"どちらかにひねったら"を選択します。

<img width="375" alt="IMG_3310.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/c9945ad9-f837-654b-be95-afddc28ed862.png">

3.動作させるHackeyを選択します。
4.右に回した場合（ONにした時）か、左に回した場合（OFFにした時）かを選択します。

<img width="375" alt="IMG_3312.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/4ea95e61-ac2d-14c4-2ec8-af634091304d.png"> <img width="375" alt="IMG_3313.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/723a058f-477d-ccb5-5f16-88d266d993e9.png">

5.アクションをタップして、プッシュ通知を選択します。
6.プッシュ通知されるメッセージを設定します。
<img width="375" alt="IMG_3314.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/b9bb785d-0576-abb5-164d-7f35c585929c.png"> <img width="375" alt="IMG_3315.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/d435014e-a349-efbf-e5f1-c1674e52e4a2.png">

<img width="375" alt="IMG_3316.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/79ad51c7-a313-9cf3-cc5d-5e4905214ca7.png"> <img width="375" alt="IMG_3317.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/9381f203-f0f3-0b43-2a74-84262e99d9af.png">

7.設定項目を保存して作成ボタンを押します。
これで15分に1回、プッシュ通知が送信されます。

<img width="375" alt="IMG_3318.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/dc019e21-c8bc-af16-bea4-14a965f6aaea.png">


### 3-2. 天気予報に応じてHackeyを指定した色で点滅させる
1.トリガーをタップして、Yahoo天気・災害を選択します。
<img width="375" alt="IMG_3331.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/05eb3672-6760-4dd0-8767-0500953bd087.png">

2.設定内にある"特定の天気だったら"を選択します。
<img width="375" alt="IMG_3319.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/2612d7c6-0172-2f88-d09e-e1f0e608c6dd.png">

3.地域の設定を選択し、雪の設定を選択します。
<img width="375" alt="IMG_3326.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/c0b74d8a-8d19-ab8a-78de-fb998c54c1ba.png">

4.アクションをタップして、Hackeyを選択します。
<img width="375" alt="IMG_3322.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/a2c7e525-cbbb-0558-c3a1-b3915291e334.png">

5.Hackeyを指定した後、アクション時に光らせる色と秒数を設定します。
<img width="375" alt="IMG_3324.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/305868b6-aedf-8515-a918-ee2db2307428.png"> <img width="375" alt="IMG_3325.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/2d240d5d-57d1-e163-505b-edf8a77ce497.png">

6.設定項目を保存して作成ボタンを押します。
<img width="375" alt="IMG_3329.png" src="https://qiita-image-store.s3.amazonaws.com/0/100422/e236613e-c1b8-9480-4685-24659f76b68e.png">

以上で設定完了です。
Hackeyは設計思想の段階からシンプルなUIを目指しました。
是非一度エンジニアの方に使って頂ければ、楽しく遊んでいただけるのではないかと思います。

## おまけ
Hackeyの公式マニュアルに近日中に分解方法をお知らせする予定です。
保証対象外となりますが、鍵をボタンに替えたり、中身から結線替えたり、
3Dプリンタで色々弄くれたりするので、是非一度サイトご覧頂ければと思います。
https://hackey-manual.cerevo.com/ja/

ではでは。