GN⁺: HN 공개: 컴포스트 모니터링 기술 오픈소스화
(github.com/gtls64)Monty Home Device Hacking Guide
Monty Home Device Hacking Guide는 Raspberry Pi를 사용하여 Monty Home BLE 장치의 기능을 확장하는 방법을 안내하는 저장소임. 이 장치는 원래 퇴비 모니터링을 위해 설계되었으며, 온도, 습도 등 환경 데이터를 수집함. 이 가이드를 통해 데이터를 검색, 표시, 자동화하는 방법을 배울 수 있음.
개요
- 이 가이드는 BLE 장치, IoT 애플리케이션, 환경 모니터링에 관심 있는 사람들을 위해 설계됨.
- Monty Home 장치는 BLE를 통해 실시간 데이터(온도, 습도, 배터리 수준 등)를 제공함.
- Python, BLE, Raspberry Pi를 사용하여 Monty Home 장치와 상호작용하는 세 가지 프로젝트가 포함됨.
프로젝트
프로젝트 1: 온도 기반 LED 제어
- 목적: Monty Home 장치의 온도 데이터를 사용하여 Raspberry Pi의 LED를 제어함. 온도가 특정 임계값을 초과하면 LED가 경고를 표시함.
- 습득 기술: GPIO 제어 설정, BLE 데이터 쿼리, 기본 Python 프로그래밍 및 조건 처리
- 필요 하드웨어: BLE 지원 Raspberry Pi, LED 및 330옴 저항
프로젝트 2: I2C 디스플레이에 온도 및 습도 표시
- 목적: Monty Home 장치의 실시간 온도 및 습도 데이터를 Raspberry Pi에 연결된 OLED 화면에 표시함.
- 습득 기술: I2C 장치 작업, SSD1306 OLED 디스플레이를 사용한 동적 데이터 표시, BLE 데이터 검색 및 디스플레이 업데이트 구현
- 필요 하드웨어: BLE 지원 Raspberry Pi, SSD1306 OLED 디스플레이
프로젝트 3: IFTTT를 통한 온도 경고
- 목적: Monty Home 장치의 온도가 특정 임계값을 초과하면 Raspberry Pi가 IFTTT를 통해 알림을 보내도록 설정함.
-
습득 기술: IFTTT와의 IoT 자동화 통합,
requests
라이브러리를 사용한 HTTP 요청 전송, BLE 데이터와 클라우드 기반 알림 결합 - 필요 하드웨어: Wi-Fi 지원 Raspberry Pi, IFTTT 계정
설정
하드웨어 요구 사항
- Raspberry Pi (Zero 2 또는 BLE 지원 모델)
- Monty Home BLE 장치
- 각 프로젝트에 필요한 추가 하드웨어 (LED, OLED 디스플레이, IFTTT 계정 등)
소프트웨어 요구 사항
- Raspberry Pi OS: Raspberry Pi OS Lite(헤드리스) 또는 Raspberry Pi OS with Desktop(그래픽 인터페이스) 설치
-
Python 3: Python 3 및
pip
설치 -
라이브러리:
- Bleak: BLE 통신용
- Requests: IFTTT 통합용
- Adafruit CircuitPython SSD1306: OLED 제어용
- Pillow: OLED 이미지 조작용
BLE 명령어
- Monty Home 장치와 상호작용하기 위해 사용되는 명령어들임. 각 명령어는 특정 데이터를 요청하거나 작업을 수행함.
- 예:
;QT\r\n
은 NTC 센서의 온도 읽기를 반환함.
코드 실행
- 각 프로젝트는 BLE 연결을 설정하고 쿼리를 보내고 데이터를 처리하는 Python 스크립트를 포함함.
- 스크립트 실행 방법:
- Raspberry Pi에서 터미널 열기
- 프로젝트 폴더로 이동:
cd /path/to/project
- 스크립트 실행:
python3 project_script.py
커스터마이징
BLE 명령어 조정
- Monty Home 장치에서 다양한 유형의 데이터를 검색하기 위해 코드에서 BLE 명령어를 수정할 수 있음.
알림 핸들러 확장
- 여러 유형의 데이터를 처리하기 위해
notification_handler
함수 내에 조건을 추가하여 다양한 읽기를 디코딩하고 표시할 수 있음.
다른 플랫폼과의 통합
- 실시간 데이터 시각화, 로깅 또는 추가 자동화를 위해 IoT 플랫폼이나 대시보드에 데이터를 통합하는 것을 고려할 수 있음.
추가 자료
- Raspberry Pi에서의 Python
- Raspberry Pi에서의 BLE 가이드
- IFTTT Webhooks 문서
- Adafruit CircuitPython SSD1306 가이드
기여
- 풀 리퀘스트 제출, 문제 보고, 기능 제안 등을 환영함. 이 가이드를 개선하고 새로운 프로젝트를 추가하는 데 기여할 수 있음.
Hacker News 의견
-
한 사용자는 말 마구간에서 나온 퇴비 더미에서 감자와 당근을 재배해 본 경험을 공유하며, 감자는 잘 자랐지만 당근은 물 부족으로 잘 자라지 않았음을 언급함
- ESP8266 기반 온도 센서를 사용하여 퇴비의 온도를 모니터링하고자 하는 계획을 설명함
- 온도 센서를 IP67 인클로저에 넣고 태양 전지와 함께 퇴비 더미 위에 설치할 계획을 세움
-
다른 사용자는 전자 모니터링을 통해 퇴비의 품질을 개선할 수 있는 규모에 대해 궁금해하며, 대규모로 진행해야 할 것 같다고 의견을 제시함
- 가정용 디자인의 버섯 느낌을 좋아한다고 언급함
-
또 다른 사용자는 저렴한 센서를 사용한 환경 모니터링 경험을 공유하며, 센서의 반복성 문제와 CO2 센서의 노이즈 내성 문제를 언급함
- 신뢰할 수 있는 구성 요소를 기반으로 프로젝트를 진행하고 싶다고 밝힘
-
한 사용자는 소규모 퇴비 모니터링의 확장 가능성을 환영하며, Gathering for Open Ag Tech 커뮤니티에 관심을 가질 수 있다고 언급함
-
다른 사용자는 퇴비의 온도를 측정하는 간단한 방법을 선호하며, 온도가 45도 이상이면 열성균이 활동 중임을 알 수 있다고 설명함
-
또 다른 사용자는 식물 모니터링 시스템을 만들고 싶다는 생각을 공유하며, 토양 구성, 영양소 수준, 습도 등을 측정하는 센서를 추천받고 싶다고 언급함
-
한 사용자는 퇴비 모니터링을 통해 얻은 센서 데이터의 실용성에 대해 궁금해하며, 온도와 습도 외에 가스 조성이 C/N 비율에 미치는 영향이나 퇴비가 무산소 상태로 가는지 여부를 확인할 수 있는지 질문함
- 모니터링 경험을 통해 자신의 퇴비 관리 방식을 변경했는지에 대해 묻기도 함
-
Monty Monitor 제품에 대한 정보를 추가로 제공함
-
한 사용자는 퇴비 모니터링을 위해 열전쌍을 찾고 있었다고 언급함
-
HomeAssistant와의 통합을 위한 작업이 진행 중인지 궁금해하는 사용자가 있음