LoginSignup
2
0

More than 3 years have passed since last update.

屋内環境を手軽にモニタリングする~⑧後記~

Last updated at Posted at 2019-09-06

今回、屋内環境の快適性を簡単に把握したいと思い立ち、ツールの作成に取り組んでみました。折角なので、工場も対象に含めて、OPC-UAにも対応しました。

開発環境には、慣れたJava / OSGiを選択しましたが、3rdパーティでOSGi未対応のJavaライブラリも多く、バージョン依存の検証等でOSGi対応にする作業もそこそこ掛かりました。なお、わたしがOSGi対応にしたバンドルは、バンドル一覧から辿れます。

また、BLEをdbus経由でスマートに利用できるJavaライブラリを使えることは、今回の作業を進める上で、大いに励みになりました。なお、bluez-dbusには、幾つかissueやPRを投げて対応してもらいました。

OPC-UAのJava実装については、その界隈ではEclipse Miloは有名で、未だv1ではありませんが、多くのプロジェクトで利用されているのではと思います。ただ、Miloの開発は実質お一人の方がされているようで、ドキュメントが無いのも致し方無いと思います。今回、OPC-UAクライアントを書きましたが、Miloのサンプルコードはドキュメントの代わりに大いに役に立ちました。

また、可視化ツールについては、Grafanaは優れものと改めて実感しました。Chronografも良いのですが、Grafanaの場合、有志の方々から様々なパネルが公開されており、とても使い勝手が良いです。

今日、様々なオープンソースを組み合わせて、小さいですが、思い描くツールを割りと簡単に実現でき、とても重宝しています。あと、Raspberry Pi 4Bの4GBメモリモデルが手に入れば、連携するシステムを一台に詰め込んで、All-In-Oneにできるのでは思います。今でも面倒くさいので、Raspberry Pi 3Bに連携する全システムを載せて利用してます。(OPC-UAはオフにしていますが)

今後、設定と更新を簡単に繰り返せるように、コンテナ化して、Kubernetesで構築したエッジのコンテナクラスタに配備することで、手軽に利用できるようにしたいと思います。その場合、

  • セキュアなWi-FiネットワークのコンテナクラスタにPodを配備
  • エッジ系を、オンプレに閉じる、あるいは、クラウドと連携させてPodを管理
  • ダッシュボードから操作

これらを稼働環境の要件に考えています。本ツールは、主だった環境情報をセンシングして可視化しますが、場所を選ばすに手軽に設置して、ロケーションフリーで展開できればと考えています。

最後に、将来の活用を考えて、MQTTでデータを取得する仕組みを入れました。IoTに限らず、主役はデータと思いますので。

一連の記事

このシリーズは、以下の記事から構成されます。
1. 動機とコンセプト
2. Bluetooth LEアドバタイズ信号をJavaでキャッチする(Bluetooth LE / bluez-dbus)
 関連するGithubはこちら
3. TI SensorTag CC2650から温度/湿度/照度などをJavaで取得する(Bluetooth LE / bluez-dbus)
 関連するGithubはこちら
4. MH-Z19BからCO2濃度をJavaで取得する(シリアル通信 / jSerialComm)
 関連するGithubはこちら
5. PPD42NSからPM2.5濃度をJavaで取得する(GPIO / Pi4J)
 関連するGithubはこちら
6. 産業オートメーション機器の稼動情報をJavaで取得する(OPC-UA / Eclipse Milo)
 関連するGithubはこちら
7. 簡易ツールにまとめる
 関連するGithubはこちら
8. 後記(今回)

追記

[2019.11.16]
簡易ツールの最新情報は、こちらをご参照下さい。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0