#topicpath ** IFTTT [#h27794e5] *** IFTTT に関する基礎知識 [#h3efc064] + IFTTTとは~ "IF This Then That" の略で、 もしも何か(This)が生じたら、何か(That)が実行される といった意味合いである。IoT (Internet of Things : モノのインターネット) を簡単に実現する~ ための枠組み(フレームワーク)である。~ ~ + IFTTT 用語 -- アプレット~ プログラムのこと。IF This THEN That の This と That を指定したもの。以前はレシピと呼ばれた。~ ~ -- サービス~ This と That は、インターネット上のサービスを経由する。そのサービスのこと。~ サービス一覧は[[こちら>https://ifttt.com/services]]で参照できる。以前はチャンネルと呼ばれた。~ // 単にIFTTT が利用できるだけでなく、各 IFTTT ユーザーが IFTTT のサイトに登録して初めてチャンネルとなる。~ ~ -- トリガー~ This にあたるもの。サービスごとにどのようなトリガーが実現可能かが決まっている。~ ~ -- アクション~ That にあたるもの。これもサービスごとに提供されているものが決まっている。~ ~ + IFTTT を使えるようにする。~ ++ [[IFTTTのサインアップサイト>https://ifttt.com/join]]に登録する。~ ~ ++ 各チャンネルの使い方を理解する。~ ~ *** webhooks サービス [#ma07c03f] webhooks はマイコン(マイクロコンピュータ、あるいは、マイクロコントローラ)のための~ 汎用的な IFTTT のサービスである。 + 考え方~ ++ トリガー~ 特定の URL にアクセスし、HTTP の POST を使って、json ( Javascript Object Notation) ~ 特定の URL にアクセスし、HTTP の POST あるいは GET を使って、json ( Javascript Object Notation) ~ データを送信することで、トリガーとして機能する。~ ~ より正確には、[[IFTTTのサイト>http://ifttt.com/]] にsign in (ログイン)し、My apletts からServicesタブ~ を選択。その後、検索まどに webhooks を入力して、これを選択し、"Connect" ボタンを押す。~ 右上の Documentation をクリックすると情報が得られるのでこれを参照するとよい。~ そこに書いてあることは、次の2点である。~ ~ +++ アクセス先~ https://maker.ifttt.com/trigger/{event}/with/key/hogehoge {event}は、後ほど命名するアプレットごとの名称であり、~ hogehoge の部分は、ユーザーごとに割り当てられた文字列であって、あらかじめ表示されている。~ hogehoge の部分は、webhooks に "Connect" するごとに変化する文字列であるので注意する。~ ~ +++ 送信データの形式~ { "value1" : " ", "value2" : " ", "value3" : " " } 空欄のところに文字列を入れる。これがアクションに転送される。~ optional とあるので、必須ではない。~ ~ ++ アクション~ IFTTT から、特定の URL に GET または POST でデータを送信してくれる。~ ということは、IFTTT から http でアクセスできるような準備が必要になる(?)。~ ~ 以下では、webhooks サービスのトリガーの使い方についてまとめていく。~ ~ + 手順1-準備- -- Services から webhooks を選択する。~ ~ -- Connect をクリックする。~ ブラウザを閉じても"Connect" の状態は維持される。~ ~ -- 右上のDocumentationをクリックして、上述の hogehoge の部分を確かめる。~ ~ + 手順2-アプレット作成- -- My Apletts をクリックし、New Applet をクリックする。~ ~ -- +this の部分をクリックし、webhooks を選択する。~ ~ -- "Receive a web request" をクリックする。~ ~ -- "Event Name" の入力を促される。アプレット間で重ならないように名前を考案して入力する。~ ~ -- That の部分を適宜設定して終了する。~ ~ + テスト~ webhooks のページで Documentation を再びクリックする。{event} の部分をクリックして編集し、~ 上の Event Name を入力する。ページ下の "Test it" をクリックすると、That 部分が正しく~ 動くか確認することができる。~ ~