StarterKitを使って、人が来たらSNSにメッセージを送ろう!
コンテンツ
今回やること
Starter Kitに同梱されている人感センサーを使って、人が来たらSNSにメッセージを送信するプログラムを作ります。
用意するもの
Starter Kit の制作例です。(※)はStarter Kitに同梱されています。
- obniz Board(※) or obniz Board 1Y
- Keyestudio PIR Motion Sensor (※)
- IFTTTアカウント
- Twitterアカウント
組み立て方
Keyestudio PIR Motion Sensorのライブラリを参考に、以下の表や画像のようにobniz Boardと人感センサーを接続します。
obniz | Keyestudio PIR Motion Sensor |
---|---|
0 | Signal |
1 | + |
2 | – |
プログラム
IFTTTとTwitterを連携させ、人感センサーが反応したら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を活用してみてください!