본 포스팅은 총 세 단계로 구분되어 포스팅 하였습니다. 참고하세요
Raspberry pi 3와 Camera Module & Arduino DHT-11 Module을 사용한 실시간 실내 환경 스트리밍 서비스 구현 (1)
Raspberry pi 3와 Camera Module & Arduino DHT-11 Module을 사용한 실시간 실내 환경 스트리밍 서비스 구현 (2)
Raspberry pi 3와 Camera Module & Arduino DHT-11 Module을 사용한 실시간 실내 환경 스트리밍 서비스 구현 (3)
지난번 포스팅 때 Raspberry pi 3에 Camera Module을 장착하고 구동 확인 까지 실습했다.
따라서, 이번엔 Arduino 기반의 DHT-11 온습도 센서를 사용해서 실내 온습도를 측정하고자 한다.
먼저 DHT-11 센서는 아래 그림처럼 생겼다.
총 3개의 핀으로 구성되어 있으며 각각 VCC, DATA, GND 로 이루어져 있다.
이 센서를 기판에 장착하고 라즈베리파이의 GPIO 핀을 보고 꼽는건 조금 이따 하겠다.
자 이제, 필요한 라이브러리를 다운로드 받아야 한다.
1. Adafruit Library Package 설치
## Installing of Adafruit Library Package
sudo apt-get update -y
sudo apt-get install -y python3 python3-pip python-dev
sudo pip3 install rpi.gpio
2. DHT Library Package 설치
## Installing of DHT Library Package
sudo apt-get update -y
sudo apt-get install build-essential python-dev -y
## Downloading of DHT Source code
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo python setup.py install
3. 라즈베리파이 3의 GPIO Header를 보고 DHT-11 온습도 센서 장착
# You have to make up circuit now. Please refer to GPIO circuit of Raspberry pi.
# VCC - 3v3 Power (Pin 1), DATA -BCM 2 (Pin 3), Ground (Pin 6)
필자는 라즈베리파이 7인치 모니터를 사용했기 때문에 VCC- 3v3 Power (Pin 1), DATA - BCM 2 (Pin 3), Ground (Pin 6) 로 사용하여 꼽아줬다.
4. Testing
cd Adafruit_Python_DHT/examples
sudo ./AdafruitDHT.py 11 2 # You can see the result
sudo nano AdafruitDHT.py
2번째 줄을 실행하면 위 그림과 같이 출력된다.
하지만, 우리는 실시간으로 실내 온습도를 보고 싶기 때문에 코드를 조금 수정해준다.
따라서, 아래 내용을 AdafruitDHT.py 내에 삽입해 준다.
import time
...
while True:
...
time.sleep(2) # Input to If condition
아래는 수정한 AdafruitDHT.py 코드 전문이다.
import time ## 맨 위 import 부분에 추가, 2초 주기를 주어 계속 반복하고자 함.
sensor = Adafruit_DHT.DHT11
pin = 3
while True : ## 온습도 측정 무한 반복
humidity, temperature = Adafruit_DHT. read_retry(sensor,pin)
if humidity is not None and temperature is not None :
print(“Temp={0:0.1f}*C Humidity={1:0.1f}%”.format(temperature,humidity))
time.sleep(2) ## time 함수를 사용하여 2초 주기를 부여함
else
print(“Failed to get reading. Try again!”)
삽입 후 아래 명령어 다시 입력후 실행
sudo AdafruitDHT.py 11 2
현재 DHT-11로 측정된 실내 온도 습도가 실시간으로 Command 화면에 출력되는 것을 볼 수 있다.
다음 포스팅에선 Camera Sensor를 사용해서 실시간 스트리밍 화면을 출력해보도록 하겠다.