Utilisez le MH-Z19B peu coûteux comme capteur pour mesurer la concentration de CO2. Faire. Il peut récupérer des données via une communication série. Dans cet article, la bibliothèque Java [mh-z19b] créée pour obtenir la concentration de CO2 du MH-Z19B à l'aide du module de communication série Java jSerialComm. -driver](https://github.com/s5uishida/mh-z19b-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, voir [Code Github](https://github.com/s5uishida/mh-z19b-driver/blob/master/src/io/github/s5uishida/iot/device/mhz19b/driver Veuillez vous référer à /MHZ19BDriver.java).
Connectez 5V, GND, Tx, Rx comme suit. ** Veuillez vous connecter les uns aux autres avec Tx⇔Rx. ** **
6. Pins
of MH-Z19B
De plus, au lieu du terminal GPIO du Raspberry Pi 3B, insérez un adaptateur de communication série connecté par USB (SH-U09C) dans le Raspberry Pi 3B. Vous pouvez également l'utiliser en le connectant au MH-Z19B. Dans ce cas, le nom du port de communication série sera / dev / ttyUSB0
.
Pour activer l'utilisation simultanée de Bluetooth et de la communication série (UART), configurez le système d'exploitation Raspbian Buster Lite comme suit.
console=serial0,115200 -->Effacer.
@@ -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
Vous trouverez ci-dessous un exemple d'utilisation de mh-z19b-driver. ** En guise de mise en garde, les données du capteur lues pour la première fois renverront une valeur étrange, mais la valeur appropriée sera renvoyée pour la deuxième fois et les suivantes. ** **
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();
}
}
}
}
Cette série comprend les articles suivants:
[2019.11.16] Pour obtenir les dernières informations sur les outils simples, veuillez consulter ici.
Recommended Posts