라즈베리파이 PM2008 미세먼지 센서 파이썬 코드

용씨·2021년 7월 12일
0

구매처

PM2008
https://www.devicemart.co.kr/goods/view?no=6500099
PM2008 연결용 쉴드
https://www.devicemart.co.kr/goods/view?no=6500100

연결

PM2008 연결용 쉴드의 5V와 GND 위치는 아두이노 우노3를 참고하면 된다.

라즈베리파이 GPIO / PM2008 미세먼지 센서 연결 쉴드
SDA1 / SDA (노란색)
SCL1 / SCL (초록색)
5V / 5V (빨간색)
GND / GND (주황색)

파이썬 코드

파이썬 코드는
라즈베리파이를 이용한 먼지측정기 제작
I2C 사용 하기 - 2
두 블로그를 참고해서 만들었다.

import os
import fcntl
import time

I2C_SLAVE = 0x703
PM2008 = 0x28

fd = os.open('/dev/i2c-1',os.O_RDWR)
if fd < 0 :
    print("Failed to open the i2c bus\n")
io = fcntl.ioctl(fd,I2C_SLAVE,PM2008)
if io < 0 :
    print("Failed to acquire bus access/or talk to salve\n")

try:
    while True:
        data = os.read(fd,32)
        print("Status=",int(data[2]),", MeasuringMode=",256*int(data[3])+int(data[4]),", CalibCoeff=",256*int(data[5])+int(data[6]),"\n")

        print("GRIM: PM0.1=",256*int(data[7])+int(data[8]),",PM2.5= ",256*int(data[9])+int(data[10]),",PM10=",256*int(data[11])+int(data[12]),"\n")

        print("-------------------------------------------------------------------------------------------------------------")
        time.sleep(2)
except KeyboardInterrupt:
    os.close(fd)
profile
아침형 인간이 목표

1개의 댓글

comment-user-thumbnail
2022년 5월 15일

소스만 붙여넣기하면 되는건가요??

답글 달기