라즈베리 파이와 파이썬으로 원격 온도 센서 만들기 – 단계별 가이드
라즈베리 파이와 파이썬으로 원격 온도 센서 만들기 – 단계별 가이드
수년간 커뮤니티 피드백을 반영해 개선한 이 업데이트 가이드는 파이썬과 1-Wire를 지원하는 모든 임베디드 리눅스 보드에서 실행 가능한 즉시 사용 가능한 IoT 온도 센서를 제공합니다. 간단한 LED 데모부터 완전한 기능의 원격 모니터까지, 단 몇 시간 만에 자신만의 센서를 조립, 구성, 배포하는 방법을 배워보세요.
만들게 될 것
라즈베리 파이, DS18B20 1-Wire 온도 센서, 기본 LED를 사용해 다음을 구축합니다:
- 습도나 조도 센서로 확장 가능한 원격 온도 로거
- 클라우드 플랫폼(DeviceHive)에 데이터를 보고하고 모바일 앱으로 제어 가능한 Wi-Fi 지원 장치
- LED를 릴레이로 교체해 실내 조명을 제어하는 예시
하드웨어 목록
- 라즈베리 파이 Rev. B (또는 Gumstix, BeagleBone 같은 저렴한 임베디드 리눅스 보드)
- DS18B20 1-Wire 온도 센서 (쉽게 구입 가능)
- 일반 LED
- 저항: LED용 510 Ω, DS18B20 풀업용 ~4.7 kΩ
- 브레드보드와 점퍼 와이어
회로는 간단합니다: 파이의 5V 핀(핀 2)에서 센서에 전원을 공급합니다. 외부 전원은 필요 없습니다.
1단계 – 라즈베리 파이 설정
- 새 라즈비안 이미지를 SD 카드에 플래싱하고 파이를 부팅하세요.
- 신뢰할 수 있는 5V/1A 마이크로 USB 충전기(스마트폰 충전기면 보통 충분)를 사용하세요.
- 네트워크 설정: HDMI와 USB 주변기기를 건너뛰고 이더넷으로 연결해 DHCP 주소를 받은 뒤 SSH로 접속하세요 (기본 자격 증명: pi/raspberry).
- 회로도에 따라 센서와 LED를 브레드보드에 배선하세요.
- 1-Wire 커널 모듈 로드:
sudo modprobe w1-gpio
sudo modprobe w1_therm
- 재부팅 후에도 모듈이 유지되도록
/etc/modules에 추가:
echo "w1-gpio" | sudo tee -a /etc/modules
echo "w1_therm" | sudo tee -a /etc/modules
- 센서 ID 찾기:
ls /sys/bus/w1/devices/
디렉터리 이름이 28-00000393268a 형태일 것입니다.
- 센서 작동 확인:
cat /sys/bus/w1/devices/28-00000393268a/w1_slave
2단계 – 파이에 DeviceHive 설치
- devicehive.com에서 최신 DeviceHive 패키지를 다운로드하세요.
- 파이에 SSH 접속해 작업 디렉터리 생성:
mkdir ~/devicehive
- 호스트 머신에서
scp로 파이썬 소스 전송:
scp -r ~/Downloads/devicehive/python/device/Source/* [email protected]:~/devicehive
- DeviceHive Playground에 방문해 무료 계정을 만들고 API 키를 받으세요.
3단계 – 샘플 실행
devicehive/python/device/Source 폴더로 이동해 API 키를 설정하고 스크립트를 실행하세요. 센서 데이터가 DeviceHive로 스트리밍되어 웹 대시보드에서 시각화하거나 모바일 앱으로 액션을 트리거할 수 있습니다.
프로젝트 확장
기본 프레임워크가 갖춰지면 다음을 할 수 있습니다:
- LED를 5V 릴레이로 교체해 실내 조명 제어
- 같은 버스에 추가 1-Wire 센서(습도, 조도) 연결
- 커스텀 통합을 위한 MQTT 또는 HTTP 엔드포인트 추가
- 장기 배포를 위한 OTA 펌웨어 업데이트 구현
첫 IoT 기기 제작을 즐기고 라즈베리 파이와 파이썬으로 무한한 가능성을 탐험해보세요!