「Docker, ThingsBoard」を使ってみた。
採用情報

「Docker」を使って、IoTデータを見える化するツール「ThingsBoard」を動かしてみた

ブログ

こんにちは、システムファイブ株式会社のNです。

今回は、Docker」を使って、センサーや機器などから集めたIoTデータをグラフなどで見える化できるツール「ThingsBoard」を実際に動かしてみました。その手順と、使ってみた感想を簡単にご紹介します。

まず、今回試した構成の全体像は下の図のようになります。センサーからのデータがゲートウェイを経由して Docker 上の ThingsBoard に入り、Webブラウザのダッシュボードから確認できるという流れです。

 

■ Dockerとは?

Dockerとは、アプリを動かすのに必要な部品一式を「コンテナ」という箱にまとめ、どのPCでも同じ環境で動かせるようにする仕組みです。これにより、設定や環境の違いによるトラブルを減らすことができます。
 

■ Docker Desktopのインストール

では、Dockerをインストールします。

Docker公式ページ:https://www.docker.com/get-started/

公式ページにアクセスし、「Download Docker Desktop」ボタンをクリックすると、利用しているOSごとのダウンロードメニューが表示されます。ここで自分のPC環境に合ったものを選び、インストーラーをダウンロードします。

 

ThingsBoardコンテナを起動する

インストーラーの指示にしたがって進め、インストールが完了したら Docker Desktop を起動します。起動すると、画面上部にイメージを検索できる検索欄が表示されます。

ここに「ThingsBoard」と入力し、表示された「thingsboard/tb-postgres」イメージを実行します。

 

■ ThingsBoardにアクセスしてみる

ここであらためて、「ThingsBoard」について簡単にご紹介します。

ThingsBoard」とは、センサーや機器などのIoTデバイスから集めたデータをまとめて管理し、グラフやメーターなどの形式で見やすく画面表示してくれるWebツールです。どの機器が今どんな状態なのかを、ブラウザ上のダッシュボードから一目で確認できる「IoTデータを見える化するツール」というイメージです。コンテナが起動したら、ブラウザでThingsBoard にアクセスします。

アクセスすると、下図のようなホーム画面が表示されます。ここからデバイスの登録やダッシュボードの作成など、基本的な操作を行っていきます。

 

■ ウィジェットでダッシュボードを作る

ThingsBoardにはさまざまなウィジェットがあり、グラフやメーター、地図などをパーツ感覚で組み合わせることで、自分好みのダッシュボードを簡単に作ることができます。

ダッシュボードの編集画面から「ウィジェットを追加」を選ぶと、下図のようにウィジェットのカテゴリ一覧が表示されます。グラフ(Charts)、カード表示(Cards)、地図(Maps)、アナログメーター(Analogue gaugesなど、よく使う部品があらかじめ用意されており、用途に応じて選んで配置していくイメージです。

 

今回は、その中からよく使いそうなウィジェットをいくつか選んで、実際に画面を作ってみました。温湿度センサーと人感センサーのデータを使い、ダッシュボードを作成しています。画面上部には現在の温度・湿度、人感センサーの反応ログをカード形式で表示し、その下には温度の推移をチャートで表示しています。こうしておくと、部屋の環境や人の出入りの状況を一画面でざっくり把握できて便利です。

 

■ 触ってみた感想

初めてDockerThingsBoardを触ってみましたが、IoTデータの見える化を体験するにはとても良いツールだと思います。また、温度推移の部分ではグラフを利用していますが、これもウィジェットが用意されており、平均値なども表示可能なので非常に便利だと感じました。 

■ おわりに

今回は、すべて社内ネットワーク内で完結するローカル構成で試してみましたが、次のステップとしてインターネット越しの構成にもチャレンジしてみたいと考えています。たとえば、今回はWiFi版のゲートウェイを使用していますがLTE版のゲートウェイに置き換えて遠隔地の温湿度・人感センサーからクラウド側へデータをアップロードし、ThingsBoard でまとめて監視するようなイメージです。LTE版ゲートウェイ と SIM カード、そしてインターネット公開された PC(もしくはサーバ)があれば、外部からの常時アップロード経路を作ることができます。

ThingsBoard はオープンソースで商用利用も可能なツールなので、この構成をベースに実運用への展開も視野に入ります。PC 側の環境は、AWS 上にサーバを立てるか、PoC であれば 市販ルーターのダイナミック DNS を使って社内サーバを公開するか、などどのパターンで組もうかあれこれ検討しているところです。いずれにしても、遠隔地の状態をブラウザから手軽に監視できる仕組みに育てていければと考えています。

ここまでお読みいただきありがとうございました!次回の投稿をお楽しみに!

カテゴリ