Yapay zekâ tarafından English dilinden çevrildi ·
İyi, o zaman her şey sadece kuru kontak ve bu kolay. Bir süre önce bir müşterinin deposunda hemen hemen aynı şeyi yaptım.Ölçtüğünüz 2.2k, hat sonu (EOL) direncidir. Eski panel, “kapalı”, “kablo kesik” ve “kısa devre” durumlarını ayırt etmek için bunu kullanıyordu. İki seçeneğiniz var:
- En basiti: Bunu atlayın veya yok sayın ve her hattı dijital giriş olarak okuyun. Kapalı kapı = toprağa 2.2k, ESP32 dahili pull-up direnci (yaklaşık 45k) ile LOW olarak okunur. Açık = HIGH. Bu çalışır, ancak kesik bir kablo, açık bir kapıyla tamamen aynı görünür.
- Gözetimi koruyun: Her hattı 3.3 V’a 10k pull-up ile bir ADC pininden okuyun. Kapalı yaklaşık 0.6 V, açık 3.3 V, kısa devre 0 V olur. Böylece ayrı bir
faultdeğeri gönderebilirsiniz.
20 hat için kullanılabilir ADC pinleri tükenecektir, bu yüzden dijital girişleri kullanmanızı veya girişler için bir MCP23017 I2C genleştiricisi eklemenizi öneririm.PIR’ler: Dolaba bir 12 V kaynak koyun, PIR’leri bundan besleyin ve N.C. röle kontağını tıpkı bir kapı gibi bir girişe bağlayın. 12 V negatifini yalnızca gerekirse ESP32 toprağına bağlayın, röle zaten izoledir. Kurcalama kontakları, birinin bir kapağı açtığını bilmek isterseniz onlar da girişlere bağlanabilir.Hermetry tarafında, her girişi true/false yerine 0/1 olarak gönderin ki bunun grafik geçmişini alabilesiniz. Şöyle bir şey:
{"door_lobby": 0, "door_dock": 1, "pir_hall": 0, "tamper_any": 0}
Her değişiklikte ve ayrıca dakikada bir gönderin ki son değer güncel olsun. Ardından profilde door_dock == 1 gibi bir alarm kuralı ve mesai dışı saatler için bir zaman koşulu ekleyin.
Good, then everything is just a dry contact and this is easy. I did almost the same thing for a client’s warehouse a while back.
The 2.2k you measured is the end-of-line (EOL) resistor. The old panel used it to tell “closed” from “wire cut” from “short”. You have two choices:
- Simplest: bypass or ignore it and read each loop as a digital input. Closed door = 2.2k to ground, which with the ESP32 internal pull-up (around 45k) reads as LOW. Open = HIGH. That works, but a cut wire looks exactly like an open door.
- Keep the supervision: read each loop on an ADC pin with a 10k pull-up to 3.3 V. Closed is about 0.6 V, open is 3.3 V, shorted is 0 V. Then you can send a separate
faultvalue.
For 20 loops you will run out of usable ADC pins, so I’d do digital inputs, or add an MCP23017 I2C expander for the inputs.
PIRs: put a 12 V supply in the closet, power the PIRs from it, and wire the N.C. relay contact to an input exactly like a door. Tie the 12 V negative to the ESP32 ground only if you need to, the relay is isolated anyway. The tamper contacts can go to inputs too if you want to know when someone opens a cover.
On the Hermetry side, send each input as 0/1, not true/false, so you get a chart history of it. Something like:
{"door_lobby": 0, "door_dock": 1, "pir_hall": 0, "tamper_any": 0}
Send on every change plus once a minute, so the latest value is fresh. Then an alarm rule like door_dock == 1 on the profile, and a time condition for after hours.

