こんにちは、しばってぃです。 前回はObnizを触った所感を述べました。
(下記参照)
また、チュートリアルなどの動画は、公式に全て用意されていますので、これさえ見ればたちまち組上げることが可能となります。(丁寧) Obnizeガイド_公式ページ
さて今回は、サーバレスイベントの「Webhook」連携に触れてみたので、そのやり方などを含めて述べていきたいと思います。
流れは、Obnizの手引きにある「IFTTT」連携という題ですね。
この中ではスケジューラ連携をしていたのですが、自分の中でピンと来なかったので自分なりに触ったやり方を紹介しようと思います。
追伸:
新型コロナで外出自粛となっている昨今ですが、そんな時こそこのオブナイズで暇つぶしでもしてみませんか?
前回も述べていますが、ブロックプログラミングが採用されていますし、チュートリアルやサンプルプログラムも充実していて、導入ハードルがめちゃ低いです。
子供のプログラム教育にも使われていたりしますので、お子さんがいる方とか、プログラムを勉強し始めたい方にはうってつけなのではないかなと、思ったり。
今回はリモコンの遠隔操作を例に取りあげています。 自宅やオフィスのエアコンを遠隔操作できるようになり、夏場は帰ったらすぐ涼しい部屋の中へ・・・冬場は暖かい部屋の中へ・・・みたいなことが実現できます。
あ、エアコン消し忘れちゃった! みたいなときにも、外からピっと消すことも可能。
なんなら風量や温度調節できちゃったりなんだりラジバンダリ。
工夫次第では何でも操作できます。
※WiFi環境が必須です
興味がある方は、一旦公式ホームページを見ると吉です。
それではどうぞ。
目次
1.IFTTT(イフト)とは
IF This Then That. の頭文字から。
もしそうしたなら、こうする。
要は、WebアプリとWebアプリを連携するWebアプリです。
全てのアプリが連携できるかというと、厳密にはそうでないのですが、IFTTTに登録されてあるアプリであれば、ほぼ自由に組み合わせて連携アプリが簡単に作ることができるようになります。
さて、今回はその中でも、「Webhook」と「ButtonWejet」を連携させた、「遠隔エアコンスイッチアプリ」を作ろうと思います。
2.Webhookとは
HttpでGet&Postを通信する仕組み。
Obnizはこの「Webhook」を使って外部のアプリケーションと連携する仕様となっているようです。
3.実際の設定の様子
(公式サンプルプログラムを改造すると楽です。)
その上で、サーバレスイベントを作成し、WebhookのイベントURLを生成します。 (このURLは後で必要になるので、メモ帳などにコピペしておくといいです。)
また、Obnizに何を行わせるかにもよりますが、POST/GETの操作文をソースプログラムに直接記述必要があります。
ただし今回は、エアコンのオン、オフだけを操作するので、POST/GETは特に意識しません。
まずは「IFTTT」の無料登録を行い、「Make Your Own Applet・・・」で連携アプリの選択を行います。
今回は、「This」に「ButtonWejet」、「That」に「Webhook」を選択します。
「ButtonWijet」は特に設定等ありません。 「Webhook」の設定は、Obnizチュートリアルに記載の通りにします。 POST/GETの操作には、「{“”:true}」と記載し、空の文字列を送るようにしています。
(実際には受け取りの処理をソースに書いていないのでどのような文字列でもいいと思います。)
連携が作成されると、以下の画面のようになります。
(エアコンの On と Off で2つ作ってあります。)
下記画面は作成後の画面の様子です。
これで家に戻る前にエアコンのスイッチを入れて、帰ったら部屋があったかい、涼しい、なんてことが簡単に実現できます!
4.所感
センサー、プログラムとも経験者ですので、30分あれば作れました。 未経験者でも数日悩めば作れるレベルだと感じます。
連携できるアプリは多岐にわたります。
センサーモジュールも多く存在するので、組み合わせ方によっては色々なことができるようになりますね。
ただし、アプリ連携まで来ると流石にプログラムのソースに手が入ることとなるので、初学習者には一気に難易度が上がることが想像できます。
(ブロックプログラムだけでは不十分で、ゴリゴリプログラムを書くこととなる。)
私も引き続き色々試行錯誤していきたいと思います。
(と思うけど、時間がないねんな・・・)
監視カメラとか作れちゃうんだよねー
以上
リンク
コメント
I pay a visit daily a few websites and blogs to read posts, but this web site provides
feature based writing.