概要
Mac OS X環境で Amazon Dash Button のボタンクリック時の動作を Node.jsから制御できるようにしてみます。
Dash Buttonの初期設定
Wifiアクセスポイントを設定して、最後の製品を選ぶところまでステップを進めます。
製品は選択せずに、右上の☓ボタンから設定を終了してください。
環境構築
Node.jsをセットアップしていない場合はインストールしてください。
$ mkdir dash-button // 任意のディレクトリを作成
$ npm init
$ npm install node-dash-button --save
Dash Buttonを探す
以下のコマンドを実行するとWifiに繋がっている端末がScanされるので、該当する端末のMACアドレスをコピーしておきます。
Manufacturer: Amazon Technologies Inc. が正解らしいのですが、自分の環境では Manufacturer: unknown が Dash Buttonでした。
$ cd cd node_modules/node-dash-button
$ sudo node bin/findbutton
app.jsを作成
const dash_button = require('node-dash-button');
const execSync = require('child_process').execSync;
// Dashボタンのアドレス(コピーしたMACアドレスをここに入力)
const dash = dash_button('aa:bb:cc:dd:ee', null, null, 'all');
// ボタンをクリックしたときのアクション
// クリックしてから数秒遅延します。
dash.on('detected', () => {
const text='こんにちは世界';
// sayコマンドで声を出力
execSync(`say ${text}`);
console.log(text);
});
app.js を実行
$ sudo node app.js
// Dash Buttonクリックで以下が表示されて声が出ればOK
こんにちは世界