OpenBlocks IoTシリーズ、IoTセンサー、Zabbixを組み合わせてIoTセンサーのデータを可視化、センサーデータの内容に閾値を設けた監視について実機を用いて試しながら解説していきます。
今回使用する装置は以下の構成です。
・IoTセンサー「オムロン環境センサー 2JCIE-BL01」
・IoTゲートウェイ「OpenBlocks IoT FX1」
・Zabbixサーバー「OpenBlocks IX9」
OpenBlocks IX9へのZabbixサーバーインストールや、Zabbixを活用した監視や活用例については、過去の記事をご参照ください。
第一弾:【質問コーナー】Zabbixを利用してAirManage2のテナント情報監視をするには?
第二弾:ZabbixとSlackで実現する新しい勤怠管理のカタチ
第三弾:【新機能を先出し!】Zabbixへのログ転送機能の解説と実践
はじめに
今回の構成で使用しているOpenBlocks IoT FX1は、IoTセンサーのデータを収集・集約し、上位のサーバーやシステムへデータを送信する役割を果たすIoTゲートウェイです。
OpenBlocks IoTシリーズは、EnOceanやLTEなどのIoT特有の通信規格に幅広く対応し、主要なIoTデバイスやクラウドとノーコードで接続できるIoTゲートウェイソフトウェアFW5など、豊富な機能を搭載しています。
OpenBlocks IoTシリーズは2014年頃から弊社で製造・販売しており、多くのIoT分野でご活用いただいております。
2014年当初から、様々な主要IoTメーカーのセンサーやデバイスに対し、コマンド入力なしで、WEBブラウザ上の設定だけでIoTセンサーのデータ収集・接続が可能なように対応してきました。
現在では、100種類以上の主要メーカー製IoTセンサー・デバイスに対応しています。
IoTという単語だけでハードルが高く感じる方も多いかもしれませんが、弊社のOpenBlocks IoTシリーズを使用することで、簡単にセンサーデータの収集や上位システムへのデータ送信が可能なので、ぜひお試しください。
構成

今回はシンプルな構成で、各種センターという部分にオムロン環境センサー、BLE通信でOpenBlocks IoT FX1でデータ受信、OpenBlocks IoT FX1から上位にあたる部分がZabbixサーバーとなります。
設定の実施
それではここから実際に必要な設定を実施していきます。
※オムロン環境センサーの設定は専用アプリ等から実施する必要がありますが、今回は設定変更せずデフォルトの設定としています
※各装置での基本的なネットワーク設定やパッケージインストール等は全て完了しているものとします。
OpenBlcosk IoT FX1設定
データ受信設定
本製品は対応IoTセンサーからのデータ受信、上位へのデータ送信、その他ネットワーク関連の設定など全てWEBUIから設定可能な作りになっています。
今回使用するIoTセンサーもWEBUIから設定するだけでデータ収集などが可能になっています。
対応済みIoTセンサー・デバイスはこちらをご参照ください。
まずはOpenBlocks IoT FX1のWEBUIへアクセスします。
※ネットワーク設定や必要なパッケージ群は全て設定・インストール済みとします。
最初にIoTデバイスの登録を実施します。
今回使用するIoTセンサーはBLE通信に対応したセンサーのため、BLE登録タブからBLEデバイス検出を実行します。

実行するとOpenBlocks IoT FX1の周辺で検知したBLEデバイスが一覧として表示されます。

表示された一覧からデータ収集したい対象のIoTデバイスを登録します。
対象デバイスを見つけたら赤枠で囲った「Luaプロファイル」を入力して保存します。
LuaプロファイルはIoTデバイス毎に異なりますので対応センサーリストのLuaプロファイル欄を参照してください。

デバイスの登録後は、登録したデバイスのデータを送信する設定を実施します。
データ送信設定
今回はNode-REDを使用してZabbixサーバーへデータ送信するため、ドメインソケットを使用するにします。

次に登録したデバイス毎の設定を実施する必要があるため、画面を下にスクロールすると登録したデバイス毎の設定が確認できます。
送受信設定にて①使用する、送信先を②lsocketとします。

これで、デバイス登録及び送信設定は完了なので、あとはNode-REDからZabbixサーバーへデータ送信するフローを作成します。
Node-REDへのアクセスはNode-REDタブからリンクを押します。

リンクを押すとNode-REDの画面が表示されます。
今回使用するフローはシンプルで必要なノード数も4つのみとなり、全体フローは以下です。

特に必要な部分として、Zabbixサーバーへデータ送信する「function」ノードです。
functionノードの内容は以下の通りです。

内容はサンプルとなりますが、温度データと照度データを抽出してzabbix_senderコマンドを使用してZabbixサーバーへ送信しています。
これでOpenBlocks IoT FX1側の設定は完了です。
次にZabbixサーバー側の設定となりますが、必要な設定はホスト作成、アイテム(Zabbixトラッパー)、トリガー設定となります。
こちらは過去にも同様の設定をしていますのでこちらの記事を参照してください。
確認
Zabbixサーバー側でデータ受信、グラフ表示等を確認します。
最新データを確認すると、以下の通り温度が25.85℃、照度は394luxと確認できます。

次にグラフも確認します。
とある1日のデータを確認してみると最大値、最小値、平均値等も確認可能です。

照度データもグラフを確認すると同様のデータが確認可能です。

複数データを同一グラフ内にプロットし、相関関係を分析したり、例えば30℃以上など特定の閾値を設定してアラートを発生させたりすることも可能です。
このようにネットワーク、サーバー装置の監視だけではなく、IoTセンサーを使用した環境測定、データ分析や監視も今回の構成を使用することで可能になります。
活用例
活用例①環境モニタリング
温度や湿度センサーを使用して、データセンターやサーバールームの環境を監視し、異常な温度上昇や湿度変化が検出された場合にアラートを発する。
活用例②不正侵入検知
ドアや窓に開閉センサーを使用して、不正侵入を検出し、異常が検出された場合にアラートを発する。
活用例③相関分析
環境センサーを使用して、すでに監視している各種装置周辺の環境モニタリングを実施、
環境データをモニタリングしていることで、装置障害発生時に周辺環境に異常が無かったのかなどの相関分析を実施。
このようにOpenBlocks IoTシリーズとZabbixを組み合わせたシステムにはアイデア次第で様々な活用例が考えれます。
OpenBlocks IoTシリーズと対応IoTデバイスを組み合わせることで技術的ハードルも下がるためぜひ検討して下さい。
まとめ
今回は一例として、オムロン環境センサーから収集可能な温度データと照度データをOpenBlocks IoT FX1で収集し、Zabbixサーバーへ送信して、Zabbixサーバー側でグラフを作成し、閾値を設けて監視するということを試しました。
すでにZabbixサーバーを使用した監視システムを構築済みの方も、OpenBlocks IoTシリーズを追加で活用することで、手軽にIoTシステムを連携できます。対応センサーは100種類以上あり、様々な環境測定・監視や、これまで数値として見えていなかったデータの可視化・監視に活用可能です。
Zabbix5都市キャラバンは弊社も参加し、Interop Tokyo 2024でも好評でしたEasyBlocks SyslogとZabbixサーバーの連携について等の説明や登壇もありますので是非ご参加ください。
