- Monty Home Device Hacking Guide, aslında kompost izleme için tasarlanmış Monty Home BLE cihazını Raspberry Pi ile genişleterek sıcaklık, nem, pil ve benzeri çevresel verileri alma, görüntüleme ve otomasyonlara bağlama yöntemlerini ele alıyor
- Depo, Python, BLE ve Raspberry Pi kullanan 3 proje sunuyor; bunlar arasında sıcaklık eşiğine göre LED kontrolü, I2C OLED ekran gösterimi ve IFTTT bildirim gönderimi yer alıyor
- BLE komutları sıcaklık
;QT\r\n, nem ;QH\r\n, pil ;QL\r\n, CO2 ;QC\r\n, TVOC ;QO\r\n, firmware sürümü ;QV\r\n, yeniden başlatma ;CR\r\n, fabrika ayarlarına sıfırlama ;CF\r\n ve daha fazlasını sağlıyor
- Çalışma ortamı olarak BLE destekli Raspberry Pi, Monty Home BLE Device, Python 3, Bleak, Requests, Adafruit CircuitPython SSD1306, Pillow ve benzerleri gerekiyor
- Kullanıcılar, betikler içindeki BLE komutlarını değiştirerek veya
notification_handler koşullarını genişleterek başka sensör verileri işleme, dashboard entegrasyonu, loglama ve ek otomasyonlar kurabilir
Monty Home BLE cihazı genişletme rehberi
- Monty Home Device Hacking Guide, Monty Home BLE cihazının yeteneklerini Raspberry Pi ile genişletmeye yönelik adım adım bir rehberdir
- Monty Home cihazı başlangıçta kompost izleme için tasarlanmıştır ve sıcaklık, nem ile diğer çevresel gösterge verilerini toplar
- Bu rehber; BLE cihazları, IoT uygulamaları ve çevresel izlemeyle ilgilenen kullanıcılara yöneliktir
- Monty Home satın alma bağlantısı olarak https://montycompost.co/ veriliyor
Dahil edilen 3 proje
-
Sıcaklığa dayalı LED kontrolü
- Raspberry Pi üzerindeki LED'i kontrol etmek için Monty Home cihazının sıcaklık verisi kullanılır
- Sıcaklık belirlenen eşiği aşarsa LED yanarak uyarı verir
- Ele alınan teknolojiler GPIO ile LED kontrolü, BLE veri sorgulama ve Python koşul işlemedir
- Gerekli donanım: BLE destekli Raspberry Pi, LED ve 330Ω direnç
-
I2C OLED'de sıcaklık ve nem gösterimi
- Monty Home cihazından alınan gerçek zamanlı sıcaklık ve nem verileri, Raspberry Pi'ye bağlı OLED ekranda gösterilir
- SSD1306 OLED ekranla dinamik veri gösterimi yapılır; BLE veri alma ve ekran yenileme uygulanır
- Gerekli donanım: BLE destekli Raspberry Pi ve SSD1306 OLED Display; 128x32 veya 128x64 yapılandırmaları mümkündür
-
IFTTT ile sıcaklık bildirimi
- Monty Home cihazının sıcaklığı belirli bir eşiği aştığında Raspberry Pi, IFTTT üzerinden bildirim gönderir
- IoT otomasyonu için IFTTT entegrasyonu,
requests kütüphanesi tabanlı HTTP istekleri ve BLE verisiyle bulut bildirimlerinin birleştirilmesi ele alınır
- Gerekli donanım ve hesaplar: Wi-Fi bağlantılı Raspberry Pi ve IFTTT hesabı
Çalışma ortamı ve bağımlılıklar
- Donanım olarak Raspberry Pi Zero 2 veya BLE destekleyen başka bir Raspberry Pi modeli ile Monty Home BLE Device gerekir
- Projeye göre LED, OLED ekran ve IFTTT hesabı gibi ek bileşenler gerekebilir
- İşletim sistemi olarak Raspberry Pi OS Lite veya Raspberry Pi OS with Desktop kullanılabilir
- Python 3 ve
pip kurulumu gerekir
- Kullanılan Python kütüphaneleri şunlardır
- Bleak: BLE iletişimi için,
pip install bleak
- Requests: IFTTT entegrasyonu için,
pip install requests
- Adafruit CircuitPython SSD1306: OLED kontrolü için,
pip install adafruit-circuitpython-ssd1306
- Pillow: OLED görüntü işleme için,
pip install pillow
Monty Home BLE komutları
- BLE komutları, farklı veri istemek veya farklı işlemler yapmak için Python betiklerinde değiştirilebilir ya da düzenlenebilir
| Komut |
İşlev |
;QA\r\n |
Flash bellekteki tüm verilerin indeksini döndürür |
;QP\r\n |
Flash bellekte bekleyen verilerin indeksini döndürür |
;QR\r\n |
İndekse göre kaydı döndürür; indeks yoksa NACK |
;QS\r\n |
Cihaz durumunu döndürür |
;QL\r\n |
Pil seviyesini yüzde olarak döndürür |
;QT\r\n |
NTC sensörünün sıcaklık ölçümünü döndürür |
;QH\r\n |
Bağıl nem ölçümünü döndürür |
;QO\r\n |
En son TVOC ölçümünü döndürür |
;QC\r\n |
En son CO2 ölçümünü döndürür |
;QU\r\n |
Cihazın benzersiz kimliğini döndürür |
;QV\r\n |
Cihaz firmware sürümünü döndürür |
;CR\r\n |
Cihazı yeniden başlatır |
;CF\r\n |
Fabrika ayarlarına sıfırlar |
Kodun çalıştırılma biçimi
- Her proje, BLE bağlantısını kuran, sorgular gönderen ve veriyi işleyen bir Python betiği içerir
- Çalıştırma sırası, Raspberry Pi terminalinde proje klasörüne geçip ardından betiği çalıştırma şeklindedir
cd /path/to/project
python3 project_script.py
project_script.py gerçek dosya adıyla değiştirilmelidir; örnek olarak project1_temperature_led.py veriliyor
Özelleştirme noktaları
- BLE komutları değiştirilerek farklı türde veriler alınabilir
- Örneğin sıcaklık yerine nem sorgulamak için komut şu şekilde değiştirilir
command = ";QT\r\n"
command = ";QH\r\n"
notification_handler fonksiyonuna koşullar eklenirse sıcaklık ve nem gibi birden fazla veri türü çözümlenip gösterilebilir
- Veriler, IoT platformlarına veya dashboard'lara entegre edilerek gerçek zamanlı görselleştirme, loglama ve ek otomasyonlarda kullanılabilir
Referans materyaller
1 yorum
Hacker News yorumları
Aklıma bir fikir geldi. At ahırını temizlerken çıkan büyük bir kompost yığınım var; çoğunlukla idrarla ıslanmış odun yongaları ve neredeyse tamamen ayrışmış at gübresinden oluşuyor, biraz da toprak karışmış durumda.
Bu yaz patates ve havuç ekmeyi denedim; patatesler çok iyi oldu, havuçlar pek iyi değildi ama bunu sulamayı yanlış yapmama bağlıyorum.
Henüz tamamen ayrışmış gibi görünmüyor, bu yüzden sıcaklığı ölçersem ne kadar aktif olduğunu anlayabilirim. Daha önce başka bir fermantasyon projesinde ortam sıcaklığını izleyen ESP8266 tabanlı bir sıcaklık sensörüm de var.
Termistörü sızdırmaz hale getirip 8266’yı IP67 bir muhafazaya koyduktan sonra güneş paneliyle birlikte kompost yığınının üzerine saplasam yeterli olur gibi. Zaten
.localalan adıyla bir web sayfası yayınlıyor, bu yüzden neredeyse hiç iş gerektirmez.Bu hafta sonu gerçekten deneyebilirim.
Sıcak gübre, azot bileşikleri açısından zengindir; kompost yığınında hızla ayrışır ve bu süreçte çok ısı üretir. Geleneksel seralar, kışın fideleri ve çelikleri yetiştirmek için çürüyen gübrenin enerjisinden yararlanırdı; tavuk, ördek ve at gübresi buna girer.
Soğuk gübrede besin daha azdır ve ayrışırken daha az ısı çıkardığı için bitkileri yakma riski daha düşüktür. Sığır, keçi ve koyun gibi geviş getiren hayvanlar, bitkisel yemin azotunun büyük kısmını sindirim sırasında çekip aldığı için buna girer. Lama ve alpaka geviş getiren hayvan değildir, ama gübrelerinin besin içeriği düşük olduğu için soğuk sayılabilir.
Ürünü küçümsemek istemem ama şahsen ihtiyacım olacağını sanmıyorum. Yine de elektronik izlemenin yatırım maliyetini karşılayacak kadar nihai ürünü iyileştirmesi için kompostlama ölçeğinin ne seviyede olması gerektiğini değerlendirdiniz mi merak ediyorum.
Oldukça büyük bir ölçek gerekecekmiş gibi hissediyorum.
Ev tipi tasarımın mantar benzeri havasını beğendim; o tarafı daha fazla öne çıkarsanız da iyi olabilirmiş.
Bu tür ortamlarda havalandırma döngülerini optimize etmek ya da maliyetler büyümeden verimsizlikleri yakalamak gibi veri odaklı içgörüler, verimlilik ve maliyet tasarrufuna gerçekten yardımcı oluyor. Ürün sitesini burada görebilirsiniz: (https://www.monty-pro.com)
Evde ise maliyet tasarrufundan çok, gündelik kompost kullanıcılarının emeklerinin karşılığını daha iyi almasını sağlayacak pratik içgörüler sunmaya odaklanıyoruz. Amaç, küçük ölçekte tüm kompostlama deneyimini daha zengin hale getirmek.
collectd, örneğin RRD düz dosyalarına ya da SQLite’a yazabilen; topladığı metrikleri Grafana veya InfluxDB gibi izleme, grafikleme ve anomali tespiti uygulamalarına aktarabilen açık kaynaklı bir izleme sistemidir.
Nagios’ta gereksiz uyarıları önleyen bir "state flaping detection" özelliği vardır.
collectd-python-plugins içinde i2c sensörleriyle ve Python kullanarak nem ile sıcaklığı izleyen betikler bulunur: https://github.com/dbrgn/collectd-python-plugins
LoRaWAN toprak nem sensörleri de var, ancak pil ya da sahada şarj yöntemi gerekiyor.
"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
Açık kaynak toprak nem sensörü araması: https://www.google.com/search?q=open+source+soil+moisture+se...
Ürün izleme wiki araması: https://www.google.com/search?q=crop+monitoring+wikipedia ...
Hassas tarım: https://en.wikipedia.org/wiki/Precision_agriculture
Dijital tarım: https://en.wikipedia.org/wiki/Digital_agriculture
GitHub’da ürün izleme sistemi araması: https://www.google.com/search?q=crop+monitoring+system+site%...
SIEM: https://en.wikipedia.org/wiki/Security_information_and_event...
Hangi üretici ve model sensörleri kullandıklarını merak ediyorum. Bir hobi projesinde çok ucuz sensörlerle çevresel izleme denemiştim; sensör değerlerinin tekrarlanabilirliği ve CO2 sensörünün gürültü bağışıklığı konusunda çok kötü deneyimler yaşadım.
HN’de de bununla ilgili bir tartışma olmuştu; onun sayesinde sorunun kaynağının gürültü olduğunu fark edip doğrulayabildim.
Evde breadboard üzerinde yapılan seviyenin ötesine geçen birkaç proje fikrim var; yazılım ve altyapı tarafı olgunlaştığı için artık güvenilir bileşenlerin üzerine inşa etmek istiyorum.
Proje fikirlerinizi daha fazla paylaşırsanız, yardımcı olabileceğimiz ölçüde daha derinlemesine konuşabiliriz.
Daha kapsamlı ve ölçeklenebilir küçük ölçekli kompost izleme çözümlerinin artması güzel. Gathering for Open Ag Tech topluluğu da bununla ilgilenebilir (https://forum.goatech.org/)
Güzel ama sıcak kompost yürütmek için tek bir termometre yeterince basit değil mi diye düşünüyorum. Kompostum 45°C’nin üzerine çıkıyorsa, termofilik mikroorganizmaların bulunduğunu ve çalıştığını varsaymak bence oldukça güvenilir.
Ancak sistemimiz biraz daha derine inmek istediğinizde parlıyor. Örneğin gaz, nem seviyesi ve hava basıncı verilerini eklemek, süreci daha etkili şekilde sorun gidermenize veya optimize etmenize yardımcı olabilir. Aktivitenin aerobik mi anaerobik mi olduğunu, nemin herhangi bir yönde aşırı sapıp sapmadığını görebilirsiniz.
Kompostlama düzeni ya da girdiler karmaşıklaştığında veya süreç durduğu hâlde nedenini bilmediğinizde bu tür içgörüler faydalı olur. Elbette herkesin her türlü özelliğe ihtiyacı yok; güvenilir bir termometre ve kompost sezgisiyle de harika ve sağlıklı kompost üretilebilir.
Siyah plastik, Dalek biçimli bir kutu; yüzey alanına göre hacmi çok fazla ve konumu da çok gölgeli.
Kompostu izlerken elde edilen sensör değerlerinin pratikliği daha çok merak ediliyor. Sıcaklık ve nem sezgisel; ama örneğin gaz bileşimi karbon/azot oranına mı işaret ediyor, yoksa yığının oksijensiz duruma geçip geçmediğini mi gösteriyor?
Hava basıncının da ayrışma hızının genel bir vekil göstergesi olup olmadığı merak ediliyor
Ayrıca izleme sırasında öğrenilenler nedeniyle gerçek kompostlama alışkanlıklarının değiştirilip değiştirilmediği de bilinmek isteniyor
Sıcaklık verisiyle birlikte bakıldığında faaliyetin aerobik mi, yani sağlıklı bir kompost yığını mı olduğu, yoksa istenmeyen ve koku yapabilecek anaerobik bir durum mu olduğu oldukça iyi anlaşılabiliyor. Örneğin oksijen erişilebilirliği düştüğünde TVOC aniden yükselirse, anaerobik koşulların olma ihtimali yüksek
Hava basıncı, companion uygulama Monty Mobile’da yığını çevirme olaylarını algılamanın bir parçası olarak kullanılıyor. Uygulama, nem seviyesi veya çevirme sıklığı gibi koşul değişimlerinin ayrışmayı nasıl etkilediğini de diğer verilerle birlikte analiz ediyor
Çoğu kullanıcı için yığının "aktif" mi "durağan" mı olduğunu anlamaya yarayan genel vekil göstergeler yeterli. Bu sayede kahverengi malzeme eklemek, nemi ayarlamak veya havalandırmayı artırmak gibi süreç ayarlamaları yapılabiliyor
Kompostta sonuçlar; tambur, kutu, solucan çiftliği gibi kurulumlara ve gübre, yemek artıkları, bahçe atıkları gibi girdilere göre büyük ölçüde değişiyor. Yine de sistemimizin 24 saatlik verisi, davranış değişikliği sürecini basitleştiriyor
"Dene, bekle, sonra tekrar dene" yöntemine dayanmak yerine anında geri bildirim alındığı için hem yeni başlayanlar hem de deneyimliler açısından büyük fark yaratabiliyor
Kişisel olarak da Monty büyük bir öğrenme aracı oldu. Monty Mobile uygulamasını kullanırken kompost yığınıma daha fazla ilgi göstermeye başladım ve gerektiğinde malzeme ekleyerek yığını ayarlamayı da daha iyi hatırlar oldum. İçeride gerçekten neler olduğuyla daha iyi bağlantı kurduğumu hissediyorum
Uzun zamandır benzer bir proje yapmak istiyordum. Saksıya takılan tek bir kazığın toprak bileşimini, besin seviyelerini, nemi, rüzgâr hızını, ışık miktarını, rutubeti vb. ölçüp bitki bakımı önerileri ve büyüme optimizasyonu sağlaması gibi
Sonuçta hâlâ yapamadım. Sensör satın alma önerisi olup olmadığını merak ediyorum
Uygun sensörleri bulmak için çok deneme yanılma gerekti; özellikle kompostlama koşulları çok zorlu olduğu için. Projeye yeniden başlarsanız sizi desteklemek veya kayıtlarımızı karşılaştırmak isterim
Monty Monitor’e buradan bakabilirsiniz: https://montycompost.co/products/im-perfect-monty-monitor
Aklımı nasıl okudunuz bilmiyorum ama gerçekten tesadüfen az önce kompost izleme için termokupl bakıyordum