Surveillez facilement l'environnement intérieur - ⑩ Obtenez température / humidité / pression à partir du BME280 (substitut) avec Java (I2C / Pi4J) -

L'outil simple de surveillance des informations environnementales, précédemment présenté dans cet article, fournit des informations sur la température, l'humidité et la pression Texas Instruments. Obtenu auprès de SensorTag CC2650. Cependant, CC2650, qui est connu dans le monde entier depuis longtemps comme étiquette de capteur d'environnement BLE, est discontinué, il sera donc difficile de l'obtenir à l'avenir. Par conséquent, j'ai décidé de prendre en charge un autre capteur.

Il existe de nombreux capteurs de température et d'humidité dans le monde, et je me demande vraiment lequel choisir. Juste à ce moment-là, j'ai trouvé informations utiles, et par conséquent, Bosch [BME280](https: //www.bosch-sensortec) Vous avez sélectionné .com / produits / capteurs-environnementaux / capteurs-d'humidité-bme280 /). Il est abordable et peut être obtenu pour des centaines de yens.

Qu'est-ce que le capteur BME280?

Ce capteur peut mesurer la température, l'humidité et la pression. De plus, il semble que la température soit principalement utilisée pour corriger la valeur mesurée de la pression atmosphérique, mais comme c'est une bonne idée, la valeur elle-même est également utilisée. L'interface prend en charge I2C et SPI, mais I2C est utilisé ici. L'adresse I2C peut être «0x76» ou «0x77». De plus, comme il existe deux bus I2C pour Raspberry Pi 3B ou 4B, "0" et "1", vous pouvez utiliser jusqu'à quatre BME280 en même temps avec Raspberry Pi 3B ou 4B. rainy_bme280_floor.png

La bibliothèque Java BME280 créée (bme280-driver) est disponible sur Github. J'ai également écrit la procédure de configuration du système d'exploitation et du capteur. De plus, un outil simple de surveillance des informations environnementales qui intègre cette bibliothèque est disponible sur Github here.

Utilisation de base de la bibliothèque Java

Voici une utilisation simple de bme280-driver. Dans l'exemple de code ci-dessous, I2C bus = «1» et address = «0x76» sont spécifiés.

import com.pi4j.io.i2c.I2CBus;

import io.github.s5uishida.iot.device.bme280.driver.BME280Driver;

public class MyBME280 {
    private static final Logger LOG = LoggerFactory.getLogger(MyBME280.class);
    
    public static void main(String[] args) {
        BME280Driver bme280 = null;
        try {
            bme280 = BME280Driver.getInstance(I2CBus.BUS_1, BME280Driver.I2C_ADDRESS_76);
            bme280.open();
            
            while (true) {
                float[] values = bme280.getSensorValues();
                LOG.info("temperature:" + values[0]);
                LOG.info("humidity:" + values[1]);
                LOG.info("pressure:" + values[2]);
                
                Thread.sleep(10000);
            }
        } catch (InterruptedException e) {
            LOG.warn("caught - {}", e.toString());
        } catch (IOException e) {
            LOG.warn("caught - {}", e.toString());
        } finally {
            if (bme280 != null) {
                bme280.close();
            }
        }
    }
}

C'est simple à utiliser comme ça. Il a été créé à l'aide de Pi4J, une bibliothèque Java permettant d'utiliser GPIO de Raspberry Pi.

finalement

Un outil simple qui intègre cette bibliothèque Java a la capacité de surveiller chaque valeur de capteur sur un tableau de bord et de l'envoyer au courtier MQTT au format JSON.

Enfin, l'outil simple est disponible sur Github here.

Une série d'articles

Cette série comprend les articles suivants:

  1. Motivation et concept
  2. Capturez le signal publicitaire Bluetooth LE avec Java (Bluetooth LE / bluez-dbus) Le Github associé est ici.
  3. Obtenir la température / l'humidité / l'éclairement etc. à partir du TI SensorTag CC2650 avec Java (Bluetooth LE / bluez-dbus) Le Github associé est ici.
  4. Obtenir la concentration de CO2 du MH-Z19B avec Java (communication série / jSerialComm) Le Github associé est ici.
  5. Obtenir la concentration de PM2,5 à partir de PPD42NS en Java (GPIO / Pi4J) Le Github associé est ici.
  6. Obtenir des informations sur le fonctionnement des équipements d'automatisation industrielle en Java (OPC-UA / Eclipse Milo) Le Github associé est ici.
  7. Collectez dans un outil simple Le Github associé est ici.
  8. Postscript
  9. Obtenir la détection de mouvement (HC-SR501 / RCWL-0516) en Java (GPIO / Pi4J) Github associé est ici (HC-SR501) et ici (RCWL-0516) -0516-pilote).
  10. ** Obtenir la température / humidité / pression du BME280 (substitut) avec Java (I2C / Pi4J) (cette fois) ** Le Github associé est ici.
  11. Obtention de l'éclairage à partir du BH1750FVI (substitut) en Java (I2C / Pi4J) Le Github associé est ici.

Recommended Posts

Surveillez facilement l'environnement intérieur - ⑩ Obtenez température / humidité / pression à partir du BME280 (substitut) avec Java (I2C / Pi4J) -
Surveillez facilement l'environnement intérieur-⑪ Obtenez l'éclairement avec Java à partir de BH1750FVI (substitut) - (I2C / Pi4J) -
Surveillez facilement l'environnement intérieur-⑤ Obtenez la concentration de PM2,5 à partir du PPD42NS avec Java (GPIO / Pi4J) -
Surveillez facilement l'environnement intérieur ~ ④ Obtenez la concentration de CO2 du MH-Z19B avec Java (communication série / jSerialComm) ~
Surveillez facilement l'environnement intérieur ~ ③ Obtenez la température / l'humidité / l'éclairement, etc. de TI SensorTag CC2650 avec Java (Bluetooth LE / bluez-dbus) ~
Surveillez facilement l'environnement intérieur-② Capturez le signal publicitaire Bluetooth LE avec Java (Bluetooth LE / bluez-dbus) -
Surveillez facilement l'environnement intérieur ~ ⑨ Obtenez la détection de mouvement (HC-SR501 / RCWL-0516) avec Java (GPIO / Pi4J) ~
Surveillez facilement l'environnement intérieur ~ ⑧ Postscript ~
Surveillez facilement l'environnement intérieur - (1) Motivation et concept -
Lire la température / l'humidité avec Java de Raspberry Pi 3 & DHT11
Lire la pression et la température de Raspberry Pi 3 et BMP180 avec Java
Surveillez facilement l'environnement intérieur-⑥ Acquérez les informations de fonctionnement des équipements d'automatisation industrielle en Java (OPC-UA / Eclipse Milo) -