2 puan yazan GN⁺ 2024-11-23 | 1 yorum | WhatsApp'ta paylaş
  • 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

 
GN⁺ 2024-11-23
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 .local alan adıyla bir web sayfası yayınlıyor, bu yüzden neredeyse hiç iş gerektirmez.
    Bu hafta sonu gerçekten deneyebilirim.

    • Havuçlar için toprak fazla verimli olmuş olabilir. Azot çok fazla olduğunda yaprakların iyi büyüdüğü ama kök oluşumunun düzgün gerçekleşmediği deneyimlerim oldu.
    • Sebebi idrar. Yığını genişçe yayıp güneşte ağartır gibi kurutursan amonyak uçup gidebilir.
    • Bu sıcak gübre. Bahçecilik kuralları çoğu zaman yanılabilir ve fazla titizdir, ama başlangıç noktası olarak şöyle düşünebilirsin:
      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ş.

    • Elektronik izlemenin değerinin ölçek büyüdükçe arttığı doğru; bu yüzden planlanan Monty Pro serisi endüstriyel kompostlama tesisleri ve büyük ölçekli operasyonlara yönelik.
      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.
    • Projenin donanım gereksinimlerine bakınca ekipman yaklaşık 100 dolar seviyesinde. Giriş maliyeti epey düşük sayılır.
      Hardware Requirements
      
      Raspberry Pi (Zero 2 or another model with BLE support).  
      Monty Home BLE Device.  
      Additional hardware specific to each project, such as an LED, OLED display, and IFTTT account.  
      
  • 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...

  • 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.

    • Monty sisteminde Bosch ve Sensirion sensörleri kullanıyoruz. İlk prototip aşamasında yaklaşık 20 sensörü test ettik ve çeşitli kompostlama ortamlarında en kolay yönetilebilir sonuçları bunlar verdi.
      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/)

    • Orada bir gönderi paylaşmayı planlıyorum.
  • 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.

    • Temel düzeyde aktif bir sıcak kompost yığını tutmak isteyen biri için termometrenin harika bir araç olduğu doğru.
      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.
    • Benim kompostumun ortam sıcaklığının 5°C üstüne çıkması bile zor. Ana nedenin kompost kutusunun yeterince büyük olmaması olduğunu düşünüyorum.
      Siyah plastik, Dalek biçimli bir kutu; yüzey alanına göre hacmi çok fazla ve konumu da çok gölgeli.
    • Bu sıcaklığı üreten metabolik süreçlerin gerçekten gerçekleştiğini nasıl doğruluyorsunuz?
  • 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

    • Sensör değerlerinin kullanımını biraz daha açıklarsak, izlenen gaz esas olarak toplam uçucu organik bileşikler (TVOC) ve bu, ayrışma faaliyetinin genel bir vekil göstergesi olarak çalışıyor
      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

    • Toprak nemiyle böyle bir hobi projesi yapmıştım. Kodu neredeyse hiç yazamadığım dönemde oluşturduğum dağınık bir depo ama birkaç kapasitif sensör rehberine bağlantı veriyor: https://github.com/smcalilly/sensor
    • Sistemimizde Bosch ve Sensirion sensörleri kullanıyoruz. Kompost yığını gibi ısı, nem ve mikrobiyal faaliyetin elektronik ekipmanı zorladığı ortamlarda bile güvenilirlik ve dayanıklılık açısından iyiler
      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