[JAVA] Easily monitor the indoor environment ~ ⑧ Postscript ~

This time, I wanted to easily understand the comfort of the indoor environment, so I worked on creating a tool. Since it is a good deal, we have also supported OPC-UA, including factories.

I chose the familiar Java / OSGi for the development environment, but there were many Java libraries that did not support OSGi at the 3rd party, and it took some work to make it compatible with OSGi by version-dependent verification. You can find the bundles that I have made compatible with OSGi from Bundle List.

Also, being able to use a Java library that can use BLE smartly via dbus was a great encouragement for me to proceed with this work. In addition, bluez-dbus was asked to respond by throwing some issues and PR.

Regarding the Java implementation of OPC-UA, Eclipse Milo is famous in that area, and although it is not yet v1, I think that it is used in many projects. However, Milo seems to be developed by one person, and I think it is unavoidable that there is no document. This time I wrote an OPC-UA client, and Milo's sample code was a great alternative to documentation.

Also, when it comes to visualization tools, Grafana once again realized that it was excellent. Chronograf is also good, but in the case of Grafana, various panels are open to the public from volunteers, and it is very easy to use.

Today, it's a small combination of various open sources, but it's relatively easy to realize the tools you envision, which is very useful. Also, if I get a 4GB memory model of Raspberry Pi 4B, I think that it will be possible to pack all the linked systems into one and make it All-In-One. It's still annoying, so I'm using all the systems that work with the Raspberry Pi 3B. (Although OPC-UA is turned off)

In the future, I would like to make it easy to use by containerizing it and deploying it to the edge container cluster built with Kubernetes so that settings and updates can be easily repeated. In that case,

--Deploy Pods in container clusters on secure Wi-Fi networks --Close the edge system on-premise or manage the pod in cooperation with the cloud --Operate from the dashboard

We consider these as requirements for the operating environment. This tool senses and visualizes the main environmental information, but we would like to install it easily to select a location and deploy it location-free.

Finally, considering future utilization, we have introduced a mechanism to acquire data with MQTT. Not limited to IoT, I think the leading role is data.

A series of articles

This series consists of the following articles:

  1. Motivation and Concept
  2. Catch Bluetooth LE advertisement signal with Java (Bluetooth LE / bluez-dbus) The related Github is here.
  3. Get temperature / humidity / illuminance etc. from TI SensorTag CC2650 with Java (Bluetooth LE / bluez-dbus) The related Github is here.
  4. Obtain CO2 concentration from MH-Z19B with Java (serial communication / jSerialComm) The related Github is here.
  5. Get PM2.5 concentration from PPD42NS in Java (GPIO / Pi4J) The related Github is here.
  6. Getting operational information of industrial automation equipment in Java (OPC-UA / Eclipse Milo) The related Github is here.
  7. Collect in a simple tool The related Github is here.
  8. ** Postscript (this time) **

Postscript

[2019.11.16] For the latest information on simple tools, please refer to here.

Recommended Posts

Easily monitor the indoor environment ~ ⑧ Postscript ~
Easily monitor the indoor environment- (1) Motivation and concept-
Easily monitor the indoor environment-⑦ Summarize in a simple tool-
Easily monitor the indoor environment-⑪ Obtain the illuminance with Java from BH1750FVI (substitute)-(I2C / Pi4J)-
Easily monitor the indoor environment-② Catch the Bluetooth LE advertisement signal with Java (Bluetooth LE / bluez-dbus)-
Easily monitor the indoor environment ~ ⑨ Get motion detection (HC-SR501 / RCWL-0516) in Java (GPIO / Pi4J) ~
Easily monitor the indoor environment-④ Obtain CO2 concentration from MH-Z19B with Java (serial communication / jSerialComm)-
Easily monitor the indoor environment-⑥ Acquire operation information of industrial automation equipment in Java (OPC-UA / Eclipse Milo)-
Easily monitor the indoor environment-⑩ Obtain temperature / humidity / atmospheric pressure from BME280 (substitute) with Java (I2C / Pi4J)-
Easily monitor the indoor environment ~ ③ Get temperature / humidity / illuminance etc. from TI SensorTag CC2650 with Java (Bluetooth LE / bluez-dbus) ~
Monitor the clipboard with JNA