aslandev
@aslan-k · Ocak 2026 tarihinde katıldı
Backend geliştirici · enerji · sahada 24 yıl
- Konular
- 2
- Yanıtlar
- 16
- Puan
- 0
Oluşturulan forum yanıtları
Kullanıcın dialout grubunda mı? Yoksa port açılmaz.
-86 ve altı ESP8266 için sınırda, metal dolap Faraday kafesi gibi davranıyor. ESP-01’in PCB anteni var, harici anten girişi yok. Bizim depoda aynı şeyi yaşadık, şöyle çözdük:
Modülü ESP-07S ya da ESP-12’nin U.FL konnektörlü versiyonuyla değiştirdik (ESP-07S’te PCB anteni yok, sadece U.FL var, karışıklık olmuyor). U.FL’den RP-SMA panel tipi geçiş kablosu ile dolabın üstünden dışarı, dışarıya da 3 dBi küçük bir çubuk anten. ESP32 kullanmak isterseniz ESP32-WROOM-32U da aynı mantık. Kod değişmiyor, sadece pin tanımları.
Kablo boyunu kısa tutun (20-30 cm), uzun ince koaksiyel 2.4 GHz’te kayıp yapar. Anteni dolabın metal yüzeyinden en az birkaç cm uzakta, dik tutun. Bizde -88’den -61’e çıktı.
Hermetry tarafında da şunu yapın: offline kuralında Open after (seconds offline) değerine bakın, varsayılanı 600 ama sizde biri 60 gibi kısa bir şey girmiş olabilir, 600’e geri çekin. Kısa kopmalarda alarm açılmaz, gerçekten kopan cihaz yine 10 dakikada yakalanır. Ayrıntı: Offline alarmları. Keepalive’ı da 30-60 saniye aralığında tutun, PubSubClient’ın varsayılanı 15 saniye.
Bence sorun sayı değil, bağlanma yöntemi.
Alarm koşulunda aritmetik yok, haklısın, “eşik + yüzde 20” ya da “geçen haftaya göre” yazılamıyor. Ben bunu kendi su pompalarımda iki adımda çözdüm.
Birinci adım cihazda: her saniyelik akım yerine her açılış-kapanış döngüsünün özetini gönder. Döngü bitince tek mesaj:
{"cycle.peak_a": 4.1, "cycle.avg_a": 2.3,
"cycle.duration_s": 14.2, "cycle.energy_wh": 0.21}
Yaşlanan motorda önce cycle.duration_s ve cycle.avg_a artıyor. Grafikte günlük ortalama ile çizince aylık trend çok net görünüyor. Mesaj sayısı da düşüyor.
İkinci adım alarm: eşiği sabit sayı yerine cihazın özniteliğinden okut. Motor yeniyken birkaç gün ölç, normal süreyi bul (ör. 12 s), cihaza duration_limit = 14.5 diye bir server attribute yaz. Kural:
"severities": [
{ "severity": "WARNING",
"condition": { "key": "cycle.duration_s", "op": ">",
"value": { "attribute": "duration_limit" } } }
],
"debounce": { "mode": "count", "raise": 3, "clear": 3 }
Debounce 3 sayesinde buzlu bir sabahtaki tek yavaş açılış alarm açmıyor, arka arkaya üç yavaş döngü açıyor. Fırçayı değiştirince özniteliği güncellersin, yarım dakika içinde yeni değer kullanılıyor. 6 A kuralını da kalsın, o sıkışma gibi ani durumlar için.
Öznitelikten eşik okuma: Alarm koşulları referansı.
Tuğba’nın tanımı iyi bir başlangıç. Ben şöyle ayırıyorum, 24 yıldır enerji tarafındayım:
IoT bağlantı katmanı: cihazın veriyi bir yere ulaştırması. CPS fiziksel süreç ile hesaplamanın kapalı döngüde birleşmesi: ölç, karar ver, sahaya geri etki et. Dijital ikiz de bir varlığın verilerle güncel tutulan modeli: nerede, neye bağlı, şu an ne durumda.
Hermetry Twin’i ikiz tarafına koyarım. Sites & Assets’te bir ağaç kuruyorsunuz (saha, köşk, trafo gibi), cihazları bu ağaca yerleştiriyorsunuz. İlişkilerle daha fazlasını söylüyorsunuz: UPS köşkü besler (Feeds), kontrolör pompayı yönetir (Manages), kamera kapıyı izler (Monitors). Her yerin bir durumu var, altındaki cihazların en kötüsü yukarı taşınıyor, bir trafodaki kritik alarm köşkü ve sahayı da kırmızıya çeviriyor. Üstüne 2D çizim ve 3D görünüm bağlanabiliyor.
Kapalı döngü kısmı Twin’de değil, kurallar ve komutlarda: örneğin sıcaklık 5 dakika boyunca eşiğin üstünde kalırsa fanı çalıştıran bir kural. İkisini birlikte kurarsanız teklifte “CPS” demek de haksız olmaz.
Bir tuzak: durum anahtarında true kritik sayılıyor. Cihazınız “çalışıyor” anlamında status: true gönderirse saha kırmızı görünür. Ayrıntı: Hermetry Twin.
Aynı değil. Desibel, havadaki ses basıncının ölçüsü, onu ölçmenin yolu bir basınç dönüştürücü, yani mikrofon. İvmeölçer duvarın ya da makinenin titreşimini ölçer, havadan gelen sesi değil. Soğutma kulesinin fan sesi duvarı neredeyse hiç titretmez ama komşunun penceresine kadar gider.
Yağmur meselesi çözülmüş bir konu. Bir enerji santralinin çevre ölçümünde kullandığımız düzen şuydu: dış ortam kiti (yağmur başlığı, rüzgarlık, kurutucu) olan sınıf 2 bir ses seviye ölçer, RS485 Modbus çıkışlı. Cihaz 1 dakikalık LAeq değerini bir register’da tutuyor. Bir gateway onu Modbus ile okuyup Hermetry’ye gönderiyor, ölçer child cihaz olarak görünüyor.
Hermetry tarafı bugün çalışan parçalarla:
laeq_1mintelemetrisi, grafik kartında gece-gündüz.- Rules kartı: When “A value changes” laeq_1min 55’in üstüne çıkınca, Only if “A time window” 22:00 sonrası, 07:00 öncesi, Then “Tell people”. Kartta rol seçiliyor (Owners, Admins, Members), tek tek kişi ya da ekip vermek için kurallar API’si var.
- Şikayet gelince ilgili gecenin verisini grafikten indirirsiniz.
Ölçerin yeri önemli, duvarın 1-2 m üstüne ve yansıtıcı yüzeylerden uzağa koyun. Kural kartının saat koşulu sitenin saat dilimine göre çalışıyor, site ayarı boşsa UTC kullanılıyor, onu bir kontrol edin. Ayrıntı: Saat, gün doğumu/batımı, tarihler ve tatiller.
avg × 24 kabaca tutar ama bir koşulla: okumalar düzenli gelmeli. Hermetry’nin avg’si zamana göre ağırlıklı değil, kova içindeki okumaların düz ortalaması. ESP32 yarım saat Wi-Fi’den düşerse o yarım saat hesaba hiç girmez, bir de yeniden bağlanınca peş peşe gelirse o dakikalar fazla ağırlık alır.
Bu arada ben enerji tarafında çalışıyorum, bu prizlerde röle kapalıyken 0.4 ile 1.2 W arası görmek normal. Wi-Fi modülü sürekli açık duruyor. Sende 0.9 çıkması makul.
Röle modülü al geç bence, en kolayı. Pi’den bir pin, bitti.
PNG’ye dönme. Bunun için ekran bağlantısı (display link) var, biz santral kontrol odasındaki ekranlarda kullanıyoruz.
Pano paylaşılmış olmalı. Paylaşılan panoyu aç, pano menüsünden Ekran bağlantıları… seç, ekran adı ver (Lab koridor), süresini seç (1 günden 365 güne kadar), Create link. Bağlantı bir kere gösteriliyor, hemen kopyala. Bu bağlantıyla açılan ekran giriş istemiyor ve bağlantıyı oluşturan kişinin yetkisiyle, ondan fazlası olmadan çalışıyor. Ekrandan hiçbir kontrol çalışmıyor, düğme varsa bile pasif, yani koridordaki biri bir şey değiştiremez.
Pi’de autostart’a şunu koy:
chromium-browser --kiosk --noerrdialogs --disable-infobars
"https://<host>/...#<bağlantının gizli kısmı>"
Panonun ayarlarında Fill the screen height’ı aç, Refresh every’yi 30 saniye gibi bir değere çek. İki not: 3B görünümler ekran bağlantısında gösterilmiyor, panoda 3B kart varsa ekranda boş kalır. Her ekran için ayrı bağlantı yap, birini iptal edince diğerleri etkilenmesin.
Katılıyorum. TLS olmadan gönderirsen access token düz metin gider, Hermetry’de düz HTTP ancak kurulum sunuyorsa ve profil izin verirse çalışıyor zaten. ESP’ye doğrudan yazmak daha az dert.
Çoğu UPS’in Modbus TCP kartı da oluyor, bakım firmasına sorun. Modbus ile okumak SNMP’den kolay olabilir.
Beton ve metal pano varsa 2.4 GHz ile çok uğraşırsınız, santralde denedik.
24V DIN ray kaynağı taktık, uç noktada öğlen 21.8V ölçtüm. Üç gündür tek bir sensör düşmedi. Sensörlerin besleme register’ı varmış, onu da gönderiyorum, Tuğba hanımın dediği grafiği de rapora koydum. Ekran zaten tek uçtan bağlıymış.
Tamam, ben de akış diye yanlış yönlendirmişim, bunu bilmiyordum. Kendi evim için not aldım.
Akış editörü korkutucu görünüyor ama bir kere kurunca rahat. Schedule trigger + Send command bloğu ile yaparsın bence. Gün batımı kısmını bilmiyorum.

