[파이썬] IoT 활용한 스마트 환경 모니터링
소개
인터넷을 통해 연결된 사물들이 정보를 수집하고 교환하는 가장 핵심 개념인 IoT는 현재 많은 분야에서 활용되고 있습니다. 이 중에서도 스마트 환경 모니터링은 주변 환경을 모니터링하고 데이터를 수집하여 분석하는 기술입니다.
본 블로그에서는 Python을 사용하여 IoT를 활용한 스마트 환경 모니터링을 구현하는 방법을 알아보겠습니다. 스마트 환경 모니터링의 대표적인 예로는 실내 온도, 습도 모니터링이 있습니다. 이 예제를 통해 실제로 IoT 디바이스를 제어하고 데이터를 수집하는 방법을 알아보겠습니다.
요구사항
- Raspberry Pi 또는 다른 IoT 기기
- DHT11 온습도 센서
- Python 3
라이브러리 설치
pip install RPi.GPIO
pip install Adafruit_DHT
하드웨어 설정
- DHT11 센서의 피직연결 올바른 규칙을 확인하고 라즈베리 파이에 연결해주세요.
- 라즈베리 파이에 Python GPIO 라이브러리를 설치해주세요.
코드 작성
import Adafruit_DHT
import time
# 온습도 센서의 타입과 핀 번호 설정
sensor = Adafruit_DHT.DHT11
pin = 4
while True:
# 온습도 값을 읽어옴
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
# 값이 제대로 읽어와지지 않은 경우 예외 처리
if humidity is not None and temperature is not None:
print('온도={0:0.1f}도 / 습도={1:0.1f}%'.format(temperature, humidity))
else:
print('오류 발생')
# 10초마다 값을 측정
time.sleep(10)
코드 설명
Adafruit_DHT
라이브러리를 사용하여 온/습도 센서를 제어합니다.sensor
변수를 통해 사용하는 센서의 타입을 설정합니다. (DHT11
,DHT22
등)pin
변수를 통해 센서가 연결된 GPIO 핀 번호를 설정합니다.while
루프에서 온/습도 값을 읽어와서 출력합니다.Adafruit_DHT.read_retry()
함수를 사용하여 센서 값이 올바로 읽혀지도록 합니다.humidity
와temperature
변수로 읽어온 값들을 저장합니다.- 정상적으로 값이 읽어와진 경우, 온도와 습도를 출력합니다.
- 값이 올바로 읽어와지지 않은 경우
오류 발생
을 출력합니다. time.sleep()
함수를 사용하여 10초마다 값을 측정하도록 합니다.
실행
위의 코드를 실행하기 전에 모든 요구사항이 충족되었는지 확인해주세요. 코드를 실행하면 온/습도 값을 출력하는 것을 확인할 수 있습니다. 이러한 방식으로 온/습도 값을 주기적으로 측정하여 데이터베이스에 저장하거나 웹 서버에 전송할 수 있습니다.
이처럼 Python을 활용하여 IoT를 구현하면 다양한 환경 모니터링을 자동화할 수 있고, 데이터를 분석하여 스마트한 결정을 내릴 수 있습니다. IoT의 발전으로 우리의 일상은 더욱 편리하고 스마트해질 것입니다.