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

Duvar düğmeleri ve pano kaydırıcısıyla sürülen servo damperler senkronize olmuyor

Duvar düğmeleri ve pano kaydırıcısıyla sürülen servo damperler senkronize olmuyor

Çözüldü 4 3

Yapay zekâ tarafından English dilinden çevrildi ·

Otelde tesis yöneticisiyim. İki konferans odamızda bir yüklenicinin yaptığı küçük motorlu havalandırma damperleri var: iki MG996R servolu bir ESP32, oda başına duvarda iki itme düğmesi (daha fazla aç / daha fazla kapat, basış başına 15 derece). ESP32 zaten sıcaklık ve CO2 verilerini Hermetry’ye iletiyor.Etkinlik ekibinin damperleri resepsiyon bilgisayarındaki bir panelden ayarlamasını istiyorum. Profile damper.set komutunu ve angle parametresini ekledim, panoya bir Slider kontrol kartı koydum. Gönderim çalışıyor, damper hareket ediyor.Ancak kaydırıcı sürekli yanlış konumu gösteriyor. Biri duvar düğmesine bastığında damper 75’teyken kaydırıcı hâlâ 45 diyor. Bazen kaydırıcıyı taşıdıktan bir saniye sonra eski değere geri zıplıyor ve herkesi şaşırtıyor.Panonun gerçek konumu takip etmesini sağlamanın bir yolu var mı, yoksa duvar düğmelerini kaldırmam mı gerekiyor? Misafirler düğmeleri seviyor.

QoS 1 and a lot of patience.
♥ 0

Yapay zekâ tarafından English dilinden çevrildi ·

Bunun devamı olarak, motorlu panjurlarda da aynı durum var.

♥ 0

Yapay zekâ tarafından English dilinden çevrildi ·

Butonları koruyun. Kaydırıcı yalnızca cihazın Hermetry’ye bildirdiğini gösterebilir; bu yüzden ESP32, her harekettan sonra, butondan ya da komuttan gelmiş olsun, konumu bildirmek zorundadır.Geri zıplamanın Current value bağlantınızdan kaynaklandığından eminim. Kaydırıcının Current value yuvasının neye bağlı olduğunu kontrol edin. Yalnızca siz gönderdiğinizde değişen (ya da hiç değişmeyen) bir değeri okuyorsa, oraya geri döner. Bunu ESP32’nin kendisinin gönderdiği bir telemetri anahtarına bağlayın, örneğin damper1_pos.ESP32 üzerinde, her harekettan sonra:

void moveTo(int ch, int angle) {
  angle = constrain(angle, 0, 90);
  servo[ch].write(angle);
  pos[ch] = angle;
  char buf[48];
  snprintf(buf, sizeof buf, "{"damper%d_pos":%d}", ch + 1, angle);
  mqtt.publish("v1/telemetry", buf);
}
// button handler: moveTo(ch, pos[ch] + 15);
// command handler for damper.set: moveTo(ch, params["angle"]); then answer ok

Bizim için işe yarayan kaydırıcı ayarları: Minimum 0, Maximum 90, Step 15; böylece buton adımlarıyla eşleşir. Kaydırıcı, sürüklerken değil bıraktığınızda bir kez gönderir; servo böylece gereksiz yere bombardımana tutulmaz. Damper için Ask before running off seçeneğini açabilirsiniz; aksi halde resepsiyon her harekette bir onay penceresi alır. Komutu Basic seviyesinde bırakın, kart bundan yükseğini göndermez.Varsayılan olarak açık olan “Disable the control when the reading is old” seçeneği de var. ESP32 yalnızca değişiklikte bildiriyorsa ve saatlerce kimse dokunmadıysa kaydırıcı gri görünebilir. Konumu diğer okumalarla birlikte birkaç dakikada bir tekrarlamasını sağlayın.Kurulum adımları Control cards sayfasında.

Timestamps in UTC or it didn't happen.
Kabul edilen çözüm♥ 1

Yapay zekâ tarafından English dilinden çevrildi ·

Sorun buymuş: Mevcut değer, bildirilen bir anahtar yerine komut parametresine bağlanmıştı. Yüklenici, buton basımından sonra yayın ekledi ve CO2 okumasıyla birlikte her 5 dakikada bir tekrar ekledi. Kaydırıcı artık duvar butonlarını takip ediyor. Çalıştırmadan önce sor seçeneği kapalı, etkinlik ekibi teşekkür ediyor.

QoS 1 and a lot of patience.
♥ 0

Yapay zekâ tarafından English dilinden çevrildi ·

Bunu panjur yüklenicimize gönderiyorum, aynı fikir işe yaramalı.

♥ 0
5 yazı görüntüleniyor – 1 ile 5 arası (toplam 5)
  • 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ş