อ่านความเข้มข้นของ CO 2 จากเซ็นเซอร์ MH-Z19 และจัดการกับมัน
เชื่อมต่อ RPI & MH-Z19 AS:
ต่อไปนี้เป็นตัวอย่างของการเดินสาย แต่คุณสามารถใช้ PIN 5V และ 0V อื่น ๆ บน 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+--+---+------+---------+-----+-----+
ชุดเต็มรวมถึงการติดตาม:
ติดตั้งชุดเต็มดาวน์โหลดจากรีลีส
git clone https://github.com/UedaTakeyuki/mh-z19.git
จากนั้นไปที่โฟลเดอร์และออก setup.sh *
./setup.sh
การตั้งค่าที่จำเป็นรวมถึงการเปิดใช้งานพอร์ตอนุกรมจะเกิดขึ้นในสคริปต์นี้
สำหรับ Python 2.x
sudo pip install mh_z19
สำหรับ Python 3.x
sudo pip3 install mh_z19
ในกรณีที่คุณจะใช้การอนุญาตรูทด้วยวิธีการโทร PIP โดยไม่ต้อง sudo ดังนี้:
สำหรับ Python 2.x
pip install mh_z19
สำหรับ Python 3.x
pip3 install mh_z19
ความแตกต่างของอินเทอร์เฟซระหว่างแต่ละรุ่น Raspberry Pi ได้รับการแก้ไขภายในโมดูลนี้ ตัวอย่างเช่นชื่ออุปกรณ์อนุกรมคือความแตกต่างระหว่าง Raspberry Pi 3 และรุ่นเก่า แต่โมดูล MH-Z19 จะตรวจจับโมเดลโดยอัตโนมัติและอ่านจากอุปกรณ์อนุกรมที่เหมาะสม
ในการใช้ MH-Z19 เมื่อคุณต้องการตั้งค่าอุปกรณ์พอร์ตอนุกรมบน Raspberry Pi หน้าวิกิต่อไปนี้อาจเป็นข้อมูล นอกจากนี้โปรดอ้างอิง PYPI Top Page สำหรับรายละเอียด
pi@raspberrypi:~ $ sudo python3 -m mh_z19
{'co2': 668}
ดังกล่าวข้างต้น Sudo อาจจำเป็นเนื่องจากค่าเซ็นเซอร์ MH-Z19 ถูกอ่านผ่านการเชื่อมต่ออนุกรมและขออนุญาตรูทโดยทั่วไป
โมดูล MH-Z19 ที่ติดตั้งนั้นสอดคล้องกับ Pondslider ซึ่งเป็นตัวจัดการเซ็นเซอร์ที่หลากหลายและหลากหลายเพื่อบันทึกส่งและทำ สิ่ง ที่จำเป็นอื่น ๆ ด้วยค่าเซ็นเซอร์
ตัวอย่างเช่นเราแนะนำกรณีการใช้งานต่อไปนี้:
Pondslider อ่าน sensorValue โดย ตัวจัดการเซ็นเซอร์ ที่ระบุและส่งผ่านค่าไปยัง ตัวจัดการค่า * ซึ่งทำอะไรบางอย่างกับมัน
ทั้งตัวจัดการเซ็นเซอร์และค่าเป็นโมดูล Python สำหรับรายละเอียดเพิ่มเติมของตัวจัดการโปรดอ้างอิงสิ่งนี้
โมดูลนี้สอดคล้องกับ Pondslider ซึ่งเป็นตัวจัดการเซ็นเซอร์ที่หลากหลายและหลากหลายเพื่อบันทึกส่งและทำ สิ่ง ที่จำเป็นอื่น ๆ ด้วยค่าเซ็นเซอร์
ในกรณีที่คุณเลือก การติดตั้งเต็มรูปแบบ ที่กล่าวถึงข้างต้นกล่าวอีกนัยหนึ่งคุณได้ทำการ ตั้งค่า Setup.sh , Pondslider และตัวอย่าง Handler's ได้รับการติดตั้งและตั้งค่าแล้ว
คุณสามารถทำได้ด้วยตัวจัดการค่า Save2Strage ซึ่งอยู่ใน ตัวจัดการ/ค่า/saver/save2strage และไฟล์การกำหนดค่าที่จะอ่านจากเซ็นเซอร์ MH-Z19 และบันทึกโดย Save2Strage ถูกเตรียมเป็น config.save.toml บนโฟลเดอร์ที่ติดตั้ง MH-Z19
ในโฟลเดอร์ MH-Z19 โดยเรียก Pondslider ดังนี้
sudo python -m pondslider --config config.save.toml
จากนั้นควรสร้าง /home/pi/data/co2.csv และจะเพิ่มบรรทัดใหม่สำหรับการโทรแต่ละครั้ง
Monitor ™เป็นบริการตรวจสอบระยะไกลฟรีเพื่อแสดงข้อมูลล่าสุดบนเว็บ


โปรดอ้างอิงการแนะนำเกี่ยวกับการเข้าใจความเข้าใจของนกเกี่ยวกับ Monior ™
มีบัญชีฟรีดังนี้ จากนั้นเข้าสู่ระบบและรับ View_ID ซึ่งเป็น ID ที่ไม่ซ้ำกันเพื่อชี้พื้นที่ข้อมูลบน Monitor ™เพื่อแสดงค่าล่าสุดและแผนภูมิดังต่อไปนี้
หลังจากได้รับ value_id ที่เบราว์เซอร์ของคุณแล้วกลับไปที่เทอร์มินัลของ Raspberry Pi ของคุณจากนั้นคุณควรตั้งค่าซอฟต์แวร์นี้เพื่อส่งค่าที่วัดได้ไปยัง Value_ID ในการทำเช่นนี้คำสั่ง call setId.sh ในไดเรกทอรีที่ติดตั้ง MH_Z19 สมมติว่า Value_id ของคุณคือ VPGPARGJ คำสั่ง setId.sh ออกดังนี้:
./setid.sh vpgpargj
จากนั้นเรียกสคริปต์ "Pondslider" Script ดังนี้:
pi@raspberrypi:~/mh-z19 $ sudo python -m pondslider
{'co2': 742}
co2
{"ok":false,"reason":"ViewID not valid"}
แผนภูมิอนุกรมเวลาของคุณบนจอแสดงผล Monitor ™บนเบราว์เซอร์จะต้องได้รับการอัปเดตด้วยค่าความเข้มข้น CO2 ล่าสุด
คุณสามารถตั้งค่าโดยคำสั่ง autostart.sh ในไดเรกทอรีที่ติดตั้ง MH_Z19 ดังนี้:
./autostart.sh --on
คุณสามารถปิดสิ่งนี้ได้ดังนี้:
./autostart.sh --off
นอกจากนี้คุณสามารถตรวจสอบสถานะปัจจุบันดังนี้:
./autostart.sh --status
สำหรับรายละเอียดเพิ่มเติมโปรดดูบล็อกนี้
บ่อยังรองรับ ATT M2X สำหรับรายละเอียดโปรดดูเอกสารนี้
คุณสมบัติเกี่ยวกับการสอบเทียบ (ทั้ง MH-Z19 & MH-Z19B) การเปลี่ยนแปลงช่วงการตรวจจับ (MH-Z19B) และ ABC Logic On/Off (MH-Z19B) ถูกนำมาใช้ที่เวอร์ชัน 0.2.1 หรือใหม่กว่า
ฉันเกรงว่าฉันเพิ่งใช้สิ่งเหล่านี้โดยไม่ต้องทดสอบเนื่องจากขาดอุปกรณ์และอุปกรณ์ที่จำเป็นสำหรับการทดสอบ FX: ก๊าซ CO2 ความเข้มข้นมาตรฐานรวมถึงโมดูล MH-Z19B หากคุณมีอุปกรณ์หรืออุปกรณ์เหล่านี้และพยายามใช้ฟังก์ชั่นเหล่านี้อย่างไม่เห็นแก่ตัวฉันขอขอบคุณรายงานปัญหาของคุณโดยไม่คำนึงถึงผลลัพธ์ที่เป็นบวกหรือลบ
สำหรับรายละเอียดโปรดดูวิกินี้
RevSpace/MHZ19 แสดงค่าที่ไม่มีเอกสารในแผ่นข้อมูลอย่างเป็นทางการ (MH-Z19, MH-Z19B) ตามสิ่งนี้ - ตัวเลือกทั้งหมดเพิ่มค่าเหล่านี้ในค่า return 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}
>>>
ในกรณีที่คุณควรใช้อุปกรณ์อนุกรมเฉพาะแทนที่จะใช้อุปกรณ์อนุกรม Raspberry Pi ซึ่งห้องสมุดนี้เลือกโดยอัตโนมัติตัวอย่างเช่นในกรณีที่จำเป็นต้องใช้ /dev /ttyusb0 สำหรับ ตัวแปลง USB-serial เป็นปัญหา#12 คุณสามารถระบุอุปกรณ์อนุกรมโดย -Serial_Device
sudo python -m mh_z19 --serial_device /dev/ttyUSB0
ดูวิกินี้
ดูวิกินี้
ดูวิกินี้
แม้ว่าการเดินสายเคเบิลดูเหมือนจะไม่มีปัญหาและดูเหมือนว่า UART จะได้รับการเตรียมไว้ให้ดี แต่คุณไม่สามารถรับค่าเซ็นเซอร์ได้ ตามที่ Nincube8 แนะนำว่าการดึงขึ้นโดยการลงทะเบียน1-5KΩสามารถใช้งานได้ ขอบคุณ Nincube8!
ฟอรัมคือ avai ที่นี่ คำถามใด ๆ ข้อเสนอแนะรายงานยินดีต้อนรับ!
--co2valueonly โดยการรวมปัญหา#39 และปัญหา#40 ขอบคุณ Jonesthefox!