Amazon Dash ButtonでAmazon Dash Buttonを買えるようにしてみた。 詳細①〜入力編
前回の記事でAmazon Dash ButtonでAmazon Dash Buttonを買いました。
今回はその詳細編です。
・使用した開発環境
・MAX OS Sierra 10.12.4
・Wireshark 2.2.5
・nodejs 7.8.0
・Dash Button for Node
・nightmarejs 2.10.0
0.事前準備
まず、dash button自体の設定です。
アカウントサービスから、Dash端末の新しい端末をセットアップ。
はい、こんな感じ。
ポイント!と書いたように、商品を選ばずにセットアップを終了してくだい。
(登録してしまうと、デバックする度に商品が届いてしまうので。。
はい、これで完了です。
1.Amazon Dash ButtonのMACアドレスを調べる。
Wiresharkで見れます。
※Wireshark=ネットワークを流れるデータを確認できるツール
ネットワーク周りを見るのに便利なので、
入れてない方はこちらからWiresharkをダウンロードしましょう。
PCをDash Buttonを登録したのと同じWifiネットワークに繋いだ状態で、
キャプチャスタート。
そしてDash Buttonを押す!
キャプチャを止めて確認してみましょう。
Dash Buttonがarpリクエストをブロードキャストしてるのがわかります。
で、ここからMAC addressがわかります。
※arpリクエスト=「この人と通信したいんだけど、このIPアドレス誰?」ってやつ。
簡単!
なお、、後述するDash Button for NodeでもMACアドレス拾えるっぽいですね。
2.Dash Buttonからの入力を受ける
なにはともあれ、JavaScriptって言語で書くと簡単にできるらしいのです。
で、JavaScript回りの今回使う環境を入れていきます。
まずnodejsを導入。
※nodejs=サーバーサイドのJavaScript
入れ終わったら、nodeとnpmのバージョン確認。
※npmは、nodejsを入れると一緒にインストールされるはず。
npm =node package manager = ノードのパッケージを管理するやつ(まんま
MacBook:$ node -v v7.8.0 MacBook:$ npm -v 4.2.0
こんな感じで確認できればOK。
次にDash Button for Nodeを入れます。
※Dash Button for Node = Dash Buttonからの入力を簡単にNodeで処理できるやつ
入れ方、使い方はこちらを参考にさせていただきました。
で、こんな感じで書きます。
// ダッシュボタン入力確認 const DashButton = require("dash-button"); const PHY_ADDR = "xx:xx:xx:xx:xx:xx"; // ここに取得したMAC アドレス let button = new DashButton(PHY_ADDR); console.log("どれどれ"); button.addListener(() => { console.log("Dash ButtonからのARPリクエストが来たぞ!"); });
簡単ですね。
では試してみましょう。
まず作ったjsを起動。
MacBook:$ node testtest.js
どれどれ //待機中
そして、Dash Buttonをぽちっ!
Dash ButtonからのARPリクエストが来たぞ! //ボタンぽちっ!
入力を受け付けられました。
これでOK。
本日はここまで!
次回、この受け付けた入力をきっかけに、
Webブラウザを操作して、Dash Buttonを買うまでを書きますね。