Amazon Dash Buttonとは
既にアメリカで発売されていたamazon dash buttonが日本でもリリースされました。
www.amazon.co.jp
初期設定を済ませた後、ボタンを押すだけで特定の商品を購入できるものです。
ボタン自体は500円で購入でき、注文時に500円が割り引かれるので、普通に使うと実質タダになります。
Amazon Dash ButtonをIoT用途で使ってみる
リリース後にかなり話題になっているのですが、
初期設定を完了させずにwifiの連携だけ完了した状態だと、同一ネットワーク内のサーバと、ボタンを押すだけで連携できるIoTボタンになります。
せっかくなので、ボタンを押すとslackにメッセージを送るところまでやってみようと思います。
slackとの連携
Amazon Dash Buttonとslackを連携させるために、ボタン押下の通信を受け取るサーバを立てる必要があります。
github上を調べると、dasher が使いやすそうだったのでこれを使ってみます。
github.com
dasherを使ってみる
早速ディレクトリを作ってdasherをcloneします。
git clone git@github.com:maddox/dasher.git
dasher のgithubページに書いてあるセットアップ方法のとおりに設定を進めます。
Dash Button のMACアドレスを取得する
サーバ連携のためにはDash Button のMACアドレスを調べる必要があり、dasherにMACアドレス取得用のスクリプトがあるので、 それを利用します。
$ script/find_button Watching for arp & udp requests on your local network, please try to press your dash now Dash buttons should appear as manufactured by 'Amazon Technologies Inc.'
srcipt/find_buttonを実行すると、上記のような文字列が出た状態になるので、この状態でDash Buttonを押すとMACアドレスが表示されます
YOUR_MAC_ADDRESSのところに表示される Possible dash hardware address detected: YOUR_MAC_ADDRESS Manufacturer: Amazon Technologies Inc. Protocol: udp
これでMACアドレスを取得することができました。
slackへの通知設定
次に、連携用サーバの設定を行っていきます。取得したMACアドレスと、送信したいslackチャンネルへのwebhook用アドレスを設定します。 slackはチャンネルを作った上で下記ページで調べることができます https://slack.com/services/new/incoming-webhook
config/config.json を作成して下記の様な感じでボタンのMACアドレス、webhook用アドレス、送信するメッセージを設定したjsonファイルを作ります。
{ "buttons":[ { "name" : "Test Dash Button", "address": "YOUR_MAC_ADDRESS", "url": "YOUR_WEBHOOK_ADDRESS", "method": "POST", "json": true, "body": {"text":"Hello, World from Amazon Dash Button!!!"} } ] }
これで設定は終わりました。メチャクチャ簡単です。
dasherを起動してslackへ投稿する
あとはdasherを起動してDash Buttonのボタン押下を待ち受けた状態にするだけです。
$ sudo npm start > dasher@1.1.1 start /Users/USER_NAME/Documents/amazon-dash-button/dasher > node app.js [2016-12-10T13:55:49.181Z] Test Dash Button added.
これでdasherが起動できたのであとはDash Buttonを押すだけです。
[2016-12-10T13:58:43.630Z] Test Dash Button pressed.
ボタンの反応があるとコンソール上に↑のような感じでメッセージが表示され、slackにも投稿が表示されました。
1回押下すると3〜5秒位DashButtonのランプが点滅してslackに投稿されます。
まとめ
Amazon Dash Button開封からslack連携まで1時間もあればできるほど簡単でした。 dasherを使えばwebhook連携が容易にできるので、自宅にraspberry py でサーバ常時立てて、 ボタン連携すれば500円で簡単にIoTできます。
ただ気になるのは、Dash Button内部の乾電池が入っていて、1年位で電池切れになるのでお遊び程度に使うのが良いと思います。 海外でも活用例があり、調べてみると面白そうです。 medium.com