人感センサー×SNS

StarterKitを使って、人が来たらSNSにメッセージを送ろう!

今回やること

Starter Kitに同梱されている人感センサーを使って、人が来たらSNSにメッセージを送信するプログラムを作ります。

用意するもの

Starter Kit の制作例です。(※)はStarter Kitに同梱されています。

組み立て方

Keyestudio PIR Motion Sensorのライブラリを参考に、以下の表や画像のようにobniz Boardと人感センサーを接続します。  

obniz Keyestudio PIR Motion Sensor
0 Signal
1 +
2

obniz Boardと人感センサー

プログラム

IFTTTTwitterを連携させ、人感センサーが反応したらIFTTTを通じてツイートをする仕組みを作ります。

IFTTTがどのようなものか簡単に紹介します。 IFTTTは「もし、○○(This)が起きたら○○(That)を実行する」ということができるサービスです。 具体例で説明すると、「ツイートされたらスプレットシートに内容をまとめる」や「家に近づいたら、エアコンをつける」などといったものを作れます。

 まずは、もし〇〇したらの部分を設定します。「This」をクリックします。 Choose a service(Step 1 of 6 ) 検索欄に「Webhooks」と入力して、絞られたものをクリックします。 Choose trigger (Step 2 of 6 ) 「Receive a web request」をクリックします。 Complete trigger fields (Step 2 of 6 ) EventNameの欄に「obniz_sns」と入力し、[Create trigger]をクリックします。 次に「That」をクリックして、記録先を設定します。 Choose action service (Step 3 of 6 ) 検索欄に「Twitter」と入力して、絞られたものをクリックします。 (ここで使用するTwitterアカウントを選択するダイアログが開く場合があります。使用するアカウントを選択し、IFTTTからのアクセスを許可してください。) Choose action (Step 4 of 6) 「Post a tweet」をクリックします。 Complete action fields (Steo 5 of 6) Twitterに投稿する情報を設定します。 Twitterの仕様上全く同じメッセージを連続して送信できないので、後ろに時間を追加しています。

  • Tweet text : ツイートする内容を記入

Review and finish (Step 6 of 6) [Finish]をクリックすれば作成は完了です。 あと一部設定を確認しておく項目があります。 [Webhooks]の設定ページを開き、右上にある「Documentation」をクリックします。 「Your key is」と書かれている後ろの太文字をコピーしておきましょう。

「完成したプログラム」 code.js の2行目 const KEY = "IFTTT_WEBHOOK_KEY";IFTTT_WEBHOOK_KEY のところを、コピーしたkeyに書き換えてください。

プログラムの以下の部分で人感センサーの変化を検出し、人が通ったときにIFTTTを通してツイートされるようになっています。

sensor.onchange = async val => {
    console.log(val ? "Moving!" : "Stopped");
    if (val)
      await fetch(`https://maker.ifttt.com/trigger/${EVENT}/with/key/${KEY}`);
};

完成したプログラム

うごかす

センサーに反応があるとこのような感じでツイートされます。 (IFTTTは最大15分の遅延の可能性があるため、すぐに反応しないことがあるかもしれません。)

おわりに

obnizとIFTTTをつかって簡単にSNS連携をしました。 他のサービスとも連携できるのでうまく使用してIoTを活用してみてください!