Amazon Dash Buttonをハックする
ウィルキンソン Dash Buttonをハックしたときの備忘録。
Amazon Dash Buttonのセットアップ
まずはAmazon iOS/Androidアプリを使って、Amazon Dash Buttonのセットアップ。商品選択でキャンセルしておくことに注意。
MACアドレスの取得
使用するのはdash-buttonというライブラリ。これをインストールする。
npm i -S dash-button
package.json
のscripts
に手を加える:
{ "scripts": { "scan": "dash-button scan" } }
スキャン実行中に、Amazon Dash Buttonを押すとMACアドレスが取得できる:
sudo npm run scan > amazon-dash-button@1.0.0 scan /Users/uraway/github/amazon-dash-button > dash-button scan Scanning for DHCP requests and ARP probes on en0... Detected a DHCP request or ARP probe from xx:xx:xx:xx:xx:xx
うまくいかない場合は、インターフェースオプション(--interface
/-i
)をつけて、他のインターフェースを試してみるといいかもしれない。
Amazon Dash Buttonを入退室ボタンにしてみる
SlackのAPIを使って、Slackに入退室のメッセージを送信するボタンにハックしてみる。
const DashButton = require('dash-button'); const Slack = require('node-slack'); const DASH_BUTTON_MAC_ADDRESS = 'xx:xx:xx:xx:xx:xx'; const HOOK_URL = 'https://hooks.slack.com/services/*****'; let button = new DashButton(DASH_BUTTON_MAC_ADDRESS); let slack = new Slack(HOOK_URL); let i = 0; button.addListener(() => { i++; console.log(`${i} times working!`); if (i % 2 === 0) { slack.send({ text: '入室しました', username: 'WILLKINSON' }); } else { slack.send({ text: '退室しました', username: 'WILLKINSON' }); } });
スクリプト実行中にAmazon Dash Buttonを押すと…
- 出版社/メーカー: Amazon
- 発売日: 2016/12/05
- メディア: エレクトロニクス
- この商品を含むブログを見る