16
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

myThingsをつかったHackeyからslackへのメッセージ通知

Last updated at Posted at 2015-10-28

販売されたばかりのHackeyを使って、myThings経由でslackへの通知をさせてみました。
HackeyCerevoさんが販売している、ウェブサービスを制御するための鍵型スイッチです。
あえて鍵でon/offすることで、リアルなアクションをネットと連携させられる点が魅力です。通知系のチャンネルが充実しているmyThingsとも相性がよいとおもいます。
Hackeyはwebhook方式に対応しているサービスを前提にトリガーを通知できるため、myThingsでこれをうけられるようにするため、webscript.ioを利用してみました。

IMG_3061.png

##概要
今回は、これからがっつり開発をするぞ!というときに、自ら気合をいれると同時に、チームメンバー(特に上司)に**”邪魔しないでほしい!”**というアピールをするという想定にしました。
Hackeyの鍵をONにすると、IDCFチャンネルのtrigger-1に通知がいき、指定のslackの部屋に"集中モードに入ります!"というメッセージをいれるようにします。

myThingsと自作デバイスでどのようなことができるかについてきになるかたは、公式サイトこちらの情報を参照ください。

##Hackeyをセットアップ

  1. myHackeyへのアカウント登録
    myHackeyにアクセスして、サインアップします。
    ここで発行されるPINコードがデバイス登録のさいに必要になります。

  2. Hackeyのwifi接続
    電源をいれるとHackey自体がWifiのAP(Hackey-xxxxxxx)として動作しているので、設定用のPCで該当APに接続の上、http://192.168.4.1にアクセスします。
    "Set Access Point"を選び、wifi設定を入力します。

  3. Hackeyのアクティベーション
    "regist this hackey"から、アクティベーションを行います。

スクリーンショット 2015-09-25 9.30.58.png

##myThingsサーバの設定
masatoさんmyThingsをはじめよう - Part2をベースに、myThingsサーバを構築します。
myThingsサーバとのやりとりのためにowner、Hackeyとのやりとりのためにtrigger-2を利用するので、ownerとtrigger-2のUUIDとTOKENをメモっておいてください。

##webscript.ioの設定
webscript.ioは、サーバーをたてずにWebサーバー機能を提供するサービスで、GitHubStripeなどのwebサービスでwebhookのターゲットとして利用することが多いようです。ここでは無料ユーザでできる機能で対応します。

  1. ターゲットの設定
    webscript.ioのsignupをすませます。signup後にhackeyからの通知先のターゲットを設定します。
    scriptから"create a New Script"を選択します。
    スクリーンショット 2015-09-27 12.36.35.png

ターゲットのURLはここでは、mythings.webscript.io/turnonとします。

スクリーンショット 2015-09-25 23.21.49.png

  1. スクリプトの設定
    "script"を選択し、ターゲットにアクセスがあった場合は、IDCFチャンネルサーバのtiger-2へ通知をとばすように設定します。
    myThingsサーバの設定でメモした、trigger-2のUUIDとTOKENを以下の画面で入力してください。

script2.png

local status = http.request({
	method='post',
	url='http://{IP Address}/data/{trigger-2のUUID}',
	headers={
		meshblu_auth_uuid='{trigger-2のUUID}',
		meshblu_auth_token='{trigger-2のTOKEN ID}'
	}}).statuscode

スクリプトを保存すれば設定は終了です。
webscript.ioの無料ユーザーは、スクリプト保存期間が7日間に限定されるので、継続的に利用をしたい場合は有料ユーザーになる必要があります。

##webhookアクションの設定
myhackeyにアクセスし、webhookアクションの設定をおこないます。
ダッシュボードのHackeyのステータス"から、Webhook actionのアクションの追加を選択し、webscript.ioで設定したターゲットのURLを登録します。

target設定.png

##myThingsアプリでの組み合わせ設定
・IDCFチャンネルサーバの登録
myThingsをはじめよう - Part4: 「IDCF」チャンネルを認証するを参考に、IDCFチャンネルの登録を行ってください。
たまにうまくIDCFチャンネルが認証ができないケースがあるようです。myThingsアプリから一旦ログアウト/ログインしてから、認証をするとうまくいくようです。

・トリガーとアクションの設定:IDCFチャンネルとslackチャンネルの設定
IDCFチャンネルをトリガーとして選択し、trigger-2を選択します。
その後、slackチャンネルでメッセージを出力したい箇所とメッセージを設定します。

image1 (2) copy.jpg

##動作結果
ということで、実際に鍵をまわしてみます!ガチャ!
IMG_3062.png

myThingsサーバからIDCFチャンネルサーバへのポーリングは、15分おきになっているので、今回はmyThingsアプリから手動実行で強制的に状態を確認させます。
image

slackのメッセージをみてみると、通知されました!!
スクリーンショット 2015-09-27 22.58.52.png

ここではswitch onの事例だけですが、triggerをもう一つ追加するこで、switch offの設定も簡単にできます。また、hackeyには外部からhttpでコントロールできるLEDがついています。myThingsで取得できる天気やスケジュールの状況などと連携して、色をかえるのもおもしろいとおもいます。

16
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?