2021年03月15日
by RAMBO
前回のMetabaseによるデータ可視化に続いて、今回はTnigsBoardを紹介します。
ThingsBoardとは、オープンソースのIoTプラットフォームで、データを収集し、可視化できます。
一般的な可視化ツールと違い、データベースをシステム内に持ち、そこにデータが保管されるため、データベース設計が不要となります。
サンプルとして位置情報を取得し、OpenStreetMap上へプロットされるダッシュボードを作成してみます。
1. ログイン
ブラウザでThingsBoardのURLにアクセスし、ログインします。
2. デバイスの追加
左側メニューから[デバイス]を選択します。
「デバイス」の画面が表示されます。
[+]をクリックし、表示されるリストから[新しいデバイスを追加する]を選択します。
「新しいデバイスを追加する」ダイアログが表示されます。
デバイスの名称を入力し、[追加]をクリックします。
デバイスが登録されます。
をクリックします。
「デバイス資格情報」ダイアログが表示されます。
アクセストークンをメモし、[キャンセル]でダイアログを閉じます。
3. データの送信
ThingsBoard の REST API を使用してデータを送信します。
今回は実際のデバイスではなく、Windows PCからの curl
コマンドでデータを送信してみます。
緯度・経度と温度を送ってみます。
送信するデータは次のJSONです。
{
"latitude": 43.692332,
"longitude": 142.513703,
"temperature": 35
}
送信する curl
コマンドは次になります。
「XXX.XXX.XXX.XXX」はIPアドレス、「PPPP」はポート番号、「AAAAAAAAAAAAAAAAAAA」はデバイスのアクセストークンに置き換えてください。
curl --request POST --header "Content-Type:application/json" --data "{\"latitude\": 43.692332, \"longitude\": 142.513703, \"temperature\": 35}" http://XXX.XXX.XXX.XXX:PPPP/api/v1/AAAAAAAAAAAAAAAAAAA/telemetry
ThingsBoard の「デバイス」画面で、追加したデバイスをクリックします。
表示される「デバイスの詳細」画面で、[最新テレメトリ]をクリックします。
上記 curl
コマンドを実行すると、最新テレメトリにデータが表示されます。
4. ダッシュボードの作成
左側メニューから[ダッシュボード]を選択します。
「ダッシュボード」の画面が表示されます。
[+]をクリックし、表示されるリストから[新しいダッシュボードを作成…]を選択します。
「ダッシュボードを追加」ダイアログが表示されます。
タイトルを入力し、[追加]をクリックします。
ダッシュボードが登録されます。
をクリックします。
空のダッシュボードが表示されます。
右下の編集アイコンをクリックします。
エンティティエイリアスアイコンをクリックします。
「エンティティエイリアス」ダイアログが表示されます。
[エイリアスを追加する]をクリックします。
「エイリアスを追加する」ダイアログが表示されます。
下記のように設定します。
設定したら、[追加]をクリックします。
「エンティティエイリアス」ダイアログに戻ります。
[セーブ]をクリックします。
[+ 新しいウィジェットを追加]をクリックします。
「ウィジェットを選択」画面が表示されます。
現在のバンドルで Maps を選択し、
時系列から Route Map – OpenStreetMap を選択します。
「ウィジェットを追加」ダイアログが表示されます。
[データ]でデータソースを追加し、[追加]をクリックします。
ダッシュボードの編集画面に戻ります。
作成したMapのウィジェットが表示されるので、curl
コマンドでデータを送信してみます。
マーカーがプロットされることを確認し、保存アイコンをクリックします。
以上でサンプル作成については終了です。
今回はMap上にマーカーをプロットしましたが、他にもいろいろな可視化用ウィジェットが用意されています。 リアルタイムにデータを確認する用途ではなかなか使えるのではないでしょうか。