Einfache Überwachung des Innenraumklimas - ⑤ Erhalten Sie die PM2.5-Konzentration von PPD42NS mit Java (GPIO / Pi4J) -

Einführung

Verwenden Sie das kostengünstige PPD42NS als Sensor, um die PM2.5-Konzentration zu messen. Dies gibt das Erkennungsergebnis als Hi / Lo der digitalen Ausgabe aus und berechnet die PM2,5-Konzentration nach der angegebenen Formel. In diesem Artikel habe ich Pi4J als Java-GPIO-Modul von Raspberry Pi 3B verwendet und eine Java-Bibliothek [ppd42ns-Treiber] erstellt, um die PM2.5-Konzentration von PPD42NS zu erhalten. ](Https://github.com/s5uishida/ppd42ns-driver) ist eine Übersicht. Der Inhalt von Github ist jedoch der gleiche. Einzelheiten zur Implementierung und zur Verwendung der Beispiele finden Sie unter Github-Code Siehe .java).

Verbindung zwischen PPD42NS und Raspberry Pi 3B

Schließen Sie 5V, GND, PM2.5, Tx wie folgt an. Sie können auch auf [hier] verweisen (https://github.com/mauricecyril/pidustsensor).

In Bezug auf die Betriebssystemeinstellungen der vorherige Artikel "Einfache Überwachung des Raumklimas - ④ Ermitteln der CO2-Konzentration von MH-Z19B mit Java (serielle Kommunikation / jSerialComm) - / 1754998f8f706c4c3314).

Verkabelung Pi Installation

Um die Java-Bibliothek Pi4J zu verwenden, die GPIO von Raspberry Pi 3B betreibt, ist eine Bibliothek namens WiringPi erforderlich. Installieren Sie wie folgt.

# apt-get update
# apt-get install wiringpi

Installieren Sie bei Verwendung mit Raspberry Pi 4B die neueste Version wie folgt. Bitte beziehen Sie sich auf hier.

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

Stellen Sie sicher, dass die Version 2.52 ist.

# gpio -v
gpio version: 2.52

** Bis Oktober 2019 haben wir keine offiziellen Informationen zur Verwendung von Raspberry Pi 4B mit Pi 4J und Wiring Pi bestätigt. Ich habe bestätigt, dass es leicht funktioniert, aber einige Probleme können auftreten. ** **.

Beispielcode

Unten finden Sie ein Beispiel für die Verwendung des ppd42ns-Treibers. ** Bitte beachten Sie, dass es für jede Messung ungefähr 30 Sekunden dauert, sodass es ungefähr 30 Sekunden dauert, bis die Sensordaten "ppd42ns.read ()" zurückkehren. ** ** **

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();
//      }
    }
}

Einzelheiten zu den von "ppd42ns.read ()" zurückgegebenen Daten finden Sie unter Klasse. Siehe ppd42ns / driver / PPD42NSObservationData.java). Sie können die Konzentration von PM2,5 in zwei Einheiten erhalten, "pcs / 0,01 cf" und "μg / m ^ 3".

Eine Reihe von Artikeln

Diese Reihe besteht aus folgenden Artikeln:

  1. Motivation und Konzept
  2. Bluetooth LE-Werbesignal mit Java abfangen (Bluetooth LE / bluez-dbus) Der zugehörige Github ist hier.
  3. Temperatur / Luftfeuchtigkeit / Beleuchtungsstärke usw. vom TI SensorTag CC2650 mit Java (Bluetooth LE / bluez-dbus) abrufen Der zugehörige Github ist hier.
  4. CO2-Konzentration von MH-Z19B mit Java abrufen (serielle Kommunikation / jSerialComm) Der zugehörige Github ist hier.
  5. ** PM2.5-Konzentration von PPD42NS mit Java (GPIO / Pi4J) erhalten (diesmal) ** Der zugehörige Github ist hier.
  6. Betriebsinformationen zu industriellen Automatisierungsgeräten in Java (OPC-UA / Eclipse Milo) abrufen Der verwandte Github ist hier.
  7. In einem einfachen Tool sammeln Der verwandte Github ist hier.
  8. Postscript

Nachtrag

[2019.11.16] Die neuesten Informationen zu einfachen Tools finden Sie unter hier.

Recommended Posts

Einfache Überwachung des Innenraumklimas - ⑤ Erhalten Sie die PM2.5-Konzentration von PPD42NS mit Java (GPIO / Pi4J) -
Überwachen Sie einfach das Raumklima. ⑪ Erhalten Sie die Beleuchtungsstärke mit Java von BH1750FVI (Ersatz) - (I2C / Pi4J) -
Einfache Überwachung des Innenraumklimas ~ ④ Erhalten Sie die CO2-Konzentration von MH-Z19B mit Java (serielle Kommunikation / jSerialComm) ~
Einfache Überwachung des Innenraumklimas - ⑩ Beziehen Sie Temperatur / Luftfeuchtigkeit / Druck von BME280 (Ersatz) mit Java (I2C / Pi4J) -
Einfache Überwachung der Innenumgebung - ⑨ Erfassen Sie die Bewegungserkennung (HC-SR501 / RCWL-0516) mit Java (GPIO / Pi4J) -
Einfache Überwachung der Innenumgebung - ② Erfassen Sie das Bluetooth LE-Werbesignal mit Java (Bluetooth LE / bluez-dbus) -
Überwachen Sie einfach das Raumklima ~ ⑧ Postscript ~
Einfache Überwachung des Innenraumklimas ~ ③ Beziehen Sie Temperatur / Luftfeuchtigkeit / Beleuchtungsstärke usw. vom TI SensorTag CC2650 mit Java (Bluetooth LE / bluez-dbus) ~
Überwachen Sie einfach das Raumklima. (1) Motivation und Konzept.
Einfache Überwachung des Raumklimas - ⑦ Mit einem einfachen Tool zusammenfassen -
Einfache Überwachung des Innenraumklimas - ⑥ Erfassen von Betriebsinformationen für industrielle Automatisierungsgeräte in Java (OPC-UA / Eclipse Milo) -
[Java] Stellen Sie die Zeit im Browser mit jsoup ein
Überwachen Sie den internen Status von Java-Programmen mit Kubernetes
[Hinweis] Erstellen Sie mit Docker eine Java-Umgebung von Grund auf neu
Bereiten Sie die Umgebung für Java11 und JavaFx mit Ubuntu 18.4 vor