【myThingsハンズオン】IDCFクラウドをセットアップしよう


この記事はmyThingsハンズオンの参考資料の一部です。

IDCFクラウドの役割

自作デバイス-myThings間でメッセージをやり取りするための中継装置としての役割を果たします。IDCFクラウドではIoT向けメッセージングプラットフォームであるMeshbluというOSSを採用しています。

myThingsはユーザーが作成した組み合わせを元に、定期的にトリガーの確認を行います。トリガーが設定された条件を満たしている状態であれば、組み合わされているアクションを実行します。
例えば「Twitterに特定のハッシュタグがついたツイートがあったら、Facebookに投稿する」という組み合わせの場合は下図のように動作します。

 
ただ自作デバイスの場合は直接myThingsからトリガーの確認を行うことができません。そこで登場するのがIDCFクラウドです。

例えば『特定のハッシュタグがついたツイートがあったら、RaspberryPiのLEDを点滅させる』デバイスを自作する場合は、「特定のハッシュタグがついたツイートがあったら、IDCFのアクションに通知する」という組み合わせをmyThingsアプリで作成してください。そうすると下図の①と②の動作が自動化されます。あとはRaspberryPi上で、③とLEDを点滅させるプログラムを実行すれば、『特定のハッシュタグがついたツイートがあったら、RaspberryPiのLEDを点滅させる』デバイスの完成です。またIDCFクラウドのactionはaction-1〜5の5つあるため、Twitterとの連携にはaction-1を使い、action-2には別のサービスと連携させるといった使い方が可能です。

 
『温度が27℃を超えたらFacebookに投稿する』デバイスを自作する場合は、「IDCFのトリガーが条件を満たしたら、Facebookに投稿する」という組み合わせをmyThingsアプリで作成してください。そうすると下図の②と③の動作が自動化されます。あとはRaspberryPi上で、温度をセンシングして27℃以上であれば①を行うプログラムを実行すれば、『温度が27℃を超えたらFacebookに投稿する』デバイスの完成です。またIDCFクラウドのtriggerはtrigger-1〜5の5つあるため、温度のセンシング結果にはtrigger-1を使い、trigger-2には別のセンシング結果を送るといった使い方が可能です。

IDCFクラウドをセットアップする

こちらの手順のPart1をすすめてください。

セットアップを行うことで、myThingsと連携するために必要な以下の情報を取得することができます。

  • IPアドレス
  • meshblu_auth_token
  • trigger-1〜5、action-1〜5のtokenとuuid

IPアドレスとmeshblu_auth_token(認証token)はmyThingsアプリ上でIDCFチャンネルを認証する際に利用します。

trigger-1〜5、action-1〜5のtokenとuuidはRaspberryPi上でプログラムを書く際に利用します。

各種情報の確認方法

IPアドレスはIDCFクラウドのWebコンソールで確認してください

meshblu_auth_tokenはセットアップ時のコマンド実行結果で確認してください

meshblu_auth_tokenの取得例
┌─────────┬────────────────────┬──────────────────────────────────────┐
│ keyword │ meshblu_auth_token │ meshblu_auth_uuid                    │
├─────────┼────────────────────┼──────────────────────────────────────┤
│ owner   │ 61ab8b5c           │ a5cb0696-c1e3-4044-ba40-7fc9a948a7d9 │
└─────────┴────────────────────┴──────────────────────────────────────┘

trigger-1〜5、action-1〜5のtokenとuuidもセットアップ時のコマンド実行結果で確認してください

trigger-1〜5、action-1〜5のtokenとuuidの取得例
┌───────────┬──────────┬──────────────────────────────────────┐
│ keyword   │ token    │ uuid                                 │
├───────────┼──────────┼──────────────────────────────────────┤
│ trigger-1 │ 8c7bb81f │ 090ac71d-9432-4caa-9d84-d7c7ad76fdc8 │
├───────────┼──────────┼──────────────────────────────────────┤
│ trigger-2 │ az5dd3cc │ 6bbf2618-bad1-46dc-84d1-014933cbcd17 │
├───────────┼──────────┼──────────────────────────────────────┤
│ trigger-3 │ 305bb94e │ a811ce9a-88b0-4250-be31-da4d4ea26aa8 │
├───────────┼──────────┼──────────────────────────────────────┤
│ trigger-4 │ 0dbc1cwd │ 2732a872-8d1d-4d22-94d3-82e23ae2a8d1 │
├───────────┼──────────┼──────────────────────────────────────┤
│ trigger-5 │ aac9967f │ b134d59f-01e4-47f2-b15e-239aa8e069b0 │
├───────────┼──────────┼──────────────────────────────────────┤
│ action-1  │ b1b09074 │ 62a252ef-edf8-4f07-9a7c-68237b23df0e │
├───────────┼──────────┼──────────────────────────────────────┤
│ action-2  │ 325dd92a │ a2dfb479-c499-4f50-b1eb-75efe2ef1261 │
├───────────┼──────────┼──────────────────────────────────────┤
│ action-3  │ bd6c1391 │ 33dc5d6f-0880-4db4-b093-b287e9267033 │
├───────────┼──────────┼──────────────────────────────────────┤
│ action-4  │ m5ac43cb │ 641075b9-f78e-4b70-8edc-3d4faf9ed0ac │
├───────────┼──────────┼──────────────────────────────────────┤
│ action-5  │ b425cbf0 │ e215f0d8-3533-4b15-8925-27fe22a4e6e6 │
└───────────┴──────────┴──────────────────────────────────────┘