임베디드/라즈베리파이

라즈베리파이 dht22 값 받아오기

겸짱 2024. 4. 29. 09:14
728x90
반응형
SMALL

< 하드웨어 >

라즈베리파이로 온습도 측정센서인 DHT22로 현재 온도와 습도를 읽어오는 코드를 작성한다.

하드웨어 연결은 아래와 같이 해준다.

센서 보드 상 +는 5V Power에 연결하고, -는 Ground 연결, S라고 되어있는 센서선은 GPIO 2번에 연결한다.

 

< 소프트웨어 >

터미널에서 아래와 같은 순서로 설치한다.

먼저 라즈베리파이를 업데이트, 업그레이드를 한 다음 Adafruit_DHT를 설치한다.

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install python3-dev python3-pip
$ sudo python3 -m pip install --upgrade pip setuptools wheel
$ sudo pip3 install Adafruit_DHT
$ nano humi_temp.py

humi_temp.py 코드

import Adafruit_DHT

sensor = Adafruit_DHT.DHT22
pin = 2
humi,temp = Adafruit_DHT.read_retry(sensor, pin)

if humi is not None and temp is not None:
    print('Temp={0:0.1f}*C Humi={1:0.1f}%'.format(temp, humi))
else:
    print('failed to get reading. try again.')

현재 코드에서는 DHT22 센서를 사용했는데 만약 DHT11 센서를 사용할 경우에는

Adafruit_DHT.DHT11 로 변경하면 된다.

$ python3 humi_temp.py

python3으로 저장된 humi_temp.py를 실행시키면 된다.

계속 일정한 시간마다 데이터를 받으려면 while을 써서 받는다.

728x90
반응형
LIST