
Amazon Dash Buttonをハック目的で購入し、一回注文して500円分元を取った後、放置完了。
数ヶ月の熟成期間を経て、いじってみました。
ダッシュボタンの登録方法とか、細かい事は適当にググってください。
※スマホアプリ上で商品選択前にキャンセルすると、発注されないただのIoTボタンになります
ダッシュボタンを押すと、大体こんな感じの動作をします。
①起動
②登録されたWiFiに繋ぐ
③DHCPからIPアドレスを取得
④インターネットに接続
⑤Amazonとダッシュボタンが紐付いてる商品を発注
この③の時、ダッシュボタンはDHCPサーバーを探すためにDHCPディスカバーというメッセージをブロードキャストで送信します。
同じネットワーク上の機器すべてにDHCPディスカバーのメッセージが飛んでくる為、これを拾いあげます。
まずはダッシュボタンと同一ネットワークに参加し、tcpdump等でダッシュボタンのMACアドレスを確認します。
そしてiptablesでダッシュボタンのMACアドレスから通信が来たらログに残すようにします。
最後に、そのログが吐いたら何かを実行させます。
ラズパイでやる方が多いですね。
かくいう私もラズパイでね。
その「何か」は、Linuxコマンドで出来る事は何でもできます。
別のamazonの商品を買ったり、ピザを注文したり、slackにメッセージ飛ばしたり、AWSのインスタンスを自動で作成したり・・・等々。
で、私はとりあえずで
嫁に「今から帰ります」メールを送る
というバッチを作りました。
-自宅にて-
嫁「このメールなに?」
俺「社内から出る時、ボタンを押すとメールを飛ばすようにした」
嫁「普通に送ってよ」
俺「まあまあ」
-数日後の朝-
俺「今日は五反田で研修だから遅くなるね」
嫁「はーい」
-昼-
同僚「お、ダッシュボタンが置いてある。これ押したら発注されるのかなー、押しちゃえ!」
ポチッ
-夜-
嫁「今日は五反田じゃなかったの?どこにいたの?会社にいたんでしょ?なんで嘘つく必要があるの?」
俺「まてまてまて落ち着け落ち着け」
教訓
『人間はボタンを見ると押したくなる』