Eski alarm paneli kapı kontaklarını ve PIR'ları Hermetry girişleri olarak yeniden kullanmak
Yapay zekâ tarafından English dilinden çevrildi ·
Herkese merhaba, yanlış yerde açtıysam özür dilerim, bu konularda oldukça yeniyim.Eski ve izlemeli bir güvenlik sistemi olan bir binayı devraldık. İzleme sözleşmesi iptal edildi ve panel sökülüyor, ancak tüm sensörler hâlâ duvarların içinde: zemin katta yaklaşık 14 manyetik kapı kontağı ve 6 hareket dedektörü (PIR). Her birinin panel dolabına giden 4 telli bir kablosu var. Kapı sensörlerinin bazılarında yalnızca 2 tel kullanılıyor.Fikrim, sensörleri tutup panel yerine dolaba bir ESP32 koymak. Böylece Hermetry’de mesai saatleri dışında hangi kapıların açık olduğunu görebilir ve alarm alabilirim. Zaten MQTT üzerinden Hermetry’ye sıcaklık gönderen bir ESP32’m var (başlangıç kılavuzundan kopyalandı), dolayısıyla gönderme kısmı çalışıyor.Anlamadığım noktalar:
- Bir kapı kontağını ESP32’ye nasıl bağlarım? Sadece bir anahtar mı?
- PIR’ların etiketinde 12VDC yazıyor. ESP32 bunları besleyebilir mi?
- Elektrikçi, bazılarında hat sonunda “dirençler” olduğunu söylüyor. Bunlar ne işe yarar ve sökmem gerekir mi?
Bir kapı döngüsünü multimetre ile ölçtüm: kapı kapalıyken yaklaşık 2.2k ohm, kapı açıkken açık devre.
Hi everyone, sorry if this is the wrong place, I’m pretty new to all of this.
We took over a building that had an old monitored security system. The monitoring contract is cancelled and the panel is being removed, but all the sensors are still in the walls: about 14 magnetic door contacts and 6 motion detectors (PIRs) on the ground floor. Each one has a 4-wire cable going back to the panel closet. Some of the door ones only have 2 wires used.
My idea is to keep the sensors and put an ESP32 in the closet instead of the panel, so I can see in Hermetry which doors are open after hours and get an alarm. I already have one ESP32 sending a temperature to Hermetry over MQTT (copied from the getting started guide), so the sending part works.
What I don’t understand:
- how do I wire a door contact to the ESP32? Is it just a switch?
- the PIRs say 12VDC on the label. Can the ESP32 power them?
- the electrician says there are “resistors at the end of the line” on some of them. What are those for and do I need to remove them?
I measured one door loop with a multimeter: about 2.2k ohms with the door closed, open circuit with the door open.
Yapay zekâ tarafından English dilinden çevrildi ·
Bunun devamı olarak, iki otelimizde de aynı artık sensörlere sahibiz.
Following this, we have the same leftover sensors in two of our hotels.
Yapay zekâ tarafından English dilinden çevrildi ·
Kapı kontakları basit reed anahtarlarıdır, evet. PIR’ler ESP32’den çalışmaz, kendi 12 V beslemesine ihtiyaç duyar. PIR çıkışlarının röle kontağı mı yoksa open collector mı olduğunu biliyor musunuz? Genellikle bu bilgi kapağın içindeki karttaki yazılıdır.
Door contacts are plain reed switches, yes. The PIRs will not run from the ESP32, they need their own 12 V supply. Do you know if the PIR outputs are relay contacts or open collector? It’s usually written on the board inside the cover.
Yapay zekâ tarafından English dilinden çevrildi ·
Birini açtım. İki terminalin yanında “ALARM N.C. RELAY”, diğer iki terminalin yanında ise “TAMPER” yazıyor. Model DSC LC-100.
Opened one up. It says “ALARM N.C. RELAY” next to two of the terminals and “TAMPER” next to two others. Model is a DSC LC-100.
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.
Yapay zekâ tarafından English dilinden çevrildi ·
Küçük bir ek: kapı çakılırsa üç değişiklik art arda gönderilmesin diye reed anahtarlarını firmware içinde debounce edin (20-50 ms).
Small add: debounce the reed switches in firmware (20-50 ms) or a slammed door will send three changes in a row.
Yapay zekâ tarafından English dilinden çevrildi ·
^ evet. Ayrıca açılış (boot) işlevi olmayan GPIO pinlerini kullanın; bu yüzden döngüler için 0, 2, 12 ve 15 numaralı pinlerden kaçının.
^ yes. And use GPIO pins that have no boot role, so avoid 0, 2, 12 and 15 for the loops.
Yapay zekâ tarafından English dilinden çevrildi ·
Bir test tezgâhında 4 kapı ve 1 PIR ile çalışır hale getirdim. 1. seçeneği, yani dijital girişleri tercih ettim ve kapı açıkken kart açılmayı reddettiği için bir hattı GPIO 12’den taşıdım; tam da uyardığınız durum buydu. Şimdi 0/1 gönderiyorum ve grafik doğru görünüyor. Kalanlar için bir MCP23017 sipariş ediyorum. Herkese teşekkürler!
Got it working on a test bench with 4 doors and 1 PIR. I went with option 1, digital inputs, and moved one loop off GPIO 12 after the board refused to boot with the door open, which is exactly what you warned about. Sending 0/1 now and the chart looks right. Ordering an MCP23017 for the rest. Thanks all!
- 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.

