Surveillez facilement l'environnement intérieur-⑪ Obtenez l'éclairement avec Java à partir de BH1750FVI (substitut) - (I2C / Pi4J) -

L'outil simple de surveillance des informations environnementales, précédemment présenté dans cet article, fournit des informations sur l'éclairement Texas Instruments SensorTag CC2650. Obtenu à partir de (: //processors.wiki.ti.com/index.php/CC2650_SensorTag_User's_Guide). Cependant, CC2650, qui est connu dans le monde entier depuis longtemps comme étiquette de capteur d'environnement BLE, est arrêté, il sera donc difficile de l'obtenir à l'avenir. Par conséquent, j'ai décidé de prendre en charge un autre capteur.

Cette fois, nous avons sélectionné le [BH1750FVI] de ROHM (https://www.mouser.com/datasheet/2/348/bh1750fvi-e-186247.pdf) comme nouveau capteur d'éclairement. Il est abordable et peut être obtenu pour des centaines de yens.

Qu'est-ce que le capteur BH1750FVI?

Ce capteur peut mesurer l'éclairement. L'interface est I2C et l'adresse I2C peut être "0x23ʻou0x5c. De plus, il existe deux bus I2C pour Raspberry Pi 3B ou 4B, "0" et "1", vous pouvez donc utiliser jusqu'à quatre BH1750FVI en même temps avec Raspberry Pi 3B ou 4B. rainy_bh1750fvi_floor.png

La bibliothèque Java BH1750FVI créée (bh1750fvi-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 suivi des informations environnementales intégrant cette bibliothèque est disponible sur Github here.

Utilisation de base de la bibliothèque Java

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

import com.pi4j.io.i2c.I2CBus;

import io.github.s5uishida.iot.device.bh1750fvi.driver.BH1750FVIDriver;

public class MyBH1750FVI {
    private static final Logger LOG = LoggerFactory.getLogger(MyBH1750FVI.class);
    
    public static void main(String[] args) {
        BH1750FVIDriver bh1750fvi = null;
        try {
            bh1750fvi = BH1750FVIDriver.getInstance(I2CBus.BUS_1, BH1750FVIDriver.I2C_ADDRESS_23);
            bh1750fvi.open();
                
            while (true) {
                float value = bh1750fvi.getOptical();
                LOG.info("optical:" + value);
                    
                Thread.sleep(10000);
            }
        } catch (InterruptedException e) {
            LOG.warn("caught - {}", e.toString());
        } catch (IOException e) {
            LOG.warn("caught - {}", e.toString());
        } finally {
            if (bh1750fvi != null) {
                bh1750fvi.close();
            }
        }
    }
}

C'est simple à utiliser comme ça. Il a été créé en utilisant 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 les valeurs des capteurs sur le tableau de bord et de les 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 température / humidité / pression à partir du BME280 (substitut) en Java (I2C / Pi4J) Le Github associé est ici.
  11. ** Obtenir l'éclairement en Java à partir de BH1750FVI (substitut) (I2C / Pi4J) (cette fois) ** Le Github associé est ici.

Recommended Posts

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 température / humidité / pression à partir du BME280 (substitut) avec Java (I2C / 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 ~ ⑧ Postscript ~
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 - (1) Motivation et concept -
Surveillez facilement l'environnement intérieur - ⑦ Résumez dans un outil simple -
Surveillez facilement l'environnement intérieur-⑥ Acquérez les informations de fonctionnement des équipements d'automatisation industrielle en Java (OPC-UA / Eclipse Milo) -
[Java] Réglez l'heure depuis le navigateur avec jsoup
Surveillez l'état interne des programmes Java avec Kubernetes
[Note] Créez un environnement Java à partir de zéro avec docker
Préparer l'environnement pour java11 et javaFx avec Ubuntu 18.4
Trouvez la classe d'adresse et le type d'adresse à partir de l'adresse IP avec Java
AWS Elastic Beanstalk # 1 avec Java à partir de zéro - Création d'un environnement d'application Web Java à l'aide de l'interface de ligne de commande EB-