[JAVA] Easily monitor the indoor environment- (1) Motivation and concept-

I've always wanted to understand the trends of changes in the main environmental information indoors (private / office / factory). About each concentration of CO2 and PM2.5, and general environmental information (temperature, humidity, illuminance, etc.).

PM2.5 is a word often heard about air pollution in recent years, and refers to fine particulate matter in the atmosphere. Point to.

In addition, CO2 concentration in the atmosphere has been taken up as an index of global warming, but it is currently outdoors. The average concentration is about 400 ppm. On the other hand, I learned from an internet article that in a closed room, it easily exceeds 1000 ppm. [This article](https://www.san-eee.com/measuring/co%e3%81%a8co2%e6%bf%83%e5%ba%a6%e3%81%ae%e4%ba% ba% e4% bd% 93% e3% 81% b8% e3% 81% ae% e5% 8d% b1% e9% 99% ba% e5% ba% a6% e3% 81% ab% e9% 96% a2% According to e3% 81% 97% e3% 81% a6 /), there are concerns about the effect on physical condition above 2000 ppm, which is one of the main motives for this initiative.

Furthermore, assuming a factory, we have added a function to acquire operation information from industrial automation equipment and easily monitor it. For this purpose, we will use OPC-UA, which is attracting attention in Industry 4.0 / IIoT, as a protocol for acquiring information from devices. Currently, I think this field is a hot area from the viewpoint of factory IoT, but first of all, I would like to try it and help you to easily monitor the operating status of equipment.

However, I think that there are still a small number of devices currently in operation that are compatible with OPC-UA. In this case, the industrial network protocol of the existing device (eg EtherNet / IP (CIP) or [Modbus](https://ja. wikipedia.org/wiki/Modbus) etc.) needs a mechanism to convert to OPC-UA. In fact, there are commercial products for such protocol conversion. (I haven't seen it in open source yet)

We have set the following requirements with the aim of creating a simple tool for collecting these data and monitoring them in real time.

--Monitor general environmental information (CO2, PM2.5, temperature, humidity, illuminance) indoors (private / office / factory) --OPC-UA acquires and monitors operation information of industrial automation equipment --Runs on Raspberry Pi 3B --Collecting OSGi applications running on Java 8 or above (because I'm used to Java & OSGi) --The time series database and visualization tools used for monitoring utilize existing open source. --Make the collected data available for other purposes (data source function)

The image looks like this. concept_overview.png To conclude first, the Java library for acquiring various sensor data created in a series of articles is incorporated into a simple tool, which is Github here. s5uishida / rainy).

In the future, I would like to make it easy to use by containerizing it and deploying it in the edge container cluster built with Kubernetes so that the setting and updating of this tool can be easily repeated.

A series of articles

This series consists of the following articles:

  1. ** Motivation and concept (this time) **
  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

Postscript

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

Recommended Posts

Easily monitor the indoor environment- (1) Motivation and concept-
Easily monitor the indoor environment ~ ⑧ Postscript ~
Easily monitor the indoor environment-⑦ Summarize in a simple tool-
Easily monitor the indoor environment-② Catch the Bluetooth LE advertisement signal with Java (Bluetooth LE / bluez-dbus)-
Easily monitor the indoor environment-⑤ Obtain PM2.5 concentration from PPD42NS with Java (GPIO / Pi4J)-
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) ~
Feel the basic type and reference type easily with ruby
Feel the basic type and reference type easily with ruby 2
Prepare the environment for java11 and javaFx with Ubuntu 18.4