라즈베리 파이 3와 PubNub로 원격 기상 모니터링하기
이 튜토리얼에서는 라즈베리 파이 3, DS18B20 온도 센서, LCD 디스플레이, PubNub를 사용해 실시간 원격 기상 관측소를 구축하는 방법을 배웁니다.
왜 PubNub인가?
PubNub는 3억 개 이상의 연결된 장치를 지원하고 매달 7,500억 개 이상의 메시지를 스트리밍하는 글로벌 데이터 스트림 네트워크입니다. PubNub의 발행/구독 API를 사용하면 센서 데이터를 몇 초 만에 클라우드로 푸시하고 커스텀 백엔드 없이 어떤 기기에서든 볼 수 있습니다.
1단계: 구성품 준비
- 라즈베리 파이 3 (Wi-Fi가 있는 모든 모델)
- 16×2 캐릭터 LCD (HD44780 컨트롤러)
- DS18B20 원와이어 온도 센서
- 4.7 kΩ 풀업 저항
- LED (선택 사항: 상태 표시용)
- 브레드보드와 점퍼 와이어 (수-수, 수-암)
- 안드로이드 폰과 무료 PubNub 계정
- SSH 접속용 컴퓨터
모든 코드는 파이썬 3으로 작성되었습니다. 파이썬이 처음이라면 Embedded Study에서 초보자 튜토리얼을 참조하세요.
2단계: 파이 설정
시작하기 전에 라즈베리 파이 OS 이미지(라즈비안)를 SD 카드에 설치하세요. 파이가 부팅되면 SSH로 접속하세요 (기본 자격 증명: 사용자 pi, 비밀번호 raspberry). 터미널이나 PuTTY 같은 SSH 클라이언트를 사용하세요.
pinout.xyz로 GPIO 핀아웃을 확인하고 DS18B20을 다음과 같이 배선하세요:
- VCC → 3.3V
- GND → 그라운드
- Data → GPIO 핀 (예: GPIO4)
- VCC와 Data 사이에 4.7 kΩ 저항을 달아 라인을 하이로 풀업
LCD를 파이에 표준 4비트 모드 인터페이스(RS, E, D4-D7, VCC, GND, 백라이트 핀)로 연결하세요.
3단계: 필수 라이브러리 설치
파이에서 터미널을 열고 다음 명령을 실행하세요:
sudo apt-get update
sudo apt-get install -y python3 python3-pip python-dev
sudo pip3 install rpi.gpio
Adafruit LCD 라이브러리 복제 및 설치:
git clone https://github.com/adafruit/Adafruit_Python_CharLCD
cd Adafruit_Python_CharLCD
sudo python setup.py install
4단계: 프로젝트 다운로드 및 실행
파이의 전용 디렉터리에 프로젝트 파일을 다운로드하세요. 예:
mkdir ~/weather_station
cd ~/weather_station
# 여기에 다운로드 명령 삽입
파이썬 스크립트를 실행해 센서 읽기, LCD 업데이트, PubNub 데이터 발행을 시작하세요:
python3 weather_station.py
5단계: 데이터 확인
PubNub 대시보드를 열거나 모바일 앱을 사용해 스크립트에서 정의한 채널을 구독하세요. 몇 초마다 실시간 온도 업데이트를 볼 수 있습니다.
추가 자료
태그
- raspberry pi를 사용한 원격 온도 모니터링