Loyiha · Aqlli xona · Xavfsizlik
Butun xonani kuzatadigan bitta panel
Toʻrt arzon detal xonani toʻliq yopadi: DHT22 — iqlim, PIR — harakat, MQ-2 — gaz va tutun, 2 kanalli rele — chiroq va ventilyator. Bitta ESP32 ularni trevoga zanjiri bilan xavfsizlik paneliga bogʻlaydi — beyj, zummer, jurnal, avto-shamollatish — hammasi chip oʻzi beradigan dashboarddan boshqariladi.
Detallar va ularning injiqliklari
| Detal | Vazifa | Bilish kerak |
|---|---|---|
| DHT22 | harorat + namlik | 2 soniyada bitta oʻqish, bir simli protokol |
| PIR (HC-SR501) | harakat | chiqishni retrigger oynasi davomida ushlaydi |
| MQ-2 | gaz / tutun | qizish va nusxaga kalibrovka kerak |
| Rele 2ch | chiroq + ventilyator | opto-platalar 5 V istaydi; IN polyarligini tekshiring |
| Zummer | lokal trevoga | aktiviga GPIO high yetarli |
Trevoga zanjiri — spagetti emas, prioritetlar
Panelda bitta status bor va gaz doim yutadi: GAS! > Motion > All clear. Gaz zummerni yoqadi, shamollatish uchun ventilyatorni majburan ishga tushiradi va hodisani yozadi; harakat shunchaki beyjni almashtiradi va jurnalga tushadi. Butun prioritet mantigʻi — besh qator:
// Alarm chain: gas beats motion; the buzzer follows the gas state, fan auto-vents.
bool gasBad = gas > 350; // real: calibrate to your MQ-2
if (gasBad && roomState != 2 && evlog) evlog->print("GAS/SMOKE - venting");
roomState = gasBad ? 2 : (motion ? 1 : 0);
alarmOut = gasBad;
if (gasBad) fan = true; // auto-vent on gas
// PIR: the module holds its output ~3 s per trigger — treat it as a window.
motion = millis() < motionUntil; Dashboard
Ikki sahifa: Room (koʻrsatkichlar + status + jurnal) va Control (chiroq,
ventilyator, trevoga). dht22 va mq2 presetlari vidjet va diapazonlarni
oʻzi tanlaydi:
dash.layout("Room", RICON_HOME);
dash.sensor("dht22", &temp, &hum); // temp gauge + humidity metric
dash.sensor("mq2", &gas); // smoke/LPG gauge with the right range
dash.badge("Status", &roomState).labels("All clear", "Motion", "GAS!");
dash.led("Motion", &motion); // PIR state, live
evlog = &dash.log("Events", 6);
dash.layout("Control", RICON_BULB);
dash.toggle("Light", &light); // relay channel 1
dash.toggle("Fan", &fan); // relay channel 2
dash.led("Alarm", &alarmOut); // buzzer output
dash.beginAP("RisalDash-Room", "12345678"); Kutubxonadagi namuna (examples/04_Templates/RoomMonitor) temirsiz ishlaydi — fake MQ-2 vaqti-vaqti bilan «tutun hidlaydi», PIR tasodifiy ishlaydi va butun zanjir koʻrinadi: beyj → zummer → jurnal → ventilyator. Keyin haqiqiy detallarni ulab, fake’larni olib tashlaysiz. Har bir vidjet ayni paytda MCP-tool: AI-agent «xonada kim bor?» deb soʻraydi yoki ventilyatorni yoqadi — bu AI-agent patterni.
Turdosh yigʻilmalar
Faqat qoʻriqlash kerakmi? MotionSecurity shabloni zonalar va qoʻriqlashga qoʻyishni qoʻshadi. Faqat gazmi? GasSafety — MQ-2 + MQ-7 trip-indikatorlar bilan. Butun kvartira? SmartHome xuddi shu patternni sahna va xonalarga kengaytiradi — bu panel ularning bitta xona uchun siqilgan varianti.
Trevoga zanjirini bugun fake’larda koʻring — xonani dam olishda ulaysiz.