AmazonDashボタンをリモコンにする


IOTを体験したかったので、AmazonDashボタンを購入して、音楽再生リモコンを作ります。
今回実装するのは再生と停止のみです。
必要はものは下記の3つだけです。

1. DashボタンとIOSの設定

上記のリンクを参照しながら手順どおりに設定します。
商品選択画面で商品を選択せずに止めておきましょう!

2. itunes-remoteの設定

上記のサイトを参考にgitからcloneしてきてください。

git clone https://github.com/mischah/itunes-remote.git

3. dasherのconfig

3.1 dasherをcloneする

git clone https://github.com/maddox/dasher.git

3.2 MACアドレスの取得

cloneしたdasherのディレクトリに移動してMACアドレスの取得をします。

script/find_button

を実行したら、ボタンを押してみます!

Possible dash hardware address detected: ac:63:xx:xx:xx:xx Manufacturer: Amazon Technologies Inc. Protocol: arp

「ac:63:xx:xx:xx:xx」というアドレスがとれました

3.3 configを編集する

先程取得したMACアドレスを使って設定をします。
今回は音楽再生用のシェルスクリプトを書いて実行します。

config.json
{"buttons":[
  {
    "name": "Attack Button",
    "address": "ac:63:be:e3:36:2f",
    "cmd": "/bin/sh /Users/murotanimari/dasher/sh/dashbtn.sh"
  }
]}

3.4 音楽再生、停止のシェルスクリプトを書く

/Users/murotanimari/dasher/sh/dashbtn.sh
#!/bin/sh
pid=/tmp/dash.pid
if [ ! -e $pid ]; then
  echo 0 > $pid
fi
pidid=`cat $pid`
if [ $pidid == 0 ]; then
  echo 1 > $pid
  itunes-remote search two > /dev/null &
else
  echo 0 > $pid
  itunes-remote stop > /dev/null &
fi
exit 0

4. 実行する

npm run start 

ボタンを押してみます。音楽が再生されればOKです。
連打防止の為か1分以上経過しないと処理が流れてこないという事が判明しました( ´Д` )