2台のEdisonを連携させる
Dashboardからのアクチュエーションまでできたら、次は2台のEdisonをDashboard経由で連携させてみます。連携させるにはDashboard上で設定できるルールを作成します。手順としては以下のとおりです。
- Controlメニューで対応するアクチュエーションの保存をする
- Rulesメニューで保存したアクチュエーションを実行するルールを登録する
- それぞれのデバイスで温度検知とLED点灯用のアプリケーションを実行する
1. Controlメニューでのアクチュエーション保存
先ほど試しにアクチュエーションを実行してみたControl画面で、特定のアクチュエーションの保存ができるようになっています。試しにやった時と同じようにデバイス、コンポーネント、パラメーター、送信方式を選択し、Add actionボタンで実行リストに追加した後、実行リスト下に表示されているSave as complex commandボタンをクリックしてリストに追加したアクチュエーションを保存します。今回はr、g、bの発色メッセージをそれぞれ登録をしています。登録が完了すると、画面上部のComplex commandsのリストに追加したアクチュエーションが表示されます。
2. Rulesメニューで保存したアクチュエーションの実行ルールを登録
次にLED点灯のアクチュエーションを実行する条件をルールとして登録します。Rulesメニューの画面を表示すると、Add ruleボタンがありますので、そちらをクリックし、ルールの登録フローに移ります。
最初にルールでの実行内容を登録します。ルール名、ルールの説明、ルールの優先度、実行する通知の種別をそれぞれ記述・選択します。ルール名とルールの説明はそれぞれ任意のものを適宜登録します。ルールの優先度はルールの実行には直接的な影響を与えません。後々ルールが増えた際に整理しやすいようにつけるものなので、こちらも適すると思われるものを選択します。
最後に実行する通知の種別を選びます。E-mailでの通知、HTTP Endpointへの通知、アクチュエーションの3つが選択可能で、ここではアクチュエーションを選択します。アクチュエーションを選択すると、右側に通知の実行先選択のボックスが表示されますので、そちらで先ほどControlメニューで保存したアクチュエーションのうち、実行したいものを選択します。選択後、Nextボタンをクリックします。
次にルールに関連するデバイスの選択を行います。ここでは通知の条件となる気温値を送ってくるデバイスとアクチュエーションを実行するデバイスを選択しています。選択したら再びNextボタンをクリックして次に進みます。
最後はルールを実行する条件の登録になります。モニター対象の計測値とルール実行の条件をそれぞれ登録します。今回は気温値が特定温度になった場合に実行する条件を登録しています。条件の種別はいくつか選択可能ですが、ここではBasic Conditionを選択し、気温値の条件を入力しています。
最後にDoneボタンをクリックし、登録は終了です。ルールの一覧画面に遷移しますので、作成したルールが追加されていることを確認します。
3. それぞれのデバイスでプリケーションを実行
ルールの登録ができたら、2台のEdisonそれぞれで、気温検知用のアプリケーションとLED点灯用のアプリケーションを実行します。気温検知用のアプリケーションは、SensorTagから定期的に気温値を取得し、それをDashboardに送信します。Dashboardに送られて来た気温値が、ルールの実行条件のどれかに当てはまればLED点灯のアクチュエーションが実行されます。
今回登録した条件では25℃以上で赤、15℃から25℃未満であれば緑、15℃未満であれば青としています。以下、若干見にくいですが、27.4℃で検知中の点灯状況です。チャートメニューでグラフ表示が見れますので、正しくアクチュエーションが対応しているかを併せてチェックするとよいです。
また、アクチュエーションの通知は実行されると、以下のようにDashboard上の通知リストでも確認することができます。
手元の環境でテストするときはこの条件の温度の間隔だと、なかなか変化しませんので、より小さい気温差でアクチュエーションの実行が起こるようにルールを登録して実験するとよいです。それぞれ条件によってLED発色が切り替われば無事連携ができています。
まとめ
今回はEdisonとIntelのIoT Analytics Dashboardを使って、簡単なデバイス間連携を行ってみました。比較的容易に連携できるので、つなげるセンサーなどを替えて、実験的な仕組みを試してみるのに使えるのではないかと思います。
また、実装ではCylon.jsを使ってみました。細かいお約束事の処理などを隠蔽してくれているので、試してみたい部分の実装のみに集中できますし、ドライバを切り替えたり、組み合わせたりすることで、さらにいろいろなことが可能ですので、併せて使ってみるとよいかもしれません。
しばらく間隔が開いてのTech-Skech出張所となりましたが、次回はもう少し早くお届けできるよう、鋭意推進中です。次回もぜひお読みください。