- Monty Home Device Hacking Guide membahas cara memperluas perangkat Monty Home BLE, yang awalnya ditujukan untuk pemantauan kompos, dengan Raspberry Pi untuk mengambil, menampilkan, dan mengotomatiskan data lingkungan seperti suhu, kelembapan, dan baterai
- Repositori ini menyediakan 3 proyek yang menggunakan Python, BLE, dan Raspberry Pi, termasuk kontrol LED berbasis ambang suhu, tampilan OLED I2C, dan pengiriman notifikasi IFTTT
- Perintah BLE yang tersedia mencakup suhu
;QT\r\n, kelembapan ;QH\r\n, baterai ;QL\r\n, CO2 ;QC\r\n, TVOC ;QO\r\n, versi firmware ;QV\r\n, reboot ;CR\r\n, reset pabrik ;CF\r\n, dan lainnya
- Lingkungan eksekusi memerlukan Raspberry Pi yang mendukung BLE, Monty Home BLE Device, Python 3, Bleak, Requests, Adafruit CircuitPython SSD1306, Pillow, dan lain-lain
- Pengguna dapat mengganti perintah BLE di dalam skrip atau memperluas kondisi
notification_handler untuk menangani data sensor lain, integrasi dashboard, logging, dan otomasi tambahan
Panduan perluasan perangkat Monty Home BLE
- Monty Home Device Hacking Guide adalah panduan langkah demi langkah untuk memperluas kemampuan perangkat Monty Home BLE dengan Raspberry Pi
- Perangkat Monty Home awalnya dirancang untuk pemantauan kompos, dan mengumpulkan data suhu, kelembapan, serta indikator lingkungan lainnya
- Panduan ini ditujukan bagi pengguna yang tertarik pada perangkat BLE, aplikasi IoT, dan pemantauan lingkungan
- Tempat pembelian Monty Home diarahkan ke https://montycompost.co/
Tiga proyek yang disertakan
-
Kontrol LED berbasis suhu
- Menggunakan data suhu dari perangkat Monty Home untuk mengendalikan LED pada Raspberry Pi
- Jika suhu melewati ambang yang ditentukan, LED akan menyala sebagai peringatan
- Teknologi yang dibahas meliputi kontrol LED GPIO, pengambilan data BLE, dan pemrosesan kondisi di Python
- Perangkat keras yang diperlukan adalah Raspberry Pi yang mendukung BLE, LED, dan resistor 330Ω
-
Menampilkan suhu dan kelembapan di OLED I2C
- Menampilkan suhu dan kelembapan real-time yang diambil dari perangkat Monty Home pada layar OLED yang terhubung ke Raspberry Pi
- Menggunakan layar SSD1306 OLED untuk menampilkan data dinamis serta mengimplementasikan pengambilan data BLE dan penyegaran layar
- Perangkat keras yang diperlukan adalah Raspberry Pi yang mendukung BLE dan SSD1306 OLED Display, dengan konfigurasi 128x32 atau 128x64
-
Notifikasi suhu melalui IFTTT
- Jika suhu perangkat Monty Home melewati ambang tertentu, Raspberry Pi mengirim notifikasi melalui IFTTT
- Mencakup integrasi IFTTT untuk otomasi IoT, permintaan HTTP berbasis pustaka
requests, serta penggabungan data BLE dan notifikasi cloud
- Perangkat keras dan akun yang diperlukan adalah Raspberry Pi dengan Wi-Fi dan akun IFTTT
Lingkungan eksekusi dan dependensi
- Perangkat keras yang diperlukan adalah Raspberry Pi Zero 2 atau model Raspberry Pi lain yang mendukung BLE, serta Monty Home BLE Device
- Bergantung pada proyeknya, komponen tambahan seperti LED, layar OLED, atau akun IFTTT mungkin diperlukan
- Sistem operasi yang dapat digunakan adalah Raspberry Pi OS Lite atau Raspberry Pi OS with Desktop
- Diperlukan Python 3 dan instalasi
pip
- Pustaka Python yang digunakan adalah sebagai berikut
- Bleak: untuk komunikasi BLE,
pip install bleak
- Requests: untuk integrasi IFTTT,
pip install requests
- Adafruit CircuitPython SSD1306: untuk kontrol OLED,
pip install adafruit-circuitpython-ssd1306
- Pillow: untuk pemrosesan gambar OLED,
pip install pillow
Perintah BLE Monty Home
- Perintah BLE dapat diganti atau dimodifikasi di skrip Python untuk meminta data lain atau menjalankan tindakan tertentu
| Perintah |
Fungsi |
;QA\r\n |
Mengembalikan indeks semua data yang ada di memori flash |
;QP\r\n |
Mengembalikan indeks data yang tertunda di memori flash |
;QR\r\n |
Mengembalikan record berdasarkan indeks, jika tidak ada indeks maka NACK |
;QS\r\n |
Mengembalikan status perangkat |
;QL\r\n |
Mengembalikan sisa baterai dalam persen |
;QT\r\n |
Mengembalikan pengukuran suhu dari sensor NTC |
;QH\r\n |
Mengembalikan pengukuran kelembapan relatif |
;QO\r\n |
Mengembalikan pengukuran TVOC terbaru |
;QC\r\n |
Mengembalikan pengukuran CO2 terbaru |
;QU\r\n |
Mengembalikan ID unik perangkat |
;QV\r\n |
Mengembalikan versi firmware perangkat |
;CR\r\n |
Reboot perangkat |
;CF\r\n |
Menjalankan reset pabrik |
Cara menjalankan kode
- Setiap proyek menyertakan skrip Python yang menyiapkan koneksi BLE, mengirim kueri, dan memproses data
- Urutan eksekusinya adalah berpindah ke folder proyek di terminal Raspberry Pi lalu menjalankan skrip
cd /path/to/project
python3 project_script.py
project_script.py harus diganti dengan nama file sebenarnya, misalnya project1_temperature_led.py
Titik kustomisasi
- Dengan mengubah perintah BLE, Anda dapat mengambil jenis data yang berbeda
- Misalnya, untuk mengambil kelembapan alih-alih suhu, ganti perintah seperti berikut
command = ";QT\r\n"
command = ";QH\r\n"
- Dengan menambahkan kondisi ke fungsi
notification_handler, Anda dapat mendekode dan menampilkan beberapa jenis data seperti suhu dan kelembapan
- Data dapat diintegrasikan ke platform IoT atau dashboard untuk visualisasi real-time, logging, dan otomasi tambahan
Materi referensi
1 komentar
Komentar Hacker News
Saya jadi terpikir sebuah ide. Saya punya tumpukan kompos besar dari membersihkan kandang kuda; isinya terutama serpihan kayu yang basah oleh urine dan kotoran kuda yang hampir terurai, dengan sedikit tanah tercampur
Musim panas ini saya mencoba menanam kentang dan wortel; kentangnya sangat bagus, wortelnya kurang, tapi saya rasa itu karena penyiramannya kurang tepat
Sepertinya belum sepenuhnya terurai, jadi kalau mengukur suhunya mungkin bisa diketahui seberapa aktif prosesnya. Saya juga punya sensor suhu berbasis ESP8266 yang dulu dipakai untuk melacak suhu lingkungan pada proyek fermentasi lain
Rasanya cukup dengan menyegel thermistor, memasukkan 8266 ke casing IP67, lalu menancapkannya di atas tumpukan kompos bersama panel surya. Perangkat itu sudah menampilkan halaman web lewat domain
.local, jadi sepertinya hampir tidak perlu banyak pekerjaanMungkin akhir pekan ini benar-benar akan saya coba
Pupuk kandang panas kaya senyawa nitrogen, sehingga cepat terurai dalam tumpukan kompos dan menghasilkan banyak panas dalam prosesnya. Rumah kaca tradisional menumbuhkan bibit dan stek pada musim dingin dengan energi dari pupuk kandang yang membusuk; kotoran ayam, bebek, dan kuda termasuk di dalamnya
Pupuk kandang dingin memiliki lebih sedikit nutrisi dan menghasilkan lebih sedikit panas saat terurai, sehingga risikonya lebih rendah untuk “membakar” tanaman. Hewan pemamah biak seperti sapi, kambing, dan domba termasuk kategori ini karena sebagian besar nitrogen dari pakan nabati sudah diambil selama proses pencernaan. Llama dan alpaka bukan ruminansia, tetapi karena nutrisi dalam kotorannya rendah, bisa dianggap sebagai pupuk kandang dingin
Bukan bermaksud meremehkan produknya, tetapi secara pribadi sepertinya saya tidak membutuhkannya. Namun saya penasaran apakah sudah ditinjau, seberapa besar skala pengomposan yang diperlukan agar pemantauan elektronik dapat memperbaiki hasil akhir sampai modal investasinya kembali
Rasanya harus dalam skala yang cukup besar
Saya suka nuansa desain rumahan yang seperti jamur, dan menurut saya arah itu mungkin bisa lebih didorong
Di lingkungan seperti ini, insight berbasis data benar-benar membantu efisiensi dan penghematan biaya, misalnya dengan mengoptimalkan siklus aerasi atau mendeteksi inefisiensi sebelum biayanya membesar. Situs produknya bisa dilihat di sini: (https://www.monty-pro.com)
Untuk rumah tangga, fokusnya bukan penghematan biaya, melainkan menyediakan insight praktis agar pengguna kompos sehari-hari bisa mendapatkan hasil lebih baik dari upaya mereka. Tujuannya memperkaya keseluruhan pengalaman pengomposan dalam skala kecil
collectd adalah sistem pemantauan open source yang, misalnya, bisa mencatat ke file flat RRD atau SQLite, dan meneruskan metrik yang dikumpulkannya ke aplikasi pemantauan, chart, dan deteksi anomali seperti Grafana atau InfluxDB
Nagios memiliki fitur "state flaping detection" untuk mencegah notifikasi yang tidak perlu
collectd-python-plugins berisi skrip untuk memantau kelembapan dan suhu dengan sensor i2c serta Python: https://github.com/dbrgn/collectd-python-plugins
Ada juga sensor kelembapan tanah LoRaWAN, tetapi membutuhkan baterai atau metode pengisian daya di lapangan
"Satellite images of plants' fluorescence can predict crop yields" (2024)
"Sensor-Free Soil Moisture Sensing Using LoRa Signals (2022)" https://dl.acm.org/doi/abs/10.1145/3534608 .. https://news.ycombinator.com/context?id=40234912
Pencarian sensor kelembapan tanah open source: https://www.google.com/search?q=open+source+soil+moisture+se...
Pencarian wiki pemantauan tanaman: https://www.google.com/search?q=crop+monitoring+wikipedia ...
Pertanian presisi: https://en.wikipedia.org/wiki/Precision_agriculture
Pertanian digital: https://en.wikipedia.org/wiki/Digital_agriculture
Pencarian sistem pemantauan tanaman di GitHub: https://www.google.com/search?q=crop+monitoring+system+site%...
SIEM: https://en.wikipedia.org/wiki/Security_information_and_event...
Saya penasaran sensor dari produsen dan model apa yang dipakai. Dalam proyek hobi, saya pernah mencoba pemantauan lingkungan dengan sensor yang sangat murah, dan pengalaman saya sangat buruk dalam hal repeatability nilai sensor maupun ketahanan sensor CO2 terhadap noise
Di HN juga ada diskusi terkait, dan berkat itu saya menyadari serta bisa memverifikasi bahwa noise adalah penyebab masalahnya
Saya punya beberapa ide proyek yang melampaui level membuat sesuatu di breadboard di rumah; karena sisi software dan infrastruktur makin matang, sekarang saya ingin membangunnya di atas komponen yang dapat diandalkan
Kalau Anda bisa membagikan lebih banyak ide proyek, kami bisa membahasnya lebih dalam sejauh kami bisa membantu
Senang melihat makin banyak pemantauan kompos skala kecil yang lebih komprehensif dan dapat diperluas. Komunitas Gathering for Open Ag Tech mungkin juga akan tertarik (https://forum.goatech.org/)
Ini bagus, tapi untuk menjalankan kompos panas, bukankah sebenarnya cukup sederhana dengan satu termometer saja? Kalau kompos saya melewati 45°C, itu sudah cukup meyakinkan bahwa ada mikroba termofilik dan mereka sedang bekerja
Namun sistem kami bersinar ketika Anda ingin masuk sedikit lebih dalam. Misalnya, dengan menambahkan data gas, tingkat kelembapan, dan tekanan udara, Anda bisa melakukan troubleshooting atau optimasi proses dengan lebih efektif. Anda bisa melihat apakah aktivitasnya aerobik atau anaerobik, apakah kelembapannya terlalu condong ke salah satu sisi, dan sebagainya
Insight seperti ini berguna ketika konfigurasi atau input pengomposan makin kompleks, atau ketika proses berhenti dan Anda tidak tahu alasannya. Tentu saja tidak semua orang membutuhkan segala macam fitur, dan hanya dengan termometer yang dapat dipercaya serta naluri soal kompos pun Anda bisa membuat kompos yang bagus dan sehat
Wadahnya berupa tong plastik hitam berbentuk Dalek, jadi rasionya terlalu besar untuk luas permukaan dibanding volume, dan lokasinya juga sangat teduh
Saat memantau kompos, saya lebih penasaran pada kegunaan praktis dari nilai sensor yang didapat. Suhu dan kelembapan cukup intuitif, tetapi misalnya komposisi gas itu menunjukkan rasio karbon/nitrogen, atau untuk memastikan apakah tumpukan mulai menuju kondisi tanpa oksigen?
Saya juga penasaran apakah tekanan udara merupakan indikator proksi umum untuk laju dekomposisi
Selain itu, saya ingin tahu apakah ada kebiasaan pengomposan nyata yang pernah diubah karena hal yang dipelajari dari pemantauan
Jika dilihat bersama data suhu, kita bisa cukup baik mengetahui apakah aktivitasnya aerobik, yaitu tumpukan kompos yang sehat, atau anaerobik yang tidak diinginkan dan bisa menimbulkan bau. Misalnya, jika TVOC melonjak dalam situasi ketersediaan oksigen menurun, kemungkinan besar itu kondisi anaerobik
Tekanan udara digunakan di aplikasi pendamping Monty Mobile sebagai bagian dari deteksi peristiwa membalik tumpukan. Aplikasi ini juga menganalisis, bersama data lain, bagaimana perubahan kondisi seperti tingkat kelembapan atau frekuensi pembalikan memengaruhi dekomposisi
Bagi kebanyakan pengguna, indikator proksi umum untuk memahami apakah tumpukan sedang "aktif" atau "stagnan" sudah cukup. Dengan begitu, prosesnya bisa disesuaikan, misalnya dengan menambahkan bahan cokelat, mengatur kelembapan, atau meningkatkan aerasi
Hasil kompos sangat bervariasi tergantung konfigurasi seperti tumbler, tong, atau peternakan cacing, serta input seperti pupuk kandang, sisa makanan, dan limbah kebun. Meski begitu, data 24 jam dari sistem kami menyederhanakan proses perubahan perilaku
Karena mendapat umpan balik langsung tanpa bergantung pada cara "coba, tunggu, lalu coba lagi", ini bisa membuat perbedaan besar bagi pemula maupun pengguna berpengalaman
Secara pribadi, Monty juga menjadi alat belajar yang besar. Dengan menggunakan aplikasi Monty Mobile, saya jadi lebih memperhatikan tumpukan kompos, dan lebih ingat untuk menyesuaikan tumpukan dengan menambahkan bahan saat diperlukan. Rasanya saya lebih terhubung dengan apa yang sebenarnya terjadi di dalamnya
Sejak lama saya ingin mencoba proyek serupa. Bentuknya satu patok yang ditancapkan ke pot, lalu mengukur komposisi tanah, tingkat nutrisi, kelembapan, kecepatan angin, intensitas cahaya, kelembapan udara, dan sebagainya untuk memberi rekomendasi perawatan tanaman serta mengoptimalkan pertumbuhan
Pada akhirnya saya belum sempat mencobanya. Penasaran apakah ada rekomendasi pembelian sensor
Menemukan sensor yang tepat membutuhkan banyak trial and error, apalagi karena kondisi pengomposan memang sangat berat. Kalau Anda memulai lagi proyeknya, saya ingin menyemangati atau saling membandingkan catatan
Monty Monitor bisa dilihat di sini: https://montycompost.co/products/im-perfect-monty-monitor
Entah bagaimana Anda membaca pikiran saya, tapi benar-benar kebetulan saya baru saja mencari termokopel untuk pemantauan kompos