Myšlenku nic neprogramovat a použít nějaký existující systém jsem byl nucen opustit…
Co by to mělo umět:
- Světla (zapínání/vypínání, intenzita), asi s nějakou návazností na pohybová čidla a detekci světla venku.
- Sběr dat ze senzorů (teplota, spotřeba energií apod.)
- Ovládání věcí obecně s nějakou předpřípravou na obvyklé situace (brány, závory, dveře atd.)
- Alarmy a ostraha (jsem doma a nic to nemá hlásit, jsem doma, ale mělo by to na mne pípat, jsem pryč a pokud se něco stane, je to poplach).
Nějaké základní body, co by to mělo splňovat, jsou:
- Musí se to dát jednoduše definovat. Nejsem si jistý, jestli to vůbec jde, asi to bude chtít nějaké metodiky a příklady, jinak bude normální člověk ztracený.
- Ovládání by mělo fungovat pokud možno automaticky, případně používat v maximální míře fyzické ovladače. Fakt nechci kvůli zapnutí kdejaké blbosti vytahovat mobil a něco na něm dělat.
Trochu jsem to nastudoval a mám nějaké základní stavební kameny:
- Zařízení - věci, které něco hlásí nebo ovládají (teploměr, zásuvka, relé, tlačítko, žárovka apod.). Může to být cokoliv a ani to nemusí fyzicky existovat - třeba skript někde na serveru, který něco dělá. Nemá smysl o tom přemýšlet jako o HW.
- Skupiny - můžu ta zařízení dávat do skupin, abych těch šest žárovek na stropě mohl případně ovládat jedním příkazem a ne šesti.
- Scény - nastavení parametrů několika zařízení (zapnuto/vypnuto, jas žárovky apod.). Mám jednací místnost se světly na stropě a žaluziemi a nachystám si scény den (žaluzie nahoře, světla vypnutá), večer (žaluzie dole, světla na 80%) a prezentace (žaluzie dole, světla na 20%), a můžu to jednoduše přepínat.
- Sestavy - můžu si nadefinovat nějakou virtuální věc a říkat, co se má stát, když se stane něco. Ten pojem je nečitelný, ale to vyplyne.
- Časování - na základě času by to mělo něco dělat. Musí to umět “relativní” údaje jako pracovní/nepracovní den, úsvit / soumrak apod.
Většina problémů, které tady jsou, nesouvisí s technickou stránkou věci - to funguje a v podstatě není co řešit. Zkusím to popsat tady na budově a bráně na parkoviště.
- Je tady klasická brána, která je buď manuálním módu (přepíná se ručně mezi otevřeno / zavřeno) nebo automatickém módu (je zavřená, někdo něco zmáčkne, brána se otevře a po projetí auta nebo nějakém čase se sama zavře).
- Je tady závora (těsně za bránou) - funguje úplně stejně jako brána.
- Základní myšlenka je, že v pracovní době bude brána otevřená (manuální režim) a závora bude v automatickém režimu. Důvodem je, že otvírání brány trvá dlouho a navíc její časté otvírání/zavírání opotřebovává motor a převodovku. V nepracovní době to bude naopak, závora bude zdvižená a brána pojede v automatickém režimu.
- Praxe ukázala, že je potřeba vědět, jestli je brána i závora fyzicky otevřená, zavřená, v pohybu nebo zaseklá někde mezi. Bez toho to nebude pořádně fungovat.
- Je tu stále živá myšlenka otevírat to automaticky na základě registrační značky vozidla (SPZ). To se ukázalo jako složitější, protože kamera zabírá i kus cesty a skáčou tam značky kolem jedoucích aut. Experimety s čidly přítomnosti nikam moc nevedou - buď to registruje kde co (radar), nebo to má problémy s deštěm, sněhem, sluncem apod. (ultrazvuk, laser). Spolehlivá by byla indukční smyčka pod asfaltem, ale to je nereálné. Asi to skončí lepším umístěním kamery a možná v kombinaci s analýzou obrazu (to funguje překvapivě dobře).
Celé se to dá uskutečnit relativně snadno:
- Jsou tady Zařízení, která to spínají (relé) a detekují požadavek na otevření (RFID čtečka ve sloupku, GSM modul pro otevření voláním, tlačítko pro restauraci kam jezdí dodavaté atd.)
- Nadefinují se Sestavy Brána a Závora, kde se “pospojují” relátka a otevírací zařízení (RFID, telefon, tlačítko).
- Vytvoří se scény:
- Závora, tj. ta pracovní doba, kdy závora jede v automatu, brána je otevřená v manuálním módu a je zakázaná (tj. nereaguje na nic).
- Brána - nepracovní doba, tj. opak scény Závora.
- Otevřeno - jak brána, tak i závora jsou v manuálním režimu a jsou otevřené.
- Nastaví se nějaké časování, aby se ty scény samy přepínaly.
Tohle by asi mohlo pěkně fungovat, nicméně to otvírá nějaké otázky.
Automatické přepínání je fajn, ale na 100% bude potřeba to přepínat i ručně obsluhou. To se dá vyřešit nějakým radio buttonem, ať už na obrazovce, nebo fyzickým (nějaký zigbee ovladač, případně nějaká odolná věc s klasickými tango tlačítky apod.). Otázka je, co se stane s tím automatickým časovým přepínáním, když to někdo zmáčkne. Asi by tam mohl být nějaký timeout (15 minut, hodina?), případně na obrazovce my tam mohly být nějaké pull-down menu s předvybranými intervaly. Ale bude to složité - fakt ta obsluha něco takového bude chtít? A co když pět minut před koncem pracovní doby přepnu na Otevřeno - samo se to za těch pět minut přepne na Brána?
Další problém je, co se stane když někdo vezme ovladač, co byl k bráně, a zmáčkne ho. Ta brána se asi zavře (nebo otevře) - ale jak se to celé má potom zachovat? Teoreticky to jde vyřešit odebráním takových “nesystémových” ovladačů - ale pořád je tam (nouzový) zámek, který něco podobného umožňuje taky.
Taky je na zamyšlení, co dělat během otvírání / zavírání brány (když to jede) - v manuálním režimu to jde sepnutím relátka zastavit a dalším sepnutím pustit v obráceném směru. Má to smysl nějak řešit, nebo to prostě celé zablokovat, dokud to nedojede. A nevím, jak se to zachová, když někdo proběhne - to se bude muset nějak testovat, ale opět je otázka, co potom s tím.
Asi jsem na dost věcí zapomněl. Podobné problémy jako u brány jsou u dalších věcí - třeba u těch žaluzií (obecně asi všude, kde se kombinuje automatika a ruční ovládání).
Berte to jenom jako nějaký zmatený úvod do diskuze.