Verwenden Sie kostengünstiges MH-Z19B als Sensor zur Messung der CO2-Konzentration. Machen. Es kann Daten über serielle Kommunikation abrufen. In diesem Artikel wurde die Java-Bibliothek [mh-z19b] erstellt, um die CO2-Konzentration von MH-Z19B mithilfe des seriellen Java-Kommunikationsmoduls jSerialComm zu ermitteln. -driver](https://github.com/s5uishida/mh-z19b-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 Bitte beziehen Sie sich auf /MHZ19BDriver.java).
Schließen Sie 5V, GND, Tx, Rx wie folgt an. ** Bitte verbinden Sie sich mit Tx⇔Rx. ** ** **
6. Pins
of MH-Z19B
Stecken Sie anstelle des GPIO-Terminals des Raspberry Pi 3B einen über USB angeschlossenen seriellen Kommunikationsadapter (SH-U09C) in den Raspberry Pi 3B. Sie können dies auch verwenden, indem Sie es an den MH-Z19B anschließen. In diesem Fall lautet der Name des seriellen Kommunikationsports "/ dev / ttyUSB0".
Konfigurieren Sie das Raspbian Buster Lite-Betriebssystem wie folgt, um die gleichzeitige Verwendung von Bluetooth und serieller Kommunikation (UART) zu ermöglichen.
console=serial0,115200 -->Löschen.
@@ -45,7 +45,7 @@
# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
-#dtparam=spi=on
+dtparam=spi=on
# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi
@@ -55,6 +55,10 @@
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
+enable_uart=1
+dtoverlay=pi3-miniuart-bt
+core_freq=250
+
[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
Unten finden Sie ein Beispiel für die Verwendung des mh-z19b-Treibers. ** Als Einschränkung geben die zum ersten Mal gelesenen Sensordaten einen seltsamen Wert zurück, aber der entsprechende Wert wird zum zweiten und nachfolgenden Mal zurückgegeben. ** ** **
import io.github.s5uishida.iot.device.mhz19b.driver.MHZ19BDriver;
public class MyMHZ19B {
private static final Logger LOG = LoggerFactory.getLogger(MyMHZ19B.class);
public static void main(String[] args) throws IOException {
MHZ19BDriver mhz19b = null;
try {
mhz19b = MHZ19BDriver.getInstance("/dev/ttyAMA0");
mhz19b.open();
mhz19b.setDetectionRange5000();
while (true) {
int value = mhz19b.getGasConcentration();
LOG.info("co2:" + value);
Thread.sleep(10000);
}
} catch (InterruptedException e) {
LOG.warn("caught - {}", e.toString());
} catch (IOException e) {
LOG.warn("caught - {}", e.toString());
} finally {
if (mhz19b != null) {
mhz19b.close();
}
}
}
}
Diese Reihe besteht aus folgenden Artikeln:
[2019.11.16] Die neuesten Informationen zu einfachen Tools finden Sie unter hier.
Recommended Posts