Lea la concentración de CO 2 del sensor MH-Z19 y manejéelo.
Conecte RPI y MH-Z19 como:
Los siguientes son un ejemplo de cableado, pero puede liberarse de otro pin de 5V y 0V en el RPI.
pi@raspberrypi:~/mh-z19 $ gpio readall
+-----+-----+---------+------+---+---Pi B+--+---+------+---------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| | | 3.3v | | | 1 || 2 | | | 5v | | |
| 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5v | | | <---- Vin
| 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | | <---- Gnd
| 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 | <---- RxD
| | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 | <---- TxD
| 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 |
| 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | |
| 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 |
| | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 |
| 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | |
| 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 |
| 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 |
| | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 |
| 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 |
| 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | |
| 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 |
| 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | |
| 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 |
| 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 |
| | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+---Pi B+--+---+------+---------+-----+-----+
El conjunto completo incluye seguidores:
Instalar conjunto completo, descargar desde la versión
git clone https://github.com/UedaTakeyuki/mh-z19.git
Luego, llegué a la carpeta y emite setup.sh *
./setup.sh
La configuración necesaria, incluida la habilitación del puerto serie, se realizan en este script.
Para Python 2.x
sudo pip install mh_z19
Para Python 3.x
sudo pip3 install mh_z19
En caso de que lo use con permiso de raíz, llame a Pip sin sudo de la siguiente manera:
Para Python 2.x
pip install mh_z19
Para Python 3.x
pip3 install mh_z19
Las diferencias de la interfaz entre cada modelo Raspberry Pi se resuelven dentro de este módulo. Por ejemplo, el nombre del dispositivo en serie es la diferencia entre el modelo Raspberry Pi 3 y anterior, pero el Módulo MH-Z19 detecta automáticamente el modelo y lee desde el dispositivo serie apropiado.
Para usar MH-Z19, una vez que necesite configurar habilitar el dispositivo de puerto serie en la Raspberry Pi. La siguiente página Wiki puede ser informativa. Además, consulte la página superior de PYPI para obtener detalles.
pi@raspberrypi:~ $ sudo python3 -m mh_z19
{'co2': 668}
Como se indicó anteriormente, SUDO podría ser necesario porque el valor del sensor MH-Z19 se lee a través de la conexión en serie y solicita permiso raíz en general.
El módulo MH-Z19 instalado corresponde al Pondslider que es un controlador de sensores múltiple y versátil para guardar, enviar y hacer otros algo necesario con el valor del sensor.
Como ejemplo, presentamos el siguiente caso de uso:
El Pondslider leyó SensorValue por Sensor-Handler especificado y pasa los valores a los manejadores de valor * que hacen algo con él.
Tanto los manejadores de sensor como de valor son el módulo Python. Para obtener más detalles de los manejadores, consulte esto.
Este módulo corresponde al Pondslider, que es un controlador de sensores múltiple y versátil para guardar, enviar y hacer otros algo necesario con el valor del sensor.
En caso de que eligiera la instalación completa mencionada anteriormente, en otras palabras, ha realizado setup.sh , el estondas y los manejadores de ejemplo ya están instalados y configurados.
Puede hacerlo con el manejador de valor Save2Strage que está en los manejadores/valor/ahorrar/guardar2STAGE , y el archivo de configuración para leer desde el sensor MH-Z19 y guardar por save2Strage se prepara como config.save.toml en la carpeta instalada MH-Z19.
En la carpeta MH-Z19 llamando a Pondslider de la siguiente manera;
sudo python -m pondslider --config config.save.toml
Entonces, /home/pi/data/co2.csv debe crearse y se agregará una nueva línea para cada llamada.
El Monitor ™ es un servicio de monitoreo remoto gratuito para mostrar los últimos datos en la web.


Consulte una introducción para comprender la comprensión de Birds-Eye sobre Monior ™.
Una cuenta gratuita está disponible de la siguiente manera. Luego, inicie sesión y obtenga un View_ID , que es ID único para apuntar un área de datos en el Monitor ™ para mostrar el último valor y gráfico, de la siguiente manera.
Después de obtener un valor_id en su navegador, regrese a la terminal de su Raspberry Pi, entonces debe configurar su software para enviar el valor medido al valor_id. Para hacer esto, llame al comando setid.sh en el directorio instalado MH_Z19. Digamos que su value_id es vpgpargj , emisión setid.sh comando de la siguiente manera:
./setid.sh vpgpargj
Luego, llame al script "Pondslider" de Python de la siguiente manera:
pi@raspberrypi:~/mh-z19 $ sudo python -m pondslider
{'co2': 742}
co2
{"ok":false,"reason":"ViewID not valid"}
Su tabla de series de tiempo en la pantalla Monitor ™ en el navegador debe actualizarse mediante el último valor de concentración de CO2.
Puede configurarlo por el comando AutoStart.Sh en el directorio instalado MH_Z19 de la siguiente manera:
./autostart.sh --on
Puedes apagar esto de la siguiente manera:
./autostart.sh --off
Además, puede verificar el estado actual de la siguiente manera:
./autostart.sh --status
Para obtener más detalles, consulte este blog.
El Pondslider también admite ATT M2X. Para obtener detalles, consulte este documento.
Las características sobre la calibración (tanto MH-Z19 y MH-Z19B), el cambio de rango de detección (MH-Z19B) y ABC Logic On/Off (MH-Z19B) se implementan en la versión 0.2.1 o posterior.
Me temo que solo los he implementado sin prueba debido a la falta de dispositivos y aparatos necesarios para la prueba, FX: Gas de concentración estándar CO2, también módulo MH-Z19B. Si tiene estos dispositivos o aparatos e intenta usar estas funciones generosamente, realmente aprecio su informe de problemas, independientemente de los resultados, fueron positivos o negativos.
Para obtener detalles, consulte este wiki.
El RevSpace/MHZ19 muestra valores indocumentados en las hojas de datos oficiales (MH-Z19, MH-Z19b). De acuerdo con esto, -Toda la opción Agregue estos valores en el valor de retorno JSON de la siguiente manera:
sudo python -m mh_z19 --all
{"SS": 232, "UhUl": 10752, "TT": 61, "co2": 818, "temperature": 21}
sudo python3 -m mh_z19 --all
{"TT": 61, "co2": 807, "SS": 232, "temperature": 21, "UhUl": 10752}
o llamar a la función Read_all () de la siguiente manera:
>>> import mh_z19
>>> mh_z19.read_all()
{'SS': 232, 'UhUl': 10738, 'TT': 61, 'co2': 734, 'temperature': 21}
>>>
En caso de que deba usar un dispositivo serial específico en lugar del dispositivo serial predeterminado Raspberry Pi que seleccione automáticamente automáticamente, por ejemplo, en caso de necesitar usar /dev /ttyUSB0 para el convertidor USB-Serial FT232 como el problema#12, puede especificar el dispositivo serial mediante opción --serial_device como sigue::
sudo python -m mh_z19 --serial_device /dev/ttyUSB0
Ver esta wiki.
Ver esta wiki.
Ver esta wiki.
Incluso si el cableado no parece ningún problema y UART parece estar prepatado bien, pero no puede obtener el valor del sensor. Como Nincube8 sugirió que el registro Pull Up por 1-5kΩ puede ser una solución de funcionamiento. ¡Gracias Nincube8!
El foro es avai aquí. ¡Cualquier pregunta, sugerencia, informes son bienvenidos!
--co2valueonly Opción fusionando el problema#39 y el problema#40. ¡Gracias Jonesthefox!