はじめに
IBM CloudにおけるInternet of Things Platformを利用するとIoTデバイスを一元的に管理できます。
同サービスの中でWatson IoT Platformにて、デバイスとデバイス・データをシミュレートすることで実デバイスの用意なしにIoTを体験してみました。
環境情報
- Watson IoT Platform v7.0.28
環境準備
IBM Cloudの管理画面にてInternet of Things Platformをオーダーします。
するとリソースリストから同サービスが確認でき、その管理画面から以下のように”Watson IoT Platform”が起動できます。
起動ボタンを押下すると新たにアカウントのIDが採番されて以下URLに遷移し
https://XXXX.internetofthings.ibmcloud.com/
以下のようにデバイスが一元的に管理できます。
今回はシミュレータを利用するので”一般設定”からデバイス・シミュレーターをアクティブにします。
デバイス/シミュレーターの作成
各デバイスを登録/作成する前に「デバイス・タイプ」と呼ばれるオブジェクトを新規作成します。
入力する値としてはデバイス名だけでもよく、それに紐づくデバイスのテンプレートとして利用するので機種だけではなくロケーション毎に分けるなどを想定しています。
デバイスタイプができると「デバイスの参照」から”X個のシミュレータが稼働しています”と表示されている箇所があるのでそこをクリックするとシミューレーターが作成できます。
先程用意したデバイスタイプ毎にイベントタイプが用意でき、そこに
- 分間隔
- イベントの式
が格納できるので、例えば1分毎にして式をデフォルトの以下とすれば
{ "randomNumber": random(0, 100) }
そのデバイスタイプからできたシミューレーターは1分毎に1~100の値をランダムで送信します。
試しに1つデバイスを用意すると以下のように実体は存在しないのに「接続済」となっています。
作成したデバイスの詳細を見ると”最近のイベント"という箇所に以下のような値が確認できます。
イベント 値 フォーマット 最終受信 event_1 {"randomNumber":74} json 数秒前
終わりに
デバイスは新規作成しても状況は「切断済み」になってしまいますがシミューレーターは同ダッシュボードを起動する度に仮想的に接続がされます。実際にデバイスを用意したりデバイスに仮想的に接続してイベントを発生させることなく、自動的にイベントを発生させてくれるシミューレーターは動作検証におすすめです。