#出オチ
後輩にダッシュボタン借りれたので,node.jsの練習も兼ねて飯食べに行こうぜ!ボタンを作ります.
##やりたいこと
研究室から飯に誘う
#環境
- Raspberry pi3
- node.js : v7.2.1
- npm : v3.10.10
- dasher : 1.3.0
- Amazon Dash Button(事前にwi-fiのセッティングをしておいてください)
- IFTTT
#実装
##ダッシュボタンの設定
作業用ディレクトリに移動後,以下コマンドでクローンします.
$git clone https://github.com/maddox/dasher.git
ここで,公式のGithubでは,$./script/find_button
を実行してダッシュボタンのMACアドレスと取得するのですが,今回自分の環境ではエラーが発生して実行できなかったので, 以下コマンドを叩きます
$sudo tcpdump port bootps
ここを参考にしました.
コマンドだけでAmazon Dash ButtonのMACアドレスを調べる
とりあえず,出てきたMACアドレスをメモっておいてください.
自分のダッシュボタンでは,34.d2:70:~~~~~~
というMACアドレスになっていました.
##IFTTTの設定
次はIFTTTにサインインして,Appletを作ります.(これいつからRecipeじゃなくなったんですかね...)
ここまで来たら, + this を押して Makerを追加します.
Event Nameには好きな名前を追加してください.これも後で使うのでメモっておいてください.
次は thatの方になんでもいいですが,今回はTwitterを追加します.
(事前にTwitterのアカウントをIFTTTTに追加しておくとスムーズ)
一緒に飯に行きたくなる文書を執筆します.ここが今回の山場です.
OccuredAtを追加しておくことで,連投できるようにします.
あとはいい感じにポチポチしてアプレットを作ってください.ここでは詰みません.
最後に,Makerのアイコンをクリックして,APIのようなものをメモってください.
この赤い部分の文字列が必要になります
##dasherの設定
男は黙って,
$touch config/config.json
で,config.jsonを作ります.
vi config.json
で以下のように編集します.
{"buttons":[
{
"name": "{さっきメモったEvent Name}",
"address": "{さっきメモったMACアドレス}",
"url": "https://maker.ifttt.com/trigger/{さっきメモったEvent Name}/with/key/{さっきメモったAPIキーのようなもの}",
"method": "POST",
}
]}
最後に
$sudo npm start
完成しました.ボタンを押すとコンソール上に何回押されたかがカウントされます.
Twitterの方にもしっかり投稿されていますね.
dasherのexampleを見ると,POSTする際にvalueも渡せるようです.(当たり前だけど)
これを使えば, 複数のAmazon Dash Buttonを別の部屋に置いて
講座研 「飯食いに行こうぜ!」, 学生研「飯食いに行こうぜ!」みたいなことができそうですね.
#詰んだ所
ラズパイの環境構築
自分の場合ですので参考程度にお願いします.
最初に npm i
が動かなかったので公式にもあるように
sudo apt-get update && sudo apt-get upgrade
したが,エラーが消えず...
pcapがダメみたいな文字がたくさん出てたので
sudo apt-get install libpcap-dev
したら解決しました.
mac OSの方でもdasher使ってみたのですが,この時はPythonのバージョンが違うよ,2系を使ってねみたいなエラーが出たので,
ここの偉いおじさんが言ってるようにコマンドを打ったら治りました.