Coding人生小筆記

SDS011 PM2.5空氣檢測

SDS011 PM2.5空氣檢測
檢測動機:

1.我家空氣清淨機到底有沒有效?XD

2.流行病學研究結果顯示, PM2.5易附著戴奧辛、多環芳香烴及重金屬等有害物質,長期吸入可能會引起過敏、氣喘、肺氣腫、肺癌、心血管疾病、肝癌、血液疾病等。

google一番以下,程式碼分享:
import serial
import struct
from datetime import datetime

PORT = 'COM3'  # 每台電腦不一樣

UMPACK_PAT = '<ccHHHcc'

with serial.Serial(PORT, 9600, bytesize=8, parity='N', stopbits=1) as ser:
    while True:
        data = ser.read(10)
        unpacked = struct.unpack(UMPACK_PAT, data)
        ts = datetime.now()
        pm25 = unpacked[2] / 10.0
        pm10 = unpacked[3] / 10.0
        print(f'{ts}: PM2.5 = {pm25} ,PM10 = {pm10}')

image

注意事項

1.問題:

pip install serial 程式若無法執行

解決辦法:

pip uninstall serial
pip install pyserial

python3建議先pip install pyserial

2.問題:

serial.serialutil.SerialException:系統找不到指定的檔案。

解決辦法:

PORT請先到裝置管理員的連接埠(COM和LPT)

image

3.問題:

連接埠(COM和LPT)找不到,且USB serial 找不到驅動程式

解決辦法:

SDS011插入USB孔後,到以下連結選取該作業系統並下載和安裝

驅動程式下載