MH-Z19 센서에서 CO 2 농도를 읽고 처리하십시오.
rpi & mh-z19를 다음과 같이 연결하십시오.
다음은 케이블 링의 예이지만 RPI에서 다른 5V 및 0V 핀을 자유롭게 사용할 수 있습니다.
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+--+---+------+---------+-----+-----+
전체 세트는 다음을 포함합니다.
전체 세트를 설치하고 릴리스에서 다운로드하십시오
git clone https://github.com/UedaTakeyuki/mh-z19.git
그런 다음 폴더에 도착하여 setup.sh *를 발행합니다.
./setup.sh
이 스크립트에서 직렬 포트 활성화를 포함한 필요한 설정이 수행됩니다.
Python 2.x의 경우
sudo pip install mh_z19
파이썬 3.x의 경우
sudo pip3 install mh_z19
루트 권한 권한을 사용하는 경우 다음과 같이 Sudo가없는 PIP에 전화하십시오.
Python 2.x의 경우
pip install mh_z19
파이썬 3.x의 경우
pip3 install mh_z19
각 Raspberry Pi 모델 간의 인터페이스의 차이는이 모듈 내부에서 해결됩니다. 예를 들어, 직렬 장치 이름은 Raspberry Pi 3과 이전 모델의 차이이지만 MH-Z19 모듈은 모델을 자동으로 감지하고 적절한 직렬 장치에서 읽습니다.
MH-Z19를 사용하려면 Raspberry Pi에서 직렬 포트 장치를 활성화해야합니다. Wiki 페이지를 따르면 유익 할 수 있습니다. 또한 자세한 내용은 PYPI 상단 페이지를 참조하십시오.
pi@raspberrypi:~ $ sudo python3 -m mh_z19
{'co2': 668}
위와 같이 MH-Z19 센서 값이 직렬 연결을 통해 읽히고 일반적으로 루트 권한을 요청하기 때문에 Sudo가 필요할 수 있습니다.
설치된 MH-Z19 모듈은 센서 값으로 저장, 전송 및 기타 필요한 것을 수행하기 위해 다중 및 다목적 센서 핸들러 인 PondSlider에 해당합니다.
예를 들어, 우리는 다음과 같은 사용 사례를 소개합니다.
PondSlider는 Sensor-Handler가 지정된 SensorValue를 읽고 값을 가치 처리자 *에게 전달하여 무언가를 수행합니다.
센서와 값 핸들러는 모두 파이썬 모듈입니다. 핸들러에 대한 자세한 내용은 이것을 참조하십시오.
이 모듈은 센서 값으로 필요한 다른 것을 저장, 전송 및 수행하기 위해 다중 및 다목적 센서 핸들러 인 PondSlider에 해당합니다.
즉, 위에서 언급 한 전체 설치를 선택한 경우, Setup.sh , PondSlider 및 예제 핸들러가 이미 설치 및 설정되어 있습니다.
핸들러/값/세이버/Save2strage 의 Save2Strage 값 핸들러로 수행 할 수 있으며 MH-Z19 센서에서 읽을 수있는 구성 파일과 Save2Strage에 의해 저장은 설치된 폴더에서 config.save.toml 로 준비됩니다.
MH-Z19 폴더에서 PondSlider를 다음과 같이 호출합니다.
sudo python -m pondslider --config config.save.toml
그런 다음 /home/pi/data/co2.csv를 생성하고 각 호출마다 새 줄이 추가됩니다.
Monitor ™는 웹에 최신 데이터를 보여주는 무료 원격 모니터링 서비스입니다.


Monior ™에 대한 Birds-Eye 이해를 소개하는 소개를 참조하십시오.
무료 계정은 다음과 같이 사용할 수 있습니다. 그런 다음 로그인하고 view_id를 가져옵니다. view_id는 다음과 같이 최신 값과 차트를 표시하기 위해 Monitor ™의 데이터 영역을 가리키는 고유 ID입니다.
브라우저에서 value_id를 얻은 후 Raspberry Pi의 터미널로 돌아가면이 소프트웨어를 설정하여 측정 된 값을 value_id로 보내야합니다. 이렇게하려면 MH_Z19 설치된 디렉토리에서 setid.sh 명령을 호출하십시오. value_id가 vpgpargj , issue setid.sh 명령이라고 가정 해 봅시다.
./setid.sh vpgpargj
그런 다음 다음과 같이 "PondSlider"Python 스크립트로 전화하십시오.
pi@raspberrypi:~/mh-z19 $ sudo python -m pondslider
{'co2': 742}
co2
{"ok":false,"reason":"ViewID not valid"}
브라우저의 Monitor ™ 디스플레이의 시계열 차트는 최신 CO2 농도 값으로 업데이트되어야합니다.
MH_Z19 설치 디렉토리에서 Autostart.sh 명령으로 다음과 같이 설정할 수 있습니다.
./autostart.sh --on
다음과 같이 꺼질 수 있습니다.
./autostart.sh --off
또한 다음과 같이 현재 상태를 확인할 수 있습니다.
./autostart.sh --status
자세한 내용은이 블로그를 참조하십시오.
연못 슬라이더는 ATT M2X도 지원합니다. 자세한 내용은이 문서를 참조하십시오.
교정 (MH-Z19 & MH-Z19B), 감지 범위 변경 (MH-Z19B) 및 ABC 로직 켜기/OFF (MH-Z19B)에 대한 기능은 버전 0.2.1 이상으로 구현됩니다.
테스트에 필요한 장치와 장치가 부족하여 FX : 표준 농도 CO2 가스, MH-Z19B 모듈도 부족하여 테스트없이 이들을 구현 한 것이 두렵습니다. 이러한 장치 나 장치가 있고 이러한 기능을 관대하게 사용하려고한다면 결과적으로 긍정적이든 부정적인 결과에 관계없이 문제 보고서에 감사드립니다.
자세한 내용은이 위키를 참조하십시오.
RevSpace/MHZ19는 공식 데이터 시트 (MH-Z19, MH-Z19B)에서 문서화되지 않은 값을 보여줍니다. 이에 따라 -모든 옵션은 다음과 같이 반환 json 값 에이 값을 추가합니다.
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}
또는 다음과 같이 read_all () 함수를 호출하십시오.
>>> import mh_z19
>>> mh_z19.read_all()
{'SS': 232, 'UhUl': 10738, 'TT': 61, 'co2': 734, 'temperature': 21}
>>>
예를 들어 FT232 USB-Serial Converter 에 /dev /ttyusb0을 문제#12로 사용해야하는 경우이 라이브러리가 자동으로 선택되는 Raspberry Pi 기본 직렬 장치 대신 특정 직렬 장치를 사용해야하는 경우 다음과 같이 -serial_device 옵션으로 Serial 장치를 지정할 수 있습니다.
sudo python -m mh_z19 --serial_device /dev/ttyUSB0
이 위키를 참조하십시오.
이 위키를 참조하십시오.
이 위키를 참조하십시오.
케이블 링이 문제가되지 않는 것처럼 보이고 UART는 사전에 잘 알려진 것처럼 보이지만 센서 값을 얻을 수는 없습니다. Nincube8이 1-5kΩ 레지스터로 풀 업이 작동 할 수 있다고 제안했듯이. Nincube8 감사합니다!
포럼은 여기에 avai입니다. 질문, 제안, 보고서는 환영합니다!
--co2valueonly 옵션을 추가하십시오. 감사합니다 Jonesthefox!