2021年03月15日
by RAMBO
前回のMetabaseによるデータ可視化に続いて、今回はTnigsBoardを紹介します。
ThingsBoardとは、オープンソースのIoTプラットフォームで、データを収集し、可視化できます。
一般的な可視化ツールと違い、データベースをシステム内に持ち、そこにデータが保管されるため、データベース設計が不要となります。
サンプルとして位置情報を取得し、OpenStreetMap上へプロットされるダッシュボードを作成してみます。
Amazon EC2 上に構築したThingsBoard Community Edition を使用しています。
1. ログイン
ブラウザでThingsBoardのURLにアクセスし、ログインします。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/01_ThingsBoard_login.png)
2. デバイスの追加
左側メニューから[デバイス]を選択します。
「デバイス」の画面が表示されます。
[+]をクリックし、表示されるリストから[新しいデバイスを追加する]を選択します。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/02_ThingsBoard_d_01.png)
「新しいデバイスを追加する」ダイアログが表示されます。
デバイスの名称を入力し、[追加]をクリックします。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/03_ThingsBoard_d_02.png)
デバイスが登録されます。
をクリックします。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/04_ThingsBoard_d_03.png)
「デバイス資格情報」ダイアログが表示されます。
アクセストークンをメモし、[キャンセル]でダイアログを閉じます。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/05_ThingsBoard_d_04.png)
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
コマンドを実行すると、最新テレメトリにデータが表示されます。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/06_ThingsBoard_s.png)
4. ダッシュボードの作成
左側メニューから[ダッシュボード]を選択します。
「ダッシュボード」の画面が表示されます。
[+]をクリックし、表示されるリストから[新しいダッシュボードを作成…]を選択します。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/07_ThingsBoard_ds_01.png)
「ダッシュボードを追加」ダイアログが表示されます。
タイトルを入力し、[追加]をクリックします。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/08_ThingsBoard_ds_02.png)
ダッシュボードが登録されます。
をクリックします。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/09_ThingsBoard_ds_03.png)
空のダッシュボードが表示されます。
右下の編集アイコンをクリックします。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/10_ThingsBoard_ds_04.png)
エンティティエイリアスアイコンをクリックします。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/11_ThingsBoard_ds_05.png)
「エンティティエイリアス」ダイアログが表示されます。
[エイリアスを追加する]をクリックします。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/12_ThingsBoard_ds_06.png)
「エイリアスを追加する」ダイアログが表示されます。
下記のように設定します。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/alias.jpg)
設定したら、[追加]をクリックします。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/13_ThingsBoard_ds_07.png)
「エンティティエイリアス」ダイアログに戻ります。
[セーブ]をクリックします。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/14_ThingsBoard_ds_08.png)
[+ 新しいウィジェットを追加]をクリックします。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/15_ThingsBoard_ds_09.png)
「ウィジェットを選択」画面が表示されます。
現在のバンドルで Maps を選択し、
時系列から Route Map – OpenStreetMap を選択します。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/16_ThingsBoard_ds_10.png)
「ウィジェットを追加」ダイアログが表示されます。
[データ]でデータソースを追加し、[追加]をクリックします。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/17_ThingsBoard_ds_11.png)
ダッシュボードの編集画面に戻ります。
作成したMapのウィジェットが表示されるので、curl
コマンドでデータを送信してみます。
マーカーがプロットされることを確認し、保存アイコンをクリックします。
![](https://www.trackers.jp/topic/wp-content/uploads/2021/03/18_ThingsBoard_ds_12.png)
以上でサンプル作成については終了です。
今回はMap上にマーカーをプロットしましたが、他にもいろいろな可視化用ウィジェットが用意されています。 リアルタイムにデータを確認する用途ではなかなか使えるのではないでしょうか。