Surveillez facilement l'environnement intérieur-⑤ Obtenez la concentration de PM2,5 à partir du PPD42NS avec Java (GPIO / Pi4J) -

introduction

Utilisez le [PPD42NS] peu coûteux (http://wiki.seeedstudio.com/Grove-Dust_Sensor/) comme capteur pour mesurer la concentration de PM2,5. Ceci génère le résultat de la détection sous la forme Hi / Lo de la sortie numérique et calcule la concentration de PM2,5 selon la formule spécifiée. Dans cet article, j'ai utilisé Pi4J comme module Java GPIO de Raspberry Pi 3B et créé une bibliothèque Java [ppd42ns-driver] pour obtenir la concentration de PM2,5 à partir de PPD42NS. ](Https://github.com/s5uishida/ppd42ns-driver) est un aperçu. Cependant, le contenu de Github est le même. Pour obtenir des détails sur l'implémentation et un exemple d'utilisation, consultez [Code Github](https://github.com/s5uishida/ppd42ns-driver/blob/master/src/io/github/s5uishida/iot/device/ppd42ns/driver/PPD42NSDriver Voir .java).

Connexion entre PPD42NS et Raspberry Pi 3B

Connectez 5V, GND, PM2.5, Tx comme suit. Vous pouvez également vous référer à ici.

Concernant les paramètres du système d'exploitation, l'article précédent "Surveillance facile de l'environnement intérieur--Obtenir la concentration de CO2 du MH-Z19B avec Java (communication série / jSerialComm) - / 1754998f8f706c4c3314) ".

Installation de câblage Pi

Pour utiliser la bibliothèque Java Pi4J qui exploite le GPIO de Raspberry Pi 3B, une bibliothèque appelée WiringPi est nécessaire. Installez comme suit.

# apt-get update
# apt-get install wiringpi

Lors de l'utilisation avec Raspberry Pi 4B, installez la dernière version comme suit. Veuillez consulter ici.

# wget https://project-downloads.drogon.net/wiringpi-latest.deb
# dpkg -i wiringpi-latest.deb

Assurez-vous que la version est 2.52.

# gpio -v
gpio version: 2.52

** En octobre 2019, nous n'avons pas confirmé les informations officielles sur l'utilisation de Raspberry Pi 4B avec Pi 4J et Wiring Pi. J'ai confirmé que cela fonctionne facilement, mais certains problèmes peuvent survenir. ** **

Exemple de code

Vous trouverez ci-dessous un exemple d'utilisation du pilote ppd42ns. ** Notez que cela prend environ 30 secondes pour chaque mesure, il faut donc environ 30 secondes pour que les données du capteur soient lues ppd42ns.read () pour revenir. ** **

import com.pi4j.io.gpio.Pin;
import com.pi4j.io.gpio.RaspiPin;

import io.github.s5uishida.iot.device.ppd42ns.driver.PPD42NSDriver;
import io.github.s5uishida.iot.device.ppd42ns.driver.PPD42NSObservationData;

public class MyPPD42NS {
    private static final Logger LOG = LoggerFactory.getLogger(MyPPD42NS.class);
    
    public static void main(String[] args) {
        PPD42NSDriver ppd42ns = PPD42NSDriver.getInstance(RaspiPin.GPIO_10);
        ppd42ns.open();
    
        while (true) {
            try {
                PPD42NSObservationData data = ppd42ns.read();
                LOG.info("[{}] {}", ppd42ns.getName(), data.toString());
            } catch (IOException e) {
                LOG.warn("caught - {}", e.toString());
            }
        }
    
//      if (ppd42ns != null) {
//          ppd42ns.close();
//      }
    }
}

Pour plus de détails sur les données renvoyées par ppd42ns.read (), voir [Class](https://github.com/s5uishida/ppd42ns-driver/blob/master/src/io/github/s5uishida/iot/device/ Voir ppd42ns / driver / PPD42NSObservationData.java). Vous pouvez obtenir la concentration de PM2,5 en deux unités, pcs / 0.01cf et μg / m ^ 3

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 à 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 avec Java (GPIO / Pi4J) (cette fois) ** 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

Postscript

[2019.11.16] Pour obtenir les dernières informations sur les outils simples, veuillez consulter ici.

Recommended Posts

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 l'éclairement avec Java à partir de BH1750FVI (substitut) - (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 température / humidité / pression à partir du BME280 (substitut) avec Java (I2C / Pi4J) -
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-② 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 température / l'humidité / l'éclairement, etc. de TI SensorTag CC2650 avec Java (Bluetooth LE / bluez-dbus) ~
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