2 puan yazan GN⁺ 2024-04-24 | 1 yorum | WhatsApp'ta paylaş
  • ESPHome, ESP32, ESP8266, BK72xx, RP2040 gibi kartları akıllı ev cihazlarına dönüştüren bir platform; cihazlar C++ yerine YAML yapılandırmasıyla ayarlanır
  • Yerel kontrol ve kablosuz güncellemeleri destekleyerek bulut bağımlılığını azaltır; sensör, ekran ve bileşenleri birleştirerek çeşitli cihazlar oluşturmayı sağlar
  • DIY kullanıcılarından profesyonel entegratörlere ve Made for ESPHome sertifikalı ürünler üreten üreticilere kadar geniş bir hedef kitleye sahiptir
  • Desteklenen ortamlar arasında Espressif ESP32·ESP8266, Raspberry Pi RP2040, Nordic Semiconductor nRF52, Realtek RTL87xx, Beken BK72xx ve bazı bileşenler için host platformu da bulunur
  • Başlamak için en kolay yol Home Assistant üzerinden ilerlemektir; ileri düzey kullanıcılar komut satırı kılavuzundan veya önceden yapılandırılmış projelerden başlayabilir

YAML ile yapılandırılan yerel akıllı ev cihazları

  • ESPHome, ESP32, ESP8266, BK72xx, RP2040 ve desteklenen diğer kartları akıllı ev cihazlarına dönüştürür
  • Karmaşık C++ kodu yerine cihazları YAML yapılandırma dosyalarıyla ayarlama yaklaşımını kullanır
  • Başlıca özellikler

    • Kod yazmadan yapılandırma: Karmaşık C++ olmadan basit YAML yapılandırması kullanır
    • Kablosuz güncellemeler: Cihazlara fiziksel olarak erişmeden güncelleme yapılabilir
    • Modüler tasarım: Yüzlerce sensör, ekran ve diğer bileşeni destekler
    • Yerel kontrol: Buluta bağımlı olmadan yerelde çalışır
  • İlgili kaynaklar

Kullanıcı kitlesi ve başlangıç yolları

  • Kimler kullanıyor

    • DIY kullanıcıları: Belirli ihtiyaçlara uygun sensörler, anahtarlar ve ekranlar üretir
    • Akıllı ev meraklıları: Uygun fiyatlı özel cihazlarla ev otomasyon sistemlerini genişletir
    • Profesyonel entegratörler: Müşteriler için yerel kontrollü akıllı cihazlar dağıtır
    • Üreticiler: Standartlaştırılmış firmware ile Made for ESPHome sertifikalı ürünler üretir
  • Desteklenen mikrodenetleyiciler ve çalışma ortamları

    • Espressif ESP32·ESP8266: Birçok IoT projesinde kullanılan ESP32·ESP8266 mikrodenetleyicilerini destekler
    • RP2040: Raspberry Pi’nin RP2040 mikrodenetleyicisini destekler
    • Diğer çipler: Nordic Semiconductor nRF52, Realtek RTL87xx, Beken BK72xx’i destekler
    • Masaüstü host platformu: Birçok ESPHome bileşeni masaüstü bilgisayarlarda da çalıştırılabilir
  • Nasıl başlanır

    • Home Assistant uygulaması üzerinden başlamak en kolay yoldur: Home Assistant Guide
    • Komut satırıyla çalışmayı tercih eden ileri düzey kullanıcılar ayrı bir kılavuzdan yararlanabilir: Command Line Guide
    • Yaygın kullanım senaryolarına önceden yapılandırılmış projelerden başlanabilir: Browse Projects

1 yorum

 
GN⁺ 2024-04-24
Hacker News yorumları
  • ESPHome'u yöneten kişilerden biriyim. Sorunuz varsa bildirin
    Geçen cumartesi ESPHome'un artık Open Home Foundation'a ait olduğunu duyurduk
    Open Home Foundation, akıllı evler ve içinde yaşayan herkes için gizliliği, seçim özgürlüğünü ve sürdürülebilirliği korumayı amaçlayan bir kuruluş: https://www.openhomefoundation.org/blog/announcing-the-open-...

    • ESPHome'u denemek isteyenler, tek satır yapılandırma yazmadan hazır bir projeyi kurup hemen deneyebilir: https://esphome.io/projects/
      Ucuz bir mikrodenetleyiciyi doğrudan tarayıcıdan sesli asistana, Bluetooth proxy'ye veya medya oynatıcıya dönüştürebilirsiniz
    • Sorum yok, sadece övgüm var. ESPHome gerçekten harika; özelliklerini her gördüğümde şaşırdım
      Espressif SDK'nın derinlerine inip sıcaklık sensörü ve MQTT eklenmiş kablosuz anahtarın neredeyse tamamını gerçekleştirmiştim; ESPHome'u keşfeder keşfetmez yaptığım tüm iş gereksiz hale geldi
      Yazdığım özelliklerin hepsi zaten vardı, üstüne çok daha fazlası da eklenmişti
    • ESPHome harika ama Wi-Fi tabanlı nesnelerin internetinden uzaklaşmak istiyorum. Bunun büyük nedeni, çok fazla ayar yapmadan tamamen çevrimdışı çalışan kendini onaran mesh ağı fikrinin hoşuma gitmesi
      Espressif'in Zigbee özelliği olan bazı cihazları var gibi görünüyor; ileride doğrudan Zigbee cihazları yapmanın bir yolu açılır mı merak ediyorum
    • ESPHome projesi olağanüstü derecede yetkin ve kullanıcı odaklı; o kadar iyi çalışıyor ki neredeyse tuhaf geliyor
      Ancak istediğim şey ESPHome'un kapsamına girer mi, temiz biçimde uygulanabilir mi pek emin değilim: cihazın içinde hızlı geri bildirim döngüleri ve daha karmaşık yerleşik algoritmalar çalıştırabilmek
      Örneğin bir ışık sensörünün ampulü kontrol etmesini, neredeyse fark edilmeyecek kadar küçük değişikliklerle parlaklığı sürekli ayarlamasını ve Kalman filtresi gibi bir şey kullanarak günün saatine uygun sabit aydınlık ve renk sıcaklığını korumasını istiyorum
      Ortamı ve güç kullanımını optimize etmek için hava temizleyici, havalandırma, ısıtma, nemlendirme, nem alma ve soğutmayı da sürekli kontrol etmek istiyorum. Havalandırma CO2/TVOC'yi düşürür ama PM2.5'i ve dış hava sıcaklığını içeri alır; ısıtma-soğutma, havalandırma ve nem karmaşık biçimde birbirine bağlıdır
      Yardımcı ısıtıcı temel ısıtmadan çok daha pahalıdır ama çok soğuk günlerde gereklidir; evde olmadığınızda öncelikler değişir, bu yüzden evdeyken yaşanabilir bir nem, yokken ise nemin en aza indirilmesini isterim
      İkinci olarak, ESPHome ile yalnızca Wi-Fi değil Zigbee cihazları da yapabilmek güzel olurdu
    • ESPHome sayesinde flashing, derleme, loglar ve OTA güncellemeleri kolaylaştı. Eskiden hep zahmetli işlerdi, artık basit
      Logları Wi-Fi üzerinden görmek bu kadar basit olabilir mi diye düşündürüyor
      TV kumandasıyla ses sistemini kontrol etmek için mini bir kızılötesi alıcı/verici yaptım; yapılandırması çok kolaydı ve Home Assistant entegrasyonu da harika
  • ESPHome ile 20'den fazla cihaz çalıştırıyorum; bunların yaklaşık dörtte üçü Home Assistant ağına dahil, yaklaşık 6 tanesi ise bağımsız olarak ESPHome'un MQTT üzerinden diğerleriyle iletişim kuracağı şekilde ayarlı
    İçini ESP32 ile değiştirdiğim ucuz bir Çin yapımı hava istasyonu, yağmur suyu tankı izleme, serada toprak nemi, evin çeşitli noktalarında sıcaklık-nem, mutfak ve çocuk odalarında hava kalitesi gibi şeyleri izliyorum
    ESPHome gerçekten değeri az bilinen bir proje. Kelimenin tam anlamıyla 5 dakikada, 10 dolarlık donanımla, programlama yapmadan evinizde kendi nesnelerin interneti cihazınızı yapıp arazinin herhangi bir yerinden gerçek zamanlı veri alabilirsiniz

    • Ben de benzer durumdayım; o kadar ucuz ki elektronik parça kutumda çeşitli ESP32 türev kartlarından bir düzine kadar bulunduruyorum
      Bir fikir akla geldiğinde donanımın elinizin altında olması muazzam bir özgürlük
      Şaşırtıcı derecede kararlılar; sprinkler kontrolcüsü gibi modüller bağımsız çalışacak şekilde programlanabildiğinden güç olduğu sürece çalışmaya devam ediyor
      Home Assistant'ın microSD kartının bozulduğunu ancak aylar sonra fark ettim, çünkü hidroponik ekipmanım normal çalışmaya devam ediyordu
      En çok zaman alan şey, su geçirmez Sockitbox içinde röleyi sürmek için DC/DC dönüştürücüye kablolama yapmaktı
      Vidalı klemens breakout kartını yakınınızda bulundurmak da çok işe yarıyor: https://www.amazon.com/whiteeeen-Development-Expansion-ESP-W...
      CloudFree de ESPHome ile yeniden programlanabilen hazır nesnelerin interneti parçaları bulmak için iyi: https://cloudfree.shop/
    • Bu cihazlarda kullandığın donanımı, kasaları, güç beslemesini ve çalışma sürecini daha ayrıntılı paylaşmalısın
    • Gücü nasıl sağladığını merak ediyorum
      Daha önce 3 dolarlık Wittycloud ESP8266 ile güneş enerjisi analiz verilerini çekip Home Assistant'ta tüketimi görmek için ESPHome kullanmıştım
      Ama USB adaptörü dışında hâlâ zarif bir güç besleme yöntemi bulamadım. Dış mekân sensörleri için temiz bir pil yöntemi olsa güzel olurdu
    • Genel olarak katılıyorum ama 10 dolarlık donanım kısmını çıkarmak isterim
      Epey gelişmiş çipler kullanıyor gibi görünüyor
      Daha da tasarruf etmek isterseniz ESP8266 4 dolara kadar düşebiliyor; gerçekten şaşırtıcı bir seviye
    • Güvenlik amaçlı iyi parçalar önerebilir misiniz merak ediyorum
      Örneğin kirada olan evime birinin izinsiz giriş izi bırakmadan girmesi durumu
      Belgelerde çeşitli seçenekler var ama hareket/varlık algılamaya mı yoksa ikili varlık algılayıcıya mı yönelmeliyim bilmiyorum. Hangi sensörün daha iyi ve maliyet açısından daha verimli olduğunu merak ediyorum
  • ESPHome’un en iyi yanı güçlü ve aktif topluluğu
    Bizim geliştirdiğimiz açık kaynak donanımlı hava kalitesi monitörü [1] için topluluktan bir üye gelişmiş bir ESPHome entegrasyonu [2] geliştirdi
    Bu entegrasyonda temel açık kaynak firmware’de bulunan tüm özellikler vardı; hatta bazen yeni özellikleri uygulamada bizden daha hızlıydı
    Bir anlamda bu tür açık kaynak rekabeti, yazılım sürümümüzü daha iyi hâle getirmemize yardımcı oldu ve bizi motive etti
    [1] https://www.airgradient.com/
    [2] https://github.com/MallocArray/airgradient_esphome

  • İlgili kaynak olarak, ticari donanımlar için ESPHome cihaz yapılandırmaları koleksiyonu var: https://devices.esphome.io/
    ESPHome’un da çoğu zaman çalıştırılabildiği cihazlar için Tasmota yapılandırmaları koleksiyonu da var: https://templates.blakadder.com/

  • Biraz konu dışı ama ESPHome’u seviyorum ve evdeki birkaç IoT tabanlı sıcaklık sensöründe kullanıyorum
    Ancak WAF, yani eş kabulü açısından hep takıldığım nokta; ESP32, sensörler ve birbirine girmiş kabloları düzgün görünen bir kutuya koyup gizlemek
    Herkesin elektronik parçaları saklamak için ne kullandığını merak ediyorum

    • 3D yazıcınız varsa benim ölçütlerime göre WAF’ı geçen şeyler yapabilirsiniz
      Apollo ürünleri oldukça göze batmayacak şekilde iyi tasarlanmış: https://apolloautomation.com/products/sensor-stand?pr_prod_s...
    • Bağımsız olarak ihtiyaç duyduğum şeylerde önce mevcut hazır bir ürün var mı diye bakıyorum. Genelde kendin yapmaktan daha maliyet verimli ve görünüş olarak da daha iyi oluyor
      Sıcaklık sensörü için genelde bu firmware’in desteklediği hazır ürünleri seçiyorum: https://github.com/pvvx/ATC_MiThermometer
      Üstelik pille 1 yıldan uzun süre çalışabiliyor
    • Tupperware kaplarını önerebilirim. Çeşitli şekil ve boyutlarda bulunuyorlar ve çok ucuzlar
      Cam kap ya da şeffaf plastik ürün kullanırsanız parçalar kirlenmeden içini de görebilirsiniz
      Duvara monte ederken kartı kapağın iç tarafına vidalayın, sonra kapağı duvara sabitleyin. Böylece yalnızca kabı kapaktan çıkararak kolayca erişebilirsiniz
      Dezavantajı, göz önünde bir yerde durursa çirkin görünebilmesi
    • Proje kutularını 3D yazıcıyla basıyorum
      Genelde Thingiverse’te kabaca uyan mevcut bir tasarım buluyorum. Yaygın parçalar kullanırsanız tam oturan bir model bulma ihtimaliniz de daha yüksek
    • Burada doğru cevap M5Stack
  • Arayıp da cevabını bulamadığım bir sorum var
    Bir septik tank alarm sistemim var; şamandıralı anahtar tankın 3/4 dolduğunu algıladığında sesli ve görsel alarm devreye giriyor
    Alarm çaldığında kapanan bir çift NO kuru kontak var
    Bu kontağın kapalı mı açık mı olduğunu nasıl izlemem gerektiğini merak ediyorum. GPIO piniyle yapılabilir gibi geliyor ama arayınca işe yarar bir cevap bulamadım
    Vazgeçip bir RIB01BDC [0] paket rölesiyle Raspberry Pi’yi açıp, septik tank kontağı kapanınca e-posta göndermesini sağlamayı düşünüyorum
    [0] https://www.functionaldevices.com/product/rib01bdc/

    • Hangi mikrodenetleyiciyi kullandığınızı varsaymadan konuşursak, kontaklardan birini toprağa bağlayıp GPIO pini·diğer kontak·10k direnç veya 100k direnç·VCC’yi birlikte seri bağlayabilirsiniz
      Mikrodenetleyicinin GPIO pinini periyodik olarak okumasını sağlarsanız, yüksekse kontak açık ve alarm çalmıyor demektir; düşükse kontak kapalı ve alarm çalıyor demektir
      GPIO/kontak/direnç/VCC yapılandırması, devrenin bir tarafını yüksek mantık seviyesine çeken bir pull-up devresi görevi görür; direnç de kontak kapandığında akan akımı sınırlar
      Mikrodenetleyici GPIO pini için dahili pull-up ayarını destekliyorsa ek donanım olmadan pini doğrudan kontağa bağlayabilirsiniz
      Tersine, dahili pull-down ayarı varsa VCC’yi kontağa, GPIO’yu da diğer tarafa doğrudan bağlayarak düzeni ters çevirebilirsiniz. Kullanılabilir özellikler ve akım sınırlaması için mikrodenetleyici belgelerine bakmalısınız
    • Drenaj çukurunun su seviyesini izlemek için ultrasonik sensör ve ESPHome kullanıyorum
      Septik tank izleme konusunda istediğiniz bilgiye bağlı olarak bu da kullanışlı bir seçenek olabilir
  • ESPHome ve M5StickC ile bir giriş-çıkış kayıt saati yaptım
    İşe giriş/çıkış basıldığında Home Assistant zamanı Google Sheet’e gönderiyor ve çok kararlı çalışıyor

  • İlginç bir nokta olarak, ESP32 bazı pinlerde kapasitif dokunma algılamayı destekliyor; böylece iletken yüzeyleri akıllı ev düğmesine veya giriş cihazına dönüştürebiliyorsunuz
    ESPHome’da da iyi destekleniyor: https://esphome.io/components/binary_sensor/esp32_touch.html

  • Üzerinde çalışmayı düşündüğüm küçük bir proje var
    Evimin yakınındaki durağın otobüs varış saatlerini yerel ulaşım API’siyle sorgulayıp, önemli 3 otobüsün saatlerini tek bir büyük ekranda ya da otobüs başına 3 küçük ekranda göstermek istiyorum
    Yüksek çözünürlüklü olması gerekmiyor ama uzaktan bile ailemin tek bakışta görebileceği kadar büyük ve parlak olmasını isterim. Örneğin 7 segment göstergeyle 3 haneli otobüs numarasını ve varışa kalan dakika için 4 haneyi göstermek gibi
    Wi‑Fi üzerinden güncellenebilir olmalı; Arduino/Raspberry Pi gibi düşük güç tüketimli bir cihazın bağlı olması da sorun değil. AA pille çalışabilirse daha da iyi olur
    İlk kısmı yapabilirim ama ikinci kısmı hiç bilmiyorum, lehimleme de hiç yapmadım. Bilen biri yön gösterirse iyi olur

    • ESPHome, birden fazla bileşeni üst üste koyup birleştirmek için iyi bir framework olduğundan başlangıç noktası olarak uygun
      Piksel ızgarasına çizim yapan display bileşeni https://esphome.io/components/display/, metin renderer’ı, adreslenebilir LED sürücüsü https://esphome.io/components/light/neopixelbus üzerine görüntü matrisi oluşturan addressable_light platformu https://esphome.io/components/display/addressable_light, ucuz 8x32 LED panel https://www.google.com/search?q=8x32+ws2812b gibi şeyleri birleştirebilirsin
      Daha fazla alana ihtiyaç olursa birkaç tane yapabilir ya da panelleri birbirine ekleyebilirsin
      Elbette tekerleği yeniden icat etmeye gerek yok; şu tür bir rehberi de izleyebilirsin: https://community.home-assistant.io/t/led-matrix-with-esphom...
      Özellikle Ulanzi gibi mevcut donanımı yeniden kullanma yoluna gidersen çok fazla lehim gerekmez; doğru veri bağlantısı ve güç beslemesi asıl kritik noktalar
    • Arduino’ya zaten aşina gibisin; öyleyse framework olarak doğrudan onu kullanabilirsin
      ESP32’yi Arduino ile programlayabilir, alışık olduğun kütüphaneleri ve Wi‑Fi işlemlerini aynen kullanabilirsin
      Adafruit’ten RGB matris satın alabilirsin; ayrıca bunu doğrudan sürebilen ESP32 kartları da sattıkları için pratikte tak-çalıştır düzeyinde, neredeyse hiç donanım bilgisi gerekmiyor
      Kendin yapmak istiyor ama rehberliğe ihtiyaç duyuyorsan, istediğine benzer Wi‑Fi bağlantılı bir metin gösterge cihazının hem donanımını hem yazılımını belgeleyen şu projeye bakabilirsin: https://github.com/BlueAndi/esp-rgb-led-matrix
  • Kişisel olarak kullanmıyorum ama gerçekten harika bir fikir gibi görünüyor
    Daha önce bir sensör kartı yapıp firmware’ini kendim yazmıştım; ESPHome’u kolayca yapılandırıp o kartta çalıştırabiliyor muyum bakmam gerekecek
    Ancak kendi firmware’imde zaten olan özelliklerden mutlaka ihtiyaç duyduğum şey pull yöntemiyle OTA güncellemeleri
    Şu anda firmware’i bir klasöre kopyaladığımda evdeki tüm sensörler HTTP sunucusu üzerinden otomatik olarak o firmware’e güncelleniyor
    ESPHome’da her sensöre güncellemeyi ayrı ayrı itmek gerekiyor; onlarca cihaz varsa bu zahmetli

    • Ben de neredeyse aynısını yaptım ama en son baktığımda, birden fazla sensör bağlı yeni bir kart için özel firmware oluşturmaya yardımcı olacak kaynaklar, ESPHome kodunu okumak dışında neredeyse yoktu
      Basit bir backend ile iletişim kuran firmware’i kendim yazmak daha kolay ve hızlı görünüyordu
      ESP32 cihazlarına kodun nasıl sığdığını da merak ediyorum. 4MB flash’lı bir cihazda OTA istiyorsan pratikte program sınırı yaklaşık 1MB
      GPIO, ADC, UART, Wi‑Fi, HTTPS, HTTPS sunucusu, interrupt’lar, FreeRTOS, MQTT, NVS, çip bilgisi, log, OTA ve standart kütüphane fonksiyonlarını çağıran basit bir program bile 1MB sınırını zaten aşıyor. Tek bir scanf bile 30KB kullanıyor
      Tüm logları kapatıp derleyince yaklaşık 800KB’lık bir programa kadar küçültebiliyorsun, ama program mantığı olmadığı halde sınıra epey yakın
      Bir dahaki sefere uzaktan izleme cihazına ihtiyaç duyarsam tekrar bakmayı düşünüyorum
    • Web arayüzünde update all düğmesi var, o yüzden o kadar kolay
      Güncellemek istemediğim bir cihaz varsa YAML dosyasına beklenmedik bir anahtar kelimeyi geçici olarak ekleyip derleme ve güncellemenin başarısız olmasını sağlıyorum
    • Bunu kullanmak hata ve düzeltme ihtiyacını azaltabilir
      Evin çeşitli yerlerinde sıcaklık probları bağlı epey ESP cihazım var; bakımını yapmam gereken kod azalsın diye ESPHome’a taşımaya çalışıyorum
    • Denemeye değer. ESPHome çok kullanışlı
      Özellikle ilk başta tarayıcıdan flash’layıp sonrasında kablosuz güncelleyebilmek güzel
    • Bu özellik bir sonraki sürüme girecek