Amazon Dash ButtonとLINEをIFTTTでつなぐ その3

その1でDasherの設定、その2でIFTTT(Webhooksサービス、LINEサービス)の設定を行いました。いよいよDash Button→LINE通知です。

1.Dasher→Webhooks→LINE

ラズパイにて、DasherからWebhooksに対してWebリクエストを投げ、LINEに通知してみます。

次のコマンドで設定ファイル(config.json)を編集します。

 

黒ラベルDash Buttonが押されたときの設定をconfig.jsonに書き込みます。内容はつぎのとおり。

  • nameには、適当な名称を設定します。
  • addressは、Dash ButtonのMACアドレス(その1)。
  • urlは、WEBリクエストを投げるWebhooksのURL(その2)。
  • bodyはLINEに送信するメッセージ(その2)です。

 

dasherを起動します。

 

Dash Buttonを押してみます。LINEにメッセージが届きました。
Ctrl + cを押し、Dasherを終了します。

 

2. Dasher→Python→Webhooks→LINE

Dasherからコマンドを実行することが出来ます。ここでは、Pythonスクリプトを実行してLINEへメッセージを送信してみます。

config.jsonを次のように書き換えます。Dasherが直接Webリクエストを投げるのではなく、DasherがPythonスクリプト(fire_sapporo)を起動し、そのスクリプトがWebリクエストを投げます。

 

Pythonスクリプト~/tools/dashbutton/fire_sapporoを次の内容で作成します。
私はpyenvでPython環境を設定しているので、スクリプトの先頭行で、インタープリタを#!/home/pi/.pyenv/shims/python3のように指定しています。

 

実行権を与えます。

 

fire_sapporoがインポートする~/tools/dashbutton/ifttt_webhooks.pyは次のとおりです。

 

fire_sapporoがインポートする~/tools/dashbutton/user_conf.pyは次のとおりです。
eventnameには、その2でアプレットに設定したEvent Nameを設定します。
keyにはWebhooksのKeyを設定します(その2)。

 

Dasherを起動します。

 

黒ラベルDash Buttonを押すと…
LINEに通知が届きました。
CTRL + cを押して、dasherを一旦終了します。

 

決まりきった通知じゃつまらないので、一手間かけて、ファブリーズDash Buttonが押されたら、ラズパイのCPUの温度をLINEに通知してみます。

~/tools/dashbutton/dasher/config/config.jsonにファブリーズDash Buttonについて追加します。

 

ファブリーズDash Buttonが押されたときに実行されるPythonスクリプト~/tools/dashbutton/fire_febrese.pyは次のとおり。

 

実行権を与えます。

 

dasherを起動します。

 

ファブリーズDash Buttonを押しました。LINEに通知が届きました。

 

おしまい。

 

Amazon Dash ButtonとLINEをIFTTTでつなぐ 目次