Yeni: Yapay zekâ güvenlik duvarı tüm platformu izliyor ve her olayı sade bir dille açıklıyor. Nasıl çalıştığını görün

300 trafo merkezi izleme cihazı: cihaz başına ayrı bir MQTT topic'i gerçekten gerekli mi?

300 trafo merkezi izleme cihazı: cihaz başına ayrı bir MQTT topic'i gerçekten gerekli mi?

Çözüldü 5 4

Yapay zekâ tarafından English dilinden çevrildi ·

Uzun süredir okuyucuyuz, ilk kez yazıyoruz. Yaklaşık 300 trafo merkezi izleme cihazı için (ESP32 tabanlı, kendi firmware’imiz), kendi geliştirdiğimiz broker kurulumunu Hermetry ile değiştiriyoruz. Eski kurulumda her ünite grid/<site_id>/<unit_id>/telemetry yoluna yayın yapıyordu ve her ünitenin yalnızca kendi dalına yazabilmesi için büyük bir ACL dosyası tutuyorduk. Bu ACL dosyası sürekli bir sorun kaynağıydı; yeni her saha bir değişiklik ve broker yeniden yükleme anlamına geliyordu.Hermetry dokümanlarını okurken her yerde v1/telemetry görüyorum, cihaz başına topic’lerle ilgili hiçbir şey yok. Bu ya düşündüğümden daha basit olduğu ya da bir sayfayı kaçırdığım anlamına geliyor. Yeni firmware’i yazmadan önce: bir yerde 300 topic tanımlamamız gerekiyor mu, yoksa her cihaz aynı topic’e mi yayın yapıyor? Hepsi aynı topic’i kullanıyorsa, 17 numaralı ünitenin 18 numaralı ünite olarak veri yazmasını neyi engelliyor?Ayrıca site id’sini bir yerde tutmak istiyoruz, çünkü raporlarımız buna göre gruplanıyor.

♥ 0

Yapay zekâ tarafından English dilinden çevrildi ·

Bunun için cihaz profilinde özel topic’ler ayarlayabileceğini düşünüyorum? Ben kurulum yaparken bir yerde “Custom topics” seçeneğini görmüştüm.

Measure twice, poll once.
♥ 0

Yapay zekâ tarafından English dilinden çevrildi ·

Bunun devamı olarak, önümüzdeki çeyrekte 40 termostat geliyor ve aynı soruyu ben de sormak istedim.

Timestamps in UTC or it didn't happen.
♥ 1

Yapay zekâ tarafından English dilinden çevrildi ·

Cihaz başına topic gerekmiyor. Hepsi aynı v1/telemetry topic’ine yayın yapar. Hermetry, cihazın giriş yaptığı kimlik bilgisinden kimin konuştuğunu bilir, dolayısıyla token fiilen adres görevi görür. 17 numaralı ünite, 18’in kimlik bilgisine sahip olmadığı için 18 adına yazamaz; bir cihaz yalnızca kendi downlink topic’lerine (v1/attributes/set, v1/rpc/req/+ vb.) abone olabilir, bu yüzden başka bir cihazın mesajlarını da hiç görmez. Tutulacak bir ACL dosyası yok.Kevin’in Custom topic’lerin var olduğu konusundaki haklılığı tartışılamaz, ancak bunlar değiştirilemeyen firmware için: profil bu durumda v1/ dışındaki her topic’i o cihazın telemetrisi olarak alır. Buradaki limitler topic derinliği 8, uzunluk 128 ve cihaz başına 50 farklı topic’tir; “Prefix keys with the topic” seçeneğiyle grid/s12/temp, grid.s12.temp gibi bir anahtara dönüşür. Yeni firmware yazdığınız için bunların hepsini atlayın.Saha kimliği için topic’in parçası yapmak yerine cihazın bir özniteliği olarak tanımlamanızı öneririm. Her dakika değişmediği için telemetriye ait değil.Tüm topic tablosunu içeren referans: MQTT topics and payload reference. Kendi cihazlarımı taşırken öğrendiğim pratik bir şey: her ünitenin kendi kimlik bilgisi olsun. Aynı token’ı paylaşan iki cihaz birbirinin bağlantısını sürekli koparır.

Kabul edilen çözüm♥ 9

Yapay zekâ tarafından English dilinden çevrildi ·

Bu, bütçelediğimden çok daha az iş. Prototip cihaz kendi token’ıyla v1/telemetry konusuna yayın yapıyor; site id artık bir öznitelik ve rapor betiğimiz onu oradan okuyor. ACL dosyasını kaldırmak bu proje için başıma gelen en iyi şey.

♥ 0

Yapay zekâ tarafından English dilinden çevrildi ·

ah tamam, yani özel topic’ler eski firmware için bir çıkış yolu. Bunları karıştırmışım, teşekkürler.

Measure twice, poll once.
♥ 1
6 yazı görüntüleniyor – 1 ile 6 arası (toplam 6)
  • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.

Sohbete katılın

Soru sormak ve yanıtlamak, yararlı gönderileri beğenmek ve sorununuzu çözen yanıtı işaretlemek için oturum açın. Her katkı puan ve seviye kazandırır.

Paylaş