HN công khai: mã nguồn mở hóa công nghệ giám sát phân compost
(github.com/gtls64)Hướng dẫn hack thiết bị Monty Home
Hướng dẫn hack thiết bị Monty Home là một kho lưu trữ hướng dẫn cách mở rộng chức năng của thiết bị BLE Monty Home bằng Raspberry Pi. Thiết bị này ban đầu được thiết kế để giám sát phân compost và thu thập dữ liệu môi trường như nhiệt độ, độ ẩm. Thông qua hướng dẫn này, bạn có thể học cách truy xuất, hiển thị và tự động hóa dữ liệu.
Tổng quan
- Hướng dẫn này được thiết kế cho những người quan tâm đến thiết bị BLE, ứng dụng IoT và giám sát môi trường.
- Thiết bị Monty Home cung cấp dữ liệu thời gian thực (nhiệt độ, độ ẩm, mức pin, v.v.) qua BLE.
- Bao gồm ba dự án tương tác với thiết bị Monty Home bằng Python, BLE và Raspberry Pi.
Dự án
Dự án 1: Điều khiển LED dựa trên nhiệt độ
- Mục đích: Sử dụng dữ liệu nhiệt độ từ thiết bị Monty Home để điều khiển LED trên Raspberry Pi. Khi nhiệt độ vượt quá một ngưỡng nhất định, LED sẽ hiển thị cảnh báo.
- Kỹ năng học được: Thiết lập điều khiển GPIO, truy vấn dữ liệu BLE, lập trình Python cơ bản và xử lý điều kiện
- Phần cứng cần thiết: Raspberry Pi hỗ trợ BLE, LED và điện trở 330 ohm
Dự án 2: Hiển thị nhiệt độ và độ ẩm trên màn hình I2C
- Mục đích: Hiển thị dữ liệu nhiệt độ và độ ẩm thời gian thực từ thiết bị Monty Home trên màn hình OLED được kết nối với Raspberry Pi.
- Kỹ năng học được: Làm việc với thiết bị I2C, hiển thị dữ liệu động bằng màn hình OLED SSD1306, truy xuất dữ liệu BLE và triển khai cập nhật hiển thị
- Phần cứng cần thiết: Raspberry Pi hỗ trợ BLE, màn hình OLED SSD1306
Dự án 3: Cảnh báo nhiệt độ qua IFTTT
- Mục đích: Thiết lập để Raspberry Pi gửi thông báo qua IFTTT khi nhiệt độ của thiết bị Monty Home vượt quá một ngưỡng nhất định.
- Kỹ năng học được: Tích hợp tự động hóa IoT với IFTTT, gửi yêu cầu HTTP bằng thư viện
requests, kết hợp dữ liệu BLE với thông báo dựa trên đám mây - Phần cứng cần thiết: Raspberry Pi hỗ trợ Wi-Fi, tài khoản IFTTT
Thiết lập
Yêu cầu phần cứng
- Raspberry Pi (Zero 2 hoặc mẫu hỗ trợ BLE)
- Thiết bị BLE Monty Home
- Phần cứng bổ sung cần thiết cho từng dự án (LED, màn hình OLED, tài khoản IFTTT, v.v.)
Yêu cầu phần mềm
- Raspberry Pi OS: Cài đặt Raspberry Pi OS Lite (headless) hoặc Raspberry Pi OS with Desktop (giao diện đồ họa)
- Python 3: Cài đặt Python 3 và
pip - Thư viện:
- Bleak: Dùng cho giao tiếp BLE
- Requests: Dùng cho tích hợp IFTTT
- Adafruit CircuitPython SSD1306: Dùng để điều khiển OLED
- Pillow: Dùng để xử lý hình ảnh OLED
Lệnh BLE
- Đây là các lệnh được dùng để tương tác với thiết bị Monty Home. Mỗi lệnh dùng để yêu cầu dữ liệu cụ thể hoặc thực hiện một tác vụ.
- Ví dụ:
;QT\r\ntrả về giá trị đọc nhiệt độ từ cảm biến NTC.
Chạy mã
- Mỗi dự án bao gồm script Python để thiết lập kết nối BLE, gửi truy vấn và xử lý dữ liệu.
- Cách chạy script:
- Mở terminal trên Raspberry Pi
- Di chuyển đến thư mục dự án:
cd /path/to/project - Chạy script:
python3 project_script.py
Tùy biến
Điều chỉnh lệnh BLE
- Bạn có thể chỉnh sửa các lệnh BLE trong mã để truy xuất nhiều loại dữ liệu khác nhau từ thiết bị Monty Home.
Mở rộng trình xử lý thông báo
- Để xử lý nhiều loại dữ liệu, bạn có thể thêm điều kiện trong hàm
notification_handlerđể giải mã và hiển thị các giá trị đọc khác nhau.
Tích hợp với nền tảng khác
- Bạn có thể cân nhắc tích hợp dữ liệu vào nền tảng IoT hoặc dashboard để trực quan hóa dữ liệu thời gian thực, ghi log hoặc tự động hóa thêm.
Tài liệu bổ sung
- Python trên Raspberry Pi
- Hướng dẫn BLE trên Raspberry Pi
- Tài liệu IFTTT Webhooks
- Hướng dẫn Adafruit CircuitPython SSD1306
Đóng góp
- Hoan nghênh gửi pull request, báo cáo vấn đề, đề xuất tính năng, v.v. Bạn có thể đóng góp để cải thiện hướng dẫn này và thêm các dự án mới.
1 bình luận
Ý kiến Hacker News
Một người dùng chia sẻ trải nghiệm từng trồng khoai tây và cà rốt trên đống phân compost từ chuồng ngựa; khoai tây phát triển tốt nhưng cà rốt thì không tốt do thiếu nước
Một người dùng khác thắc mắc quy mô cần thiết để việc giám sát điện tử có thể cải thiện chất lượng compost, và cho rằng có lẽ phải làm ở quy mô lớn
Một người dùng khác nữa chia sẻ kinh nghiệm giám sát môi trường bằng các cảm biến giá rẻ, đồng thời nhắc đến vấn đề độ lặp lại của cảm biến và khả năng chống nhiễu kém của cảm biến CO2
Một người dùng hoan nghênh khả năng mở rộng của việc giám sát compost quy mô nhỏ và nói rằng dự án có thể thu hút sự quan tâm từ cộng đồng Gathering for Open Ag Tech
Một người dùng khác thích cách đo nhiệt độ compost đơn giản, và giải thích rằng nếu nhiệt độ trên 45 độ thì điều đó cho thấy vi khuẩn ưa nhiệt đang hoạt động
Một người dùng khác chia sẻ ý tưởng muốn tạo một hệ thống giám sát cây trồng, và nói rằng họ muốn được gợi ý các cảm biến có thể đo thành phần đất, mức dinh dưỡng, độ ẩm, v.v.
Một người dùng thắc mắc về tính thực tiễn của dữ liệu cảm biến thu được từ việc giám sát compost, và hỏi liệu ngoài nhiệt độ và độ ẩm thì thành phần khí có thể cho biết tác động đến tỷ lệ C/N hay xác định compost có đang chuyển sang trạng thái yếm khí hay không
Có bổ sung thêm thông tin về sản phẩm Monty Monitor
Một người dùng nói rằng họ đã tìm cặp nhiệt điện để giám sát compost
Có người hỏi liệu đã có công việc tích hợp với HomeAssistant hay chưa