UniboとIFTTTで簡単にIoTしてみる
UniboとIFTTTで簡単にIoTしてみる
IFTTTは(イフト)TwitterやFacebook、SlackなどのWebサービス同士を組み合わせて簡単に連携できるサービスです。
今回はそのIFTTTとUniboをつなげてUniboからSlackやTwitterなどにメッセージを送信する仕組みについて説明します。
#全体図
[{"id":"1a22c6251f.020e3a","type":"tab","label":"IFTTT"},{"id":"1ad734c9dd.af1808","type":"http request","z":"1a22c6251f.020e3a","name":"IFTTTにアクセス","method":"GET","ret":"txt","url":"","tls":"","x":586,"y":440,"wires":[["1a70e6eb3f.c26754"]]},{"id":"1ad02e9d78.efebc","type":"speech","z":"1a22c6251f.020e3a","word":"","subtitle":"","name":"","edit":false,"language":"jp","voice":"yuuto","version":1,"x":987,"y":440,"wires":[[]]},{"id":"1a70e6eb3f.c26754","type":"function","z":"1a22c6251f.020e3a","name":"発話のためにコピー","edit":"","func":"msg.word = msg.subtitle = msg.payload;\nreturn msg;","outputs":1,"dummy":"1","noerr":0,"x":805,"y":440,"wires":[["1ad02e9d78.efebc"]]},{"id":"1a8a30f02a.12783","type":"inject","z":"1a22c6251f.020e3a","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":390,"y":440,"wires":[["1ad734c9dd.af1808"]]}]
#手順
IFTTTの登録についてはこちらの記事をご覧ください。
登録ができたところで、実際に連携させてみようと思います。
IFTTTでシナリオを作成してみる
IFTTTでUniboとLineをつなげるレシピと呼ばれるシナリオを作成していきます。 上のリンクをクリックして作成していきましょう。
まずはMakerWebhooksをトリガーにするため”make”と検索欄に入力します。 MakerWebhooksがあればそれをクリックします。
MakerWebhooksはEvent単位でトリガーがかかります。今回はEventNameに"Unibo"と入力し”Create trigger”をクリックし作成していきます。 今入力したEventNameはあとでUniboに入力するのでSecretKeyと合わせて覚えておきましょう。
次にトリガーが起こった時にしたい動作を選択します。 IFTTTの検索欄でLineを検索し、連携させていきます。 ちなみに、このときにTwitterやGmailなどを選択するとそれと連携させることが出来ます。
Recipientと書かれた欄にメッセージを送るLineのグループを選択します。 Messageと書かれた欄に送信するメッセージを入力を入力します。Value1、Value2などがありプログラムから値を渡すことができます。これを使えば温度センサや明るさセンサーの値をプログラムから渡しメッセージに組み込むことが可能です。 オプションですが写真のURLさえあれば、Lineに写真を投稿することができます。
Create actionをクリックしてメッセージを保存します。
最後にFinishを押し、作成を完了します。
こちらのリンクをクリックしDocumentationのリンクをクリックします。
クリックするとこのような画面に移動します。
このときに表示される赤枠のURLをUniboにコピーします。
Uniboの準備をする
Uniboのスキルクリエイターに移動し、全体図の章で見せたJSONの文字列をスキルクリエイターにインポートしてください。
インポートが終わったら先ほどIFTTTで取得したURLを張り付けていきます。
http request Nodeをクリックし、赤枠の入力欄に先ほどのURLを貼り付けていきます。この時にURL中央部にある{event}
は先ほどIFTTTに登録したイベント名に変えておきましょう。
記事の通りに作成している場合はUniboになります。
入力できたら完了を押し作成を完了します。
これでDeployを押し、タイムスタンプのボタンを押せばLineにメッセージが飛ぶような仕組みが完成しました!
余談ですが、functionNodeでhttp request Nodeの応答をUniboでしゃべらすためにメッセージ内容をコピーする処理をいれることでレスポンスをしゃべらすことができるようになります。