라즈베리 파이로 중앙 난방 보일러 모니터링하기 – 하드웨어, 소프트웨어, 설정 가이드
하드웨어 개요
아래는 이 보일러 모니터링 시스템에 필요한 라즈베리 파이 구성요소의 간결한 목록입니다. 보일러의 버너와 펌프를 관리하는 릴레이 유닛은 원래 PC 설정에서 변경되지 않았습니다.
- 라즈베리 파이 모델 B
- Pi-Face Digital 인터페이스 카드
- Dallas Semiconductor (Maxim) DS9490R 1-Wire USB 어댑터
- Dallas Semiconductor (Maxim) DS18S20 1-Wire 온도 센서
블록 다이어그램(미표시)은 일반적인 배선 레이아웃을 보여줍니다. 선택적으로 GSM 모뎀을 나중에 통합해 SMS 알림을 받을 수 있습니다.
소프트웨어 구성요소
세 가지 주요 프로그램이 모니터링 시스템을 구동합니다:
- 이벤트 로거 – Pi-Face Digital 카드와 통신하며 메인 전원 상태, 펌프 작동, 버너 점화를 기록. 데이터는 일일 로그 파일에 저장.
- 온도 로거 – 1-Wire 센서 네트워크를 읽고 각 센서의 온도 판독값을 별도 일일 파일에 기록.
- CGI 렌더러 – Apache에 의해 호출되며 캘린더 뷰와 이벤트 및 온도의 SVG 그래프를 생성.
모든 프로그램은 원래 윈도우/2000 서버 환경의 델 GX11 PC용으로 C로 작성되었습니다. 리눅스로 전환하려면 Pi-Face Digital API와 OWFS(One-Wire File System) 인터페이스 때문에 상당 부분 재작성이 필요했습니다.
CGI 모듈이 가장 복잡합니다; SVG 막대 차트와 타임라인을 생성합니다. _stat() 호출을 statfs()로 대체하고 문자열 처리 루틴을 수정해 리눅스로 이식했습니다.
파일시스템 레이아웃
일반적인 리눅스와 Apache 디렉터리는 노란색으로, 커스텀 경로는 파란색으로 강조되어 있습니다. 모든 모니터링 파일은 /1-wire 아래에 있습니다:
/1-wire
├─ src
├─ events
├─ temperatures
1단계 – 디렉터리 생성
sudo su
cd /
mkdir /1-wire
mkdir /1-wire/src
mkdir /1-wire/events
mkdir /1-wire/temperatures
2단계 – 다운로드 및 컴파일
wget https://www.noveldevices.co.uk/rpdl/logger.c -O /1-wire/src/logger.c
wget https://www.noveldevices.co.uk/rpdl/1-wire.c -O /1-wire/src/1-wire.c
wget https://www.noveldevices.co.uk/rpdl/server.c -O /1-wire/src/server.c
gcc -L/usr/local/lib -lpiface-1.0 -o /1-wire/events/logger /1-wire/src/logger.c -lm
gcc -L/usr/local/lib -o /1-wire/temperatures/1-wire /1-wire/src/1-wire.c -lm
gcc -L/usr/local/lib -o /usr/lib/cgi-bin/server /1-wire/src/server.c -lm
3단계 – 설정 파일 및 스타일시트 가져오기
wget https://www.noveldevices.co.uk/rpdl/1-wire.conf -O /1-wire/temperatures/1-wire.conf
wget https://www.noveldevices.co.uk/rpdl/server.conf -O /usr/lib/cgi-bin/server.conf
wget https://www.noveldevices.co.uk/rpdl/boiler.css -O /var/www/boiler.css
4단계 – 1-Wire 로깅 설정
1-wire.conf 파일에는 로거와 CGI 그래프 생성기 설정이 들어 있습니다. 각 항목은 순서 독립적입니다:
[Interval]=n – 폴링 간격(초). 드리프트 방지를 위해 조정 (OWFS는 보통 센서당 ~2초 필요).
[DataDirectory]=/path/to/data/ – 로그 파일 저장 디렉터리.
- 각 센서별:
[DevicePath]=/path/to/owfs/ #RRGGBB sensor-description
여기서 #RRGGBB는 그래프에서 센서 선 색상의 HTML 색상 코드이고, sensor-description은 온도 플롯에 표시될 레이블입니다.
추가 세부 사항은 원문 기사 참조: 내 중앙 난방 보일러 모니터링.