かずきち。の日記

サーバサイドエンジニアのつぶやき

Amazon Dash Buttonで在宅・外出を通知するボタンを作った!!導入した準備編!

Primeに入って、とりあえずAmazon Dash Bottonを買ってみた

さて、つい先日行われたAmazon Prime Dayには参加しましたか?
購入した使用品が続々と家に送られてきてホクホクしているのですが、今回は特に用もなく
Amazon Dash Buttonを購入しました。
値段は通常500円でして、ただただハックしたいという理由で購入いたしました。

今回、軽くファームウェアの書き換えと簡単なハックを行いましたので、ソースを晒しておきます

単純に我が家がPrimeエリア内に入ったので、Dash Buttonを購入したのですが
購入して…これは使わないなということが確定し、改造に踏み切りました。
申し訳ありませんが、ファームウェアの書き換えを行ってしまいました…

では、さっそくDash Bottonをハックしましょう!

まず準備するもの整えます。

Mac(Mac OS Sierra)
node/js v6.2.0
Amazon Dash Button

を用意します。
準備はできましたか?

さっそくハックしましょう

まずはパッケージのインストールを行います。

$ npm init
$ npm install --save dash-button

npmと呼ばれるnode Packaged Modulesのコマンドがよくわからない方は下記を参考に。
www.webprofessional.jp
引用:
https://www.webprofessional.jp/10-npm-tips-and-tricks/

続いて、dashボタンのセットアップとフィジカルアドレスを入手しましょう!
ドキュメントの記載通りに、scriptキーを編集します。

{
  "scripts": {
    "scan": "dash-button scan"
  }
}

次もドキュメント通りです。

$ sudo npm run scan

// この間で普通にDashボタンのセットアップをiPhone/AndroidのAmazonAppを用いて行います。
// 商品選択を×ボタンで抜ければ注文はせずネットワークにシグナルだけを流してくれる状態になります。


Scanning for DHCP requests and ARP probes on en0...
Detected a DHCP request or ARP probe from xx:xx:xx:xx:xx:xx // ←こいつがDashボタンをフィジカルアドレス。
// 出てこなければセットアップ後に1回ボタンをポチっとしてみてください。

以上が通れば事前準備は完了です。
お疲れ様でした。
で、フィジカルアドレスを控えましょう!