• Ovládání Smart Home z telefonu je moje zkušenost. EasyHome - ovládání chytré domácnosti z iOS, Android, Windows

    Není to tak dávno, co byl představen Z-Wave modul pro Raspberry Pi - RaZBerry, který promění minipočítač v plnohodnotný ovladač chytrý domov. Síť Z-Wave je spravována pomocí webového rozhraní pomocí HTTP/JavaScript API. Pomocí JavaScriptu můžete vytvořit sadu funkcí pro automatizaci (zapnutí/vypnutí světla, kontrola teploty, dotazování snímače pohybu atd.), které lze následně provést odesláním HTTP požadavku.

    Stejnojmenný produkt OpenRemote umožňuje vytvářet mobilní aplikace pro chytrou domácnost bez programování, přičemž lze používat v jedné aplikaci různé technologie: Z-Wave, KNX, X10, ZigBee, ovládání počítače přes ssh atd.

    OpenRemote je server, který provádí libovolné příkazy a tvůrce rozhraní, ve kterém vytváříte tlačítka, přepínače, popisky atd. a těmto prvkům již přiřazujete příkazy, v našem případě je to HTTP požadavky k provedení Funkce JavaScriptu na serveru Z-Wave.

    Dále vám krok za krokem řeknu, jak vytvořit ovládací panel chytré domácnosti pro iPhone a Android! A takto bude naše aplikace vypadat, až skončíme:

    Pod řezem je spousta obrázků.

    1. Vytvoření sítě Z-Wave pomocí ovladače Raspberry Pi + RaZberry

    • Instalace softwaru RaZberry na Raspberry Pi
    • Přidání Z-Wave zařízení
    • Kontrola provozu zařízení
    2. Instalace ovladače OpenRemote a mobilní aplikace

    3. Tvorba návrhu aplikace a logika její práce

    • Vývoj designu
    • Přiřazení tlačítek k příkazům
    4. Pokračovat

    Vytvoření sítě Z-Wave pomocí ovladače Raspberry + RaZberry

    RaZberry je deska připojená k Raspberry Pi přes GPIO, která vám umožňuje vytvářet a spravovat Z-Wave síť. Pro lepší pochopení si přečtěte FAQ. Deska je dodávána se softwarem, který je třeba nainstalovat.

    Instalace softwaru RaZberry na Raspberry

    Instalační program podporuje pouze distribuce založené na Debianu (Raspbian, Xbian atd.), nicméně handles lze nainstalovat na OpenElec a další operační systémy.
    Spusťte příkaz pro instalaci softwaru Z-Way:
    wget -q -O - http://razberry.z-wave.me/install | sudo bash
    Po instalaci nezapomeňte restartovat Raspberry Pi, aby se změny projevily na sériovém portu.

    Chcete-li se dostat k ovládacímu panelu chytré domácnosti, přejděte na adresu http://IP_OF_YOUR_RASPBERRY:8083. Rozhraní programu je velmi jednoduché, není těžké mu porozumět, existuje dokumentace. Prohlížeče mají maximální kompatibilitu s rozhraním: Chrome, Safari, Firefox, ostatní prohlížeče: IE, Opera nemusí fungovat správně.

    Přidání Z-Wave zařízení

    Pojďme definovat seznam použitého zařízení:
    - Relé Fibaro Single Switch 3kW 2 ks.
    - Dveřní/okenní čidlo otevření a teploty Fibaro Door/Window Sensor 1ks.

    Vyberte ze spodní nabídky Expertní režim. Používáním horní menu přejděte na kartu Síť → Správa sítě a stiskněte Zapněte (znovu) zařízení, tím se zahájí proces čekání na zapnutí zařízení do sítě, nyní stiskněte třikrát servisní tlačítko na zařízení, aby to ovladač viděl a přidal.

    Kontrola provozu zařízení

    Ujistěte se, že zařízení funguje. Přejděte na kartu Nastavení zařízení, klikněte na nově přidané zařízení v levém sloupci a zaškrtněte Fáze pohovoru, mělo by Rozhovor dopadl dobře a mezi znaménky plus by neměly být žádné tečky a zakov Ø.

    Pokud rozhovor není dokončen (jsou na něm tečky a znaménka Ø), můžete jej zopakovat. Chcete-li to provést, klikněte v dolní části obrazovky na Další akce → Vynutit opakování rozhovoru(Pro zobrazení této nabídky musí být povolen režim Expert).
    Po úspěšně dokončeném rozhovoru na stejné záložce Nastavení zařízení můžete nakonfigurovat některá nastavení zařízení (nezapomeňte použít nastavení pomocí tlačítka Použít nastavení na toto zařízení ve spodní části obrazovky a také probudit zařízení, pokud je napájeno bateriemi):

    Chcete-li zařízení spravovat, přejděte na kartu Správa zařízení → Přepínače

    O poskytnutém Automation API

    Poté, co jsme se ujistili, že všechna zařízení fungují správně, se je nyní pokusíme ovládat na dálku. Existuje několik způsobů:

    1. Použití HTTP/JSON API
    2. Použití JavaScript API

    HTTP/JSON API používá pro správu zařízení jednoduchou syntaxi.
    Světlo můžete zapnout z prohlížeče:
    http://192.168.1.113:8083/ZWaveAPI/Run/devices.instances.SwitchBinary.Set(255)
    Nebo požádejte o teplotu:
    http://192.168.1.113:8083/ZWaveAPI/Run/devices.instances.commandClasses.data.val.value
    JavaScript API umožňuje psát různé automatizační skripty, například: zapnout / vypnout světlo, dotazovat se senzoru, získat teplotu, vypnout světlo 2 minuty po jeho zapnutí. Tyto skripty mohou fungovat buď samostatně (např.: v noci se světlo rozsvítí jen o 15 %, aby neoslepovaly oči), nebo je lze volat na dálku pomocí HTTP/JSON API.

    Zapnout světelný skript:
    SwitchOn = function(N,I) ( zway.devices[N].instances[I].SwitchBinary.Set(255); )
    Volání skriptu pro zapnutí světla:
    Přímý přístup k zařízením pomocí HTTP/JSON API z OpenRemote je bohužel problematický z několika důvodů:

    1. Znaky musí být zakódovány do UTF-8 v OpenRemote Constructor
    2. Při dotazování senzorů OpenRemote očekává „on“ nebo „off“ a Z-Wave senzory mohou poslat 255 nebo 0.
    3. Pro každé zařízení budete muset napsat svůj vlastní požadavek a pomocí JS můžete použít pouze jednu funkci pro povolení různá zařízení, v požadavku změní pouze parametr funkce - číslo zařízení.

    Při použití JavaScript API všechny tyto problémy zmizí – pár „pomocných“ funkcí pomůže převést Z-Wave termíny do konceptů, které jsou vhodné pro OpenRemote.
    Více o syntaxi HTTP/JSON API a JavaScript API si můžete přečíst v nedávném .

    Vytváření JS skriptů pro vzdálené ovládání

    JS skripty jsou in /opt/z-way-server/automation/, vytvořte soubor, který bude ukládat naše automatizační funkce openremote.js takže se automaticky načte, když je povolena Z-Way, na konci hlavního souboru automatizace main.js přidat:
    // ================================================= ===== executeFile(automationRoot + "/" + "tags.js"); executeFile(automationRoot + "/" + "openremote.js"); spustit automatizaci();
    /opt/z-way-server/automation/openremote.js
    // Zapnutí zařízení SwitchOn = function(N,I) ( zway.devices[N].instances[I].SwitchBinary.Set(255); ) // Vypnutí zařízení SwitchOff = function(N,I) ( zway.devices[ N].instances[I].SwitchBinary.Set(0); ) // Požadavek na stav senzoru (spuštěno/nespuštěno) SensorStatus = function(N,I) ( return zway.devices[N].instances [I]. SensorBinary.data.level.value; ) // Požadavek na stav zařízení (povoleno/zakázáno) SwitchStatus = function(N,I) ( return zway.devices[N].instances[I].SwitchBinary.data. level.value; ) // Dotaz na teplotu zaokrouhlený na celé číslo Temperature = function(N,I) ( return Math.round(zway.devices[N].instances[I].commandClasses.data.val.value); )

    Parametr N je číslo zařízení v síti.
    Parametr I - uvnitř jednoho zařízení může být fyzicky několik zařízení (kanálů), například 2 relé nebo teplotní čidlo, pohybové čidlo, světelné čidlo. Parametr I je číslo kanálu v rámci zařízení. Pokud zařízení obsahuje pouze jeden fyzické zařízení, pak je tento parametr 0.

    Po vytvoření souboru musíte restartovat Z-Way příkazem:
    /etc/init.d/Z-Way restart
    nebo načtěte skript ručně odesláním požadavku z prohlížeče:
    http://192.168.1.113:8083/JS/Run/executeFile("automation/openremote.js")
    Funkčnost funkcí můžete zkontrolovat z prohlížeče.
    Chcete-li zapnout světlo:
    http://192.168.1.113:8083/JS/Run/SwitchOn(6.0)
    Požadavek na teplotu:
    http://192.168.1.113:8083/JS/Run/Temperature(8,2)
    Protokol serveru Z-Way hodně pomáhá při ladění:
    tail -f /var/log/z-way-server.log
    Pokud vše funguje, přejděte k dalšímu kroku!

    Instalace ovladače OpenRemote

    Ovladač OpenRemote je server, který přijímá příkazy z mobilní nebo webové aplikace a poté je vysílá do jiného ovladače nebo serveru. V našem případě se jedná o Z-Way server.

    Web OpenRemote má velmi podrobné pokyny na instalaci, kterou navrhuji použít:
    Oficiální pokyny pro instalaci OpenRemote v angličtině

    Poznamenám pouze, že OpenRemote je napsán v Javě a potřebujeme verzi virtuální stroj s podporou hardwaru s pohyblivou řádovou čárkou:
    JAVA pro procesory ARM s podporou pohyblivé řádové čárky

    Nainstalujte mobilní aplikace pro váš telefon:
    Mobilní aplikace OpenRemote

    Než začnete vyvíjet aplikaci, pro lepší pochopení se podívejte, jak bude fungovat:

    Tvorba designu aplikace a logika její práce

    Všechny předchozí kroky byly jen přípravou na to hlavní – vytvoření mobilní aplikace!
    Otevřete Cloud Designer http://designer.openremote.org . Nebude těžké na to přijít!

    Vývoj designu

    Pojďme k vývoji designu.

    1. Klepněte na kartu Návrhář uživatelského rozhraní a vytvořte nový panel, pojmenujte jej například iPhone4.

    2. Přetáhněte tlačítka a obrázky z pravého panelu do Obrazovka iPhone.

    3. Ve vlastnostech obrázku (pravý panel) načtěte obrázky a pomocí polí Vlevo, Vpravo, Šířka, Výška je uspořádejte na obrazovce podle potřeby. Nahrál jsem obrázky čtverce a žárovky, přidal jsem také nápis.

    Tvorba řídicích povelů a senzorů

    Nyní je potřeba tlačítkům přiřadit příkazy a obrázek žárovky by se měl měnit v závislosti na stavu světla (zapnuto/vypnuto).

    1. Přejděte na kartu a vytvořte nové zařízení, pojmenujte jej například Raspberry.

    2. Vyberte nově vytvořené zařízení Raspberry a vytvořte pro něj nový příkaz Nový → Nový příkaz. Výběr protokolu HTTP, zadejte URL JS příkazy a sada metod POŠTA.
    Tento příkaz zapne zařízení #6. Podobně vytváříme příkazy pro zapnutí dalších zařízení a vypnutí příkazů.
    http://192.168.1.113:8083/JS/Run/SwitchOn(6.0)

    3. Nyní musíte vytvořit příkaz pro dotazování stavu světla. Tento příkaz bude volán každé 2 sekundy, takže pokud ručně vypnete světlo, okamžitě se to v naší aplikaci projeví. Jako obvykle Nový → Nový příkaz, ale navíc musíte určit, jak často se má průzkum provádět Průzkum, sada 2s, dopis s Požadované.

    4. Vytvořme Sensor, který bude zpracovávat přijaté hodnoty z tohoto příkazu a přenášet je na obrázek nebo štítek. Nový → Nový senzor, vyberte příkaz, který senzor vykoná, nastavte typ Zvyk, přidejte dva stavy na A vypnuto, spojte je s návratovými hodnotami Z-Wave.

    Přiřazení tlačítek k příkazům

    1. Poslední fáze vývoje aplikace, spojení tlačítek s příkazy. Vraťte se k návrháři aplikace Návrhář uživatelského rozhraní, vyberte své tlačítko a v jeho vlastnostech nastavte příkaz, který má provést.

    2. Spojte obrázek se snímačem tak, aby se při změně stavu zařízení změnil i obrázek v aplikaci. Vyberte snímek a nastavte senzor v jeho vlastnostech.

    3. Ve vlastnostech snímku vyberte, který snímek se zobrazí, pokud snímač odešle na a co kdyby senzor odeslal vypnuto.

    Synchronizace s mobilní aplikací

    1. Naše aplikace je připravena, zbývá ji pouze nahrát do telefonu. Přejděte na adresu ovladače OpenRemote 17. ledna 2016 v 18:52

    Řízení Chytrý domov na telefonu - moje zkušenost

    • Chytrý dům,
    • DIY nebo DIY

    Dnes si již nelze představit chytrý dům bez ovládání mobilní zařízení. Když jsem právě začínal svůj epos s chytrým domem, možnost ovládání z telefonu byla jednou z hlavních, a abych byl úplně upřímný, v mém seznamu odpovědí „proč je to vůbec potřeba?“ ovládání z mobilních zařízení bylo na prvním místě.

    Je tedy čas začít s integrací s mobilními zařízeními.

    První verze mobilní rozhraní pro můj chytrý dům byl vytvořen pomocí Iridium Mobile. S využitím své oficiální pozice jsem získal demo licenci pro Iridium Mobile pro moje mobilní zařízení a proces začal. Důvod, proč jsem si vybral Iridium Mobile, není jen kvůli bezplatným demo licencím, ale také proto, že podporuje protokol Modbus a to vám umožňuje připojit se přímo k ovladači bez dalších triků.

    Ve svém PLC jsem vytvořil modul Mobdus Slave se vstupními a výstupními registry a napsal synchronizační blok a následně jsem načrtl jednoduché rozhraní v prostředí iridium.

    To se nedá říct grafický editor velmi pohodlné, ale přišel jsem na to dostatečně rychle a první rozhraní pro můj chytrý dům bylo hotové asi za hodinu. Musím říct, že tam je spousta příležitostí a viděl jsem velmi krásná řešení vyrobená na iridiu - klimatizace, ovládání světelných scénářů, sip-intercom, integrace s mediálním centrem atd. Můj úkol byl ale mnohem jednodušší – ovládat světlo, takže jsem ani neprozkoumal všechny možnosti.

    Na své mobilní zařízení si musíte nainstalovat aplikaci i2 Control. Je zdarma, ale abyste do něj mohli nahrát vytvořený projekt, musíte si zakoupit licence. V mém případě to byly bezplatné demo licence.

    Takto vypadalo rozhraní mé chytré domácnosti v aplikaci i2 Control na iPhonu. Nainstaloval jsem aplikaci na všechna mobilní zařízení dostupná v rodině a pak jsem narazil na první problém. Když pracujete na notebooku, ale není po ruce žádný telefon, bylo by pohodlnější ovládat světlo přímo z notebooku.

    Můžete to udělat na Iridium Mobile, ale musíte nainstalovat program i2 Control pro Mac (nebo pro Windows) a připojit licenci. Zaprvé mi došly bezplatné demo licence a zadruhé spustit program pouze pro rozsvícení nebo zhasnutí světla není příliš pohodlné. Se stejným úspěchem mohu přejít přes vzdálenou plochu na server, kde obvykle neustále běží CoDeSys s vizualizací. Ve skutečnosti jsem se přistihl, že to dělám častěji než spouštění speciální aplikace v telefonu nebo tabletu.


    Vizualizace v CoDeSys. Bohužel moje verze PLC (programovatelná logický ovladač, na kterém je postaven můj chytrý dům) nemá vestavěný webový server – jinak by se úkol vyřešil mnohem snadněji.

    Odmítl jsem nainstalovat i2 Control na svůj Mac a spokojil jsem se pouze s ovládáním z telefonu a tabletu.

    Po nějaké době se objevil druhý problém. Spuštění aplikace i2 Control trvá poměrně dlouho na dlouhou dobu. Například na mém iPhonu 6 se spustí asi za 9 sekund. Pravděpodobně, pokud by úkolem bylo ovládat centrum médií, pak by tato doba byla přijatelná - dokud nenajdete všechna dálková ovládání, zapnete všechna zařízení, nastavíte požadovanou kombinaci, pak samozřejmě uplyne více času. K ovládání světla se však těchto 9 sekund ukázalo jako nepřijatelně dlouhých a často jsem raději vstal a zhasl světlo, než abych spustil aplikaci (nyní byl uvolněn server Iridium, který tento problém teoreticky řeší, ale Stále se mi to nedaří vyzkoušet).

    Žít s chytrou domácností a neovládat ji z telefonu bylo nějak špatně a tak jsem se rozhodl osedlat ještě jeden pokus. Myšlenka byla tato - zřídit webový server na domácím severu a přenést veškerou kontrolu na webovou stránku. Přátelé radili Node JS - říkají, módní a slibná platforma, a protože mi bylo jedno, co studovat (nic jsem nevěděl), rozhodl jsem se pro Node JS. Jediné, co jsem nechtěl, bylo rozumět HTML, tak jsem si objednal frontend od freelancera a na Githubu jsem našel knihovnu pro práci v Modbusu a velmi rychle (sám se divím) svůj plán splnil.

    Takto nyní vypadá rozhraní mého chytrého domova na Iphone. Rozhraní je citlivé, takže vypadá dobře na jakémkoli zařízení. Například na mém macbooku to vypadá takto:

    Na ploše iPhonu jsem udělal odkaz na tuto stránku, která se načítá celkem rychle 1-3 sekundy. Také jsem si to uložil do záložek v prohlížečích a nyní je ovládání světla vždy po ruce. Node JS server také hraje roli mezi PLC (smart home controller) a z-wave controllerem, který se používá k bezdrátovému ovládání různých lamp (o tom budu mluvit v budoucnu).

    Tradičně na závěr pro a proti rozhodnutí.

    Klady: Rychle reagující rozhraní, které funguje na jakémkoli zařízení, cena (platil jsem pouze za vývoj frontonu).

    mínusy: Potřeba programování. A pokud je přidávání přepínačů docela jednoduché (např. před Novým rokem jsem přidal ovládání vánočního stromečku), tak třeba rozhraní do mediacentra je celý a velký projekt.

    Ovládání chytré domácnosti pomocí chytrých telefonů Android

    Koncept „Smart Home“ připravil speciální místo pro mobilní technologie. Tento slibný směr nebyl donedávna příliš využíván, spíše se považoval za exkluzivní. Nyní se však situace radikálně změnila, bylo možné ovládat „chytrý dům“ pomocí chytrých telefonů nebo tabletů, které využívají platformu Android. Díky tomu můžete mít vždy u sebe mobilní ovládací zařízení, které je určeno pro organizaci připojení k internetu, obchodní záznamy, hovory a další funkce. Otevřený bezdrátový protokol umožnil ovládat dům pomocí tabletu s operačním systémem Android, jelikož má přístup ke spotřebičům a zařízením umístěným v domě a připojeným k elektrické síti.

    Oddělte předchozí pokusy o vybavení Spotřebiče automatizace, nemohl obdařit dům nebo byt inteligencí. Nyní běžný smartphone nebo tablet, se může stát univerzální dálkové ovládání dálkové ovládání, díky kterému bude možné jak vypnout na pokojích, tak zapnout televizi nebo kávovar. Uvedené funkce však zdaleka nejsou všemi možnostmi systému. Mít mobilní konzoli je považováno za hotovou platformu pro jakoukoli aplikaci, která dokáže nejen sledovat produkty ve vaší lednici, ale také efektivně řídit spotřebu. elektrická energie, vytápění, což se nutně projeví na úsporách rodinný rozpočet. Samotný smartphone s platformou Android je spojovacím článkem komunikace mezi majitelem a „chytrou domácností“. Díky úrovni pokrytí mobilní komunikací nebude snadné zůstat v kontaktu se svým bytem, ​​a to i ve velké vzdálenosti od něj.

    V současné době se vyrábějí speciální zařízení, která umožňují integraci různých „chytrých“ prvků domu. Samotný proces ovládání probíhá přes snadno srozumitelné rozhraní pomocí chytrého telefonu nebo tabletu. K tomuto účelu můžete využít nejen chytrý telefon, ale i konzoli operačního systému Android. V inteligentní síti lze kombinovat zcela odlišné skupiny zařízení: větrání, vytápění, vodovodní systémy, stejně jako řídicí systém pro závěsy, dveře, elektrické osvětlení atd. Aplikace nainstalovaná v telefonu dokáže odrážet spotřebu elektřiny v domě, stav bezpečnostního systému a klima v domě. Dokáže rozpoznat konkrétní nouzové situace v domácnosti (únik plynu nebo vody, požáry, outsidery do domu) a včas poslat signál - záchranné službě, policii nebo e-mailem. Při dodržení bezpečnostních opatření lze komunikaci provádět pomocí šifrovaného spojení (stejně jako u transakcí, kdy finanční transakce). Děje se tak pouze za účelem zamezení připojení neoprávněných osob ke správě domu.

    V nedávné době byla vydána nová platforma Android Home, jejímž hlavním účelem je sjednotit všechna zařízení systému „smart home“. Tento operační systém se velmi intenzivně rozvíjí a již dnes poskytuje velké možnosti pro decentralizaci správy systému „chytré domácnosti“ pomocí mobilních zařízení na bázi OS Android.

    Nyní můžete ovládat svůj televizor satelitní přijímač, pračka, stmívače v domě a lampy pomocí jakéhokoli zařízení založeného na platformě Android. Tato zařízení a podsystémy jsou ovládány přes internetové připojení, což z mobilního zařízení dělá univerzální dálkové ovládání, které umožňuje řídit procesy v domě odkudkoli na světě. Kromě správy systémů v domácnosti nabízí vývojář OS Android, světově proslulá společnost Google, integraci systému pro více místností se zábavními službami od Google. To umožňuje distribuovat zábavní mediální obsah velmi vysokou rychlostí, což uživatelům umožňuje vychutnat si oblíbenou hudbu nebo sledovat legendární film přímo z internetu. Integrace těchto funkcí do systému multiroom umožňuje využívat tyto služby téměř kdekoli v domácnosti.

    Koncepce budování systému „chytrého domu“ na základě platformy Android je navržen tak, aby usnadnil správu systému pomocí jakéhokoli mobilního zařízení se stejným operačním systémem. Když už mluvíme o analogech, Z-Wave nebo ZigBee, rád bych poznamenal, že jsou vhodné pro správu systému zabezpečení nebo klimatizace, ale s decentralizovaným řízením zábavních systémů, systém Android zatímco neexistují žádní důstojní konkurenti.

    Vadim Balashov, iOS vývojář z mobilního týmu Mail.Ru, webu řekl, jak ve svém bytě vytvořil „chytrý dům“ a vyvinul aplikaci pro hodinky a robota pro Telegram pro ovládání systému zařízení.

    Něco málo o zásuvkách

    Moje žena ráda všechno odpojí. Když odejde, všechno vytáhne a pak se vrátím domů a dám to zpátky. Nelíbí se mi to líbí. Zkoušel jsem různé věci: ptal se, přesvědčoval, přesvědčoval, vyhrožoval – nic nepomáhalo. A pak jsem se rozhodl, že potřebuji najít high-tech způsob, jak konflikt vyřešit – nějak přepnout zásuvky, abych nemusel fyzicky vytahovat zástrčky v celém bytě.

    No, je tam páječka, ruce taky. Začal jsem přemýšlet o realizaci, ale hned se vyrojila spousta otázek. Jaký ovladač například použít k ovládání? Měl jsem zkušenosti s programováním řady AVR regulátorů Atmel. Vše vypadá celkem jednoduše: relé, tranzistor pro odpojení a ovládání jednoho pinu ovladače.

    Byly dva úkoly. Za prvé musí být regulátor a relé napájeny a za druhé musí být regulátor ovládán. Byly tři možnosti jídla.

    • Nejjednodušší způsob je použití baterií. Ale baterie se vybijí, budou se muset vyměnit, a to je nepohodlné.
    • Umístěte měniče od 220 do 5 voltů přímo vedle regulátoru v každé zásuvce. Metoda je vynikající, ale nenašel jsem hotové kompaktní převodníky a nechtěl jsem se s převodníkem obtěžovat sám. Ano, a bála jsem se zaneřádit a vypálit byt.
    • Ke každé zásuvce připojte externí napájení.

    Úkol ovládání regulátoru spadal do dvou základních způsobů: ovládání rádiem a ovládání po drátě. Kabelová varianta vypadá jednodušeji, ale opět vyžaduje připojení kabelu ke každé zásuvce. Rozhodl jsem se, že až budu dělat příští opravu, tak to předem předvídám a do každé zásuvky přivedu drát, např. UTP 5. kategorie. Zatím ale bylo potřeba se vypořádat se stávajícími nesouvisejícími zásuvkami.

    Poslední věc, která mě nakonec přiměla vývoj opustit vlastní systém management „testuje na živých“. Bylo by nutné odladit drobné chyby architektury a firmwaru přímo za provozu, což by samozřejmě vyvolalo nespokojenost mezi ostatními.

    Začal jsem hledat dostupné připravené systémy, na kterém by bylo možné postavit „chytrý dům“. Okamžitě jsem se rozhodl, že komunikace modulů by měla být bezdrátová. Zbývá vybrat technologii. Nejprve byly dvě možnosti – Wi-Fi a Bluetooth. Jsou velmi běžné, existuje pro ně mnoho hotových řešení.

    Wi-Fi pracující na frekvenci 2,4 GHz ale není z hlediska sítě příliš pohodlné. Vysoké šíření a nedostatek regulace při instalaci přístupových bodů činí tuto frekvenci velmi hlučnou. Chtěl bych mít víceméně stabilní systém, aby přepínání zásuvek neviselo, když sousedův router funguje.

    To se ukázalo jako největší problém. Mnohem hrozivějším nepřítelem Wi-Fi je mikrovlnná trouba. Magnetron mé mikrovlnky vysílá vlny na frekvenci 2,45 GHz - když se zapne, nic kolem nefunguje. Streamování zhasne bluetooth audio, streamování videa přes Wi-Fi vypadne, soubory se nestahují, stránky se neotevírají. A nezáleží na tom, jaký design má vaše mikrovlnná trouba, vestavná nebo volně stojící – bude jakkoli překážet. Proto od Využití Wi-Fi a Bluetooth jsem také odmítl.

    Z-Wave

    Začal jsem zkoumat, jaká jiná řešení existují. Například ZigBee má několik frekvenčních standardů: existuje 2,4 GHz a kolem 1 MHz. Pak jsem ale narazil na článek na Habrahabr, který hovořil o Z-Wave. dojem. Základní moduly Z-Wave nyní vyrábějí pouze dvě společnosti na světě – Sigma a Mitsumi. Jeho rozměry jsou asi centimetr na centimetr. Ve skutečnosti se jedná o mikrokontrolér s transceiverem. Dá se i přeflashovat, ale nejčastěji se v hotové podobě montuje na desku, je k ní připojen UART a funguje jako transceiver.

    Všechna zařízení, která chtějí získat odznak Z-Wave Compatible, musí být certifikována. Platforma je uzavřená, což poskytuje určitou výhodu z hlediska kompatibility. Pro srovnání, Bluetooth řešení pro domácnosti je na trhu spousta a téměř všechna nejsou vzájemně kompatibilní. A všechna zařízení Z-Wave jsou kompatibilní – díky jedinému uzavřenému standardu, který se přesto vyvíjí. K dispozici je placené SDK, stojí asi 2000 $. Pokud se chystáte pájet jednu věc doma, je to drahé. A pokud máte v úmyslu nastavit výrobu 2 tisíc zařízení, dostanete za každé jen dolarový rozdíl - vůbec to není špatné.

    Komunikační dosah standardu Z-Wave je asi 30 metrů. Jednou z jeho výhod je, že zařízení jsou uspořádána v mesh síti (mesh) a téměř každý modul má směrovací tabulku. Po zachycení signálu každý modul ví, zda jej má předat nebo ne. To znamená, že téměř každý modul je také opakovač. "Téměř" - protože v Z-Wave jsou "spící" zařízení, která se neúčastní přenosu. Taková zařízení jsou obvykle napájena bateriemi a v případě potřeby komunikují.

    Aby si vaše síť nespletla sousedovu síť se svou vlastní, používá se token vygenerovaný pro každý hlavní ovladač. V rámci sítě je hlavní ovladač a periferie. Při první instalaci řadič vygeneruje svůj vlastní token, po kterém dojde k navázání: jakékoli výkonné zařízení se nejprve naváže na řadič, zapamatuje si svůj token a poté je zařízení připojeno k síti.

    Amazon prodává tuny Z-Wave zařízení. Jsou zde moduly zabudované do zásuvky a vypínače, jsou zde moduly pro vybudování zabezpečovacího systému. Zámky, sirény, osvětlení, detektory kouře, detektory úniku vody, co si jen vzpomenete. Dokonce jsem našel automatické krmítko pro kočky.

    Pokud jde o pracovní frekvenci, pohybuje se v oblasti 900 kHz. Tato frekvence není otevřena všem zemím světa, pro každou zemi je potřeba mít certifikaci a získat povolení k používání této technologie, takže nosné frekvence se v různých zemích mírně liší. V Evropě je frekvence 868,42 MHz, v Rusku - 869,0 MHz, v USA a Kanadě - 908,42 MHz, v Hong Kongu - 919,82 MHz, v Austrálii - 921,42 MHz.

    Pokud si koupíte modul, který je vyroben pro Evropu, můžete jej programově přenést na ruskou frekvenci. Stejně tak můžete programově přepínat frekvence zařízení vyrobených pro Hong Kong a Austrálii. A tady americká zařízení nepřepínejte. Existují tedy tři kategorie identických zařízení a je třeba věnovat pozornost tomu, pro jaký region jsou vyrobeny. Je nepravděpodobné, že se setkáte s Hongkongem a Austrálií, takže se podívejte pouze na USA, Rusko a Evropu.

    Při budování mesh sítě používáme režim průzkumníka Rám: Všechna zařízení jsou "tichá", ovladač začne skenovat síť a zařízení začnou postupně reagovat. Existuje druh volání, kdy si každé zařízení vytvoří svou vlastní směrovací tabulku. Například se doporučuje zapnout tento režim po přeuspořádání nábytku: je možné, že přesunutá skříň začala stínit signál mezi některými zařízeními, ale otevřela prostor mezi ostatními.

    Předpokládá se, že standard poskytuje stabilní provoz na vzdálenost 30 metrů v otevřených prostorech a až 10 metrů v bytech. Samozřejmě vzdálenost stabilního spojení mezi moduly umístěnými v zásuvkových výklencích bude ještě menší, ale díky routování vše funguje celkem stabilně.

    Nyní pojďme mluvit o komerčních kontrolérech. Dvě nejběžnější značky jsou Fibaro a Vera. Fibaro má řadu - Home Center a Home Center Light. Vera má také dvě řady ovladačů, jeden je dražší, druhý levnější. Všechny podporují základní sady pravidel a celkem snadno to uděláte tak, že při zapnutí jednoho zařízení se aktivuje další a po chvíli se vypne nebo udělá něco jiného. Pokud ale potřebujete implementovat složitější chování, musíte se naprogramovat sami. Použitý jazyk je Lua.

    Existuje třetí, méně běžná značka - Zipabox, ale tyto ovladače, soudě podle popisu, nepodporují pokročilou automatizaci. Zipabox je však zajímavý tím, že má rozšiřující moduly, které do sebe zapadají jako konstruktér.

    My si ale nyní povíme o jiném projektu souvisejícím s Raspberry Pi. Jedná se o komunitní projekt, který se rozhodl vyrobit co nejlevnější hardware. Dnes se Raspberry Pi prodává za asi 4 000 rublů. Na Amazonu si můžete koupit za 50 dolarů, při současném kurzu je to téměř jeden a půlkrát levnější. Raspberry Pi vyvolává webový server s uživatelské rozhraní, pro které můžete napsat automatizaci v JS. Jako "hardware" je použita rozšiřující deska RaZberry, která vypadá takto:


    A zde je příklad rozhraní ovládacího panelu s názvem Z-Way. Zobrazuje se v prohlížeči, funguje dobře na tabletech.


    Zde je příklad nastavení. Můžete vidět, kde všechna zařízení v kterou chvíli pracují, zkontrolovat konektivitu, zobrazit směrovací tabulku a tak dále.



    Jednou z výhod Z-Way je, že projekt je otevřený, zde je odkaz na GitHub. Vývojářský tým „s kanceláří na internetu“, jak sami píší, je roztroušený rozdílné země: Rusko, Německo, Švýcarsko. Rozhraní lze zdarma stáhnout z GitHubu, pokud si přejete, můžete si něco přestavět sami. A to vše je perfektně spravováno z admin panelu.

    Řízení

    Začal jsem přemýšlet, jak více implementovat pohodlné ovládání než z počítače přes panel administrátora. Dnes existují aplikace pro Android a iOS a před dvěma lety nechal oficiální klient pro Android mnoho přání: Stále jsem nechápal, jak se používá. Nalezeno, nakonfigurováno, připojeno, ale nelze použít. V té době jsem byl adept Windows telefon, pod kterým nebyl žádný klient. „Na koleně,“ napsal si klient pro sebe – když spínače nebyly synchronizované, manželka se na mě obrátila o pomoc.

    Před rokem, v únoru až březnu 2015, Pebble zahájil sbírku na vytvoření nová verze hodin - Pebble Time. Projekt jsem podpořil a v říjnu už jsem měl hodiny k dispozici. Říkal jsem si, že je skvělá věc ovládat „chytrou domácnost“. Přeci jen ne vždy mám telefon v kapse, doma ho jen tak někam odložím a hodinky mám většinou na ruce. Navíc Pebble na rozdíl od hodinek na Android Wear resp Apple Watch, se připojuje jak k iPhone (který jsem v té době používal), tak k telefonům Android.

    Oblázek


    Pebble má spoustu výhod. Jednak fungují celý týden na jedno nabití. Uživatelé Apple Watch tuto bolest znají, když potřebujete večer hledat náboj. Na obrazovce Pebble se navíc vždy zobrazuje čas, protože je založen na barevném elektronickém inkoustu. K dispozici je podpora dvou hlavních operačních systémů. Hodinky jsou voděodolné. A také mají hardwarový port. Spojují se „chytré“ popruhy, které si můžete vyrobit sami (podrobný popis je na webu Pebble).

    Za všechno se ale musí platit. Hodinky nemají dotykový displej, pro ovládání - čtyři tlačítka. Ale nemusíte se pořád ptát. Dotyková obrazovka, díky kterému hodinky fungují tak dlouho bez dobíjení. Druhý nedostatek - displej zobrazuje 64 barev.

    Pebble je poháněn operačním systémem založeným na OpenRTOS. Aplikace pro hodinky jsou jako webové aplikace. Frontend běží na hodinkách a je napsán v C, zatímco backend běží na telefonu a je napsán v JavaScriptu. Vývojáři webových aplikací jsou nyní zděšeni: kde jste to viděli, front-end v C a back-end v JS?

    Ale to se dá snadno vysvětlit: C, jako nejkompaktnější jazyk pro kompilaci, je velmi vhodný pro vytváření vestavěných aplikací a výhodou JS je, že funguje stejně dobře na iPhone i Androidu. JS běží uvnitř telefonu a poskytuje rozhraní pro přístup k internetu a GPS. Samotné hodinky mají vestavěný akcelerometr, gyroskop a buzola, to je základní sada"žláza".

    Nakonec jsem napsal aplikaci pro ovládání systému chytré domácnosti. Nejprve pro Nejnovější verze hodin a poté implementovala podporu pro úplně první model Pebble – s černobílou obrazovkou.


    Nastavení se provádí ve formě HTML stránky. Pro vývoj Pebble se doporučuje používat Slate Frontend Framework. Stránka musí být umístěna na webu, což je samo o sobě zvláštní, protože bez připojení k internetu nelze nic nastavit.

    Poté, co jsem aplikaci napsal, dal jsem ji do oficiálního obchodu s aplikacemi a zapomněl jsem na ni. Nainstalovalo si to 40 lidí a začal jsem dostávat zpětnou vazbu. Dlouho jsem v C neprogramoval a s hrůzou si vzpomněl, že alokaci paměti – a co je ještě horší, uvolnění paměti – je třeba řešit ručně. V první verzi jsem tedy vytvořil statické pole pro osm zařízení, která jsem měl, a vše mi doma fungovalo skvěle.

    Ale v sítích s více než osmi zařízeními to samozřejmě nefungovalo. A první odpověď byla z Dánska: "Je možné udělat víc?" Samozřejmě jsem řekl, že je to možné a během jednoho večera jsem aplikaci přeložil do dynamická pole. Soudruh byl šťastný, ale ne na dlouho.

    Ukázalo se, že má asi 54 logických zařízení - přepínačů a senzorů a jeden fyzický modul může být více logických zařízení najednou. Například mám doma senzor, který současně hlídá pohyb, teplotu, vlhkost a světlo a v systému je vidět jako čtyři senzory. A Dán má více než 50 zařízení a stěžoval si, že aby mohl něco vypnout, musel velmi dlouho listovat celým seznamem na hodinkách.

    Přemýšlel jsem přesně jeden večer a přišel jsem na jednu věc. V administračním panelu Z-Way můžete na zařízení zavěsit štítky a rozhodl jsem se jednoduše přidat štítek Pebble a v nastavení hodinek zadat režim, kdy se na obrazovce zobrazují pouze zařízení označená tímto štítkem. Uživatel si vybere, která zařízení chce vidět. Kamarád napsal, že to bylo prostě skvělé: teď má pět zařízení, která ovládá přímo z hodinek.

    Pak mi o problému napsal jiný uživatel mého programu. Aplikace dovedně zobrazovala senzory, ale uměla ovládat pouze spínače, navíc spínače typu „Zapnuto“ / „Vypnuto“. Existuje však mnoho dalších ovladatelných zařízení - například stmívače, u kterých lze nastavit hodnoty od 0% do 100%. Nebo RGB moduly, na kterých si můžete nastavit libovolnou barvu.

    Souhlasil jsem s přidáním podpory podobná zařízení, ale požádal o zaslání struktury své sítě, aby viděl, jak vypadají naživo. Poslal to, koukal jsem - vypadají cool, ale není jasné, co s tím. Dostal jsem se do nastavení a zjistil, že v Z-Way jsou virtuální zařízení. Takové zařízení lze nastavit na typ, například víceúrovňový spínač, a změní se na virtuální stmívač.


    Nic neřídí, ale předstírá, že je stmívač. Ale proč "nic"? Řídí se sám. Mohu nastavit hodnotu z hodin a zobrazí mi ji na palubní desce. To mi stačilo k implementaci podpory pro stmívače.

    Pak jsem si vzal RGB. Jedná se o ovládání LED pásků, které mohou zobrazit libovolnou barvu. RGB osvětlení bylo zavedeno do standardu Z-Wave nedávno, takže zpočátku vypadalo jako tři stmívače v systému. To znamená, že všechna zařízení hlásila, že jsou to tři stmívače a bylo možné samostatně ovládat červený, zelený a modrý kanál. Pro pohodlné ovládání se starými zařízeními moderní systémy vedení virtuální zařízení RGB osvětlení, které lze nastavit na tři stmívače.


    Protože již víme, jak definovat Dummy Dimmer, můžeme vytvořit Dummy RGB. To také fungovalo dobře, ale ještě jsem neimplementoval podporu správy barev - poslal jsem „zákazníkovi“ pouze ovládání stmívače. A pro něj jsem právě nastavil podporu černobílých hodin.

    Virtuální zařízení

    V čem ještě spočívá síla virtuálních zařízení v Z-Wave? Vezměme si virtuální HTTP zařízení a řekněme, že máte jakékoli jiné zařízení, které není kompatibilní se standardem Z-Wave, ale je řízeno pomocí HTTP požadavků.


    Poté napíšeme HTTP požadavek na zapnutí: adresu, která se má stáhnout, požadavek na vypnutí a požadavek na získání stavu zařízení. S největší pravděpodobností zařízení, které nepodporuje Z-Wave, nepodporuje ani odezvu On/Off.

    Pro jeho podporu můžete zadat Inline JavaScript, který převede odpověď z vašeho zařízení na Zapnuto nebo Vypnuto. A mít virtuální zařízení, pak si můžeme dělat, co chceme. Například do tohoto systému integrujte jakékoli zařízení založené na ovladačích ESP8266. To znamená, že uděláme tři konce, na které může zařízení reagovat, a pak libovolné páskování.

    Scény

    Toto je sada stavů logického zařízení. Scénu nelze zapnout ani vypnout – lze ji pouze aktivovat. Udělal jsem například scénu Pryč, kterou aktivuji, když odcházím z domu. Zhasne světlo v koupelně a na WC, vypne zásuvky v koupelně a v kuchyni. Aktivace scény Pryč vypne vše řízené v mém domě. Mám také scénu zezadu. Zapne dvě zásuvky zpět, ale ne světlo: když se vrátíte, zapnete ho, když ho potřebujete.

    Existuje nápad nainstalovat mechanizované ventily a při odchodu z domu uzavřít vodu jedním kliknutím. Ventily jsou poměrně drahé, ale zatopení sousedů může být ještě dražší. Opět jsou zde autonomní snímače úniku. Dejte je do koupelny, na toaletu, do kuchyně – a v případě úniku se ventily automaticky uzavřou.

    A poslední. Z-Way na hodinkách je dobrý, ale ovládat je můžete jen doma. Pokud chcete spravovat zvenčí, můžete vytvořit robota pro Telegram. Mám jednoduchý: pošlou mu příkaz Světlo, on se ptá: "Kde?" - a zobrazuje ikony toalety a koupelny. Vyberete si místo, on se zeptá: "Co dělat?" - a ukazuje svítící žárovka a černá. Vybereš černou a on říká: "OK, světlo v koupelně nesvítí."

    Závěr

    Tato vášeň pro „chytrý dům“ se mi stala v přílivech. V určité chvíli jsem se pro ten nápad nadchl, objednal moduly, postavil jeden, který ovládal pouze světlo na záchodě a v koupelně. Objednal jsem si i čidlo pohybu, teploty a vlhkosti. Pověsil jsem to v koupelně a udělal chladnou automatizaci: světlo na záchodě se automaticky vypne po 15 minutách, pokud jste ho zapomněli zhasnout, a světlo v koupelně se rozsvítí u vchodu pomocí pohybového senzoru a zhasne po 15 minut. Všechno je v pohodě – až na to, že se s tím nedá žít. Ukázalo se, že 15 minut na záchodě je vlastně málo, zvlášť když je tam dobře chytaná Wi-Fi. A chytá dobře. Prodloužení čekací doby nepomohlo, tak jsem tuto automatiku prozatím vypnul a objednal další pohybové čidlo.

    Automatizace v koupelně je jednoduchá: vejdete dovnitř – světlo se rozsvítí, zhasnete – zhasne. Komfortní. Ale zpočátku jsem to moc dobře nenastavil: pohybový senzor byl u vchodu, a když vejdete do sprchy a zatáhnete závěs, nevidí vás a po 15 minutách světlo zhasne. Je třeba roztáhnout závěs, mávnout rukou a zatáhnout závěs. Problém byl vyřešen přemístěním senzoru doprostřed koupelny tak, aby reagoval na pohyb na obou stranách závěsu.

    Co je to pojem „chytrý“ dům? V jakémkoli obchodě domácí přístroje můžete vidět televizory se Smart TV, vysavače, split systémy atd. Pro pohodlné použití vývojáři chytrých zařízení nabízejí speciální dálkové ovladače. Tato zařízení mají výhody i nevýhody. Proto se nedávno objevily gadgety pro převod signálů Bluetooth z mobilních zařízení na Android do formátu srozumitelného domácím zařízením - IR dekodéry.

    Sledování takových gadgetů v Google Play Začaly se objevovat aplikace pro Android pro ovládání domácnosti. Zde je nejvíce populární aplikace pro Android, výměna dálkového ovládání:

    Dálkové ovládání pro TV

    Komfortní virtuální dálkové ovládání k ovládání televizoru. Nejsou zde žádná tlačítka navíc, základní sada obsahuje ovládání hlasitosti a volbu kanálu. Pracuje ve 3 režimech: běžný infračervený, "IR-Blaster" a obecný wifi síť.

    Výhody programu: tři možnosti připojení k televizoru; jednoduché rozhraní; podpora mnoha modelů „chytrých“ televizních systémů.

    Dálkové ovládání smartphonu

    Jedná se o univerzální dálkový ovladač televizoru s funkcí Smart TV. Princip fungování je podobný jako u dálkového ovládání pro TV. K dispozici jsou základní tlačítka pro ovládání hlasitosti a výběr televizních kanálů. K dispozici je sada základních funkcí (přepnutí do 3D režimu, vyvolání seznamu kanálů a přidání do oblíbených). Nechybí podpora pro infračervené nebo Wi-Fi sítě. Mezi velké plusy patří chybějící platba za aplikaci.

    Klady: velmi přehledné rozhraní; podpora WiFi a IR připojení, bezplatná aplikace.

    Univerzální dálkový ovladač TV

    Velmi podobné předchozí aplikace svými funkcemi. Jediným rozdílem je pohodlnější umístění na virtuálním ovladači, jako na běžném ovladači, takže si na rozhraní rychleji zvyknete. Nechybí ani podpora infraportu, Wi-Fi, přímé připojení při zadání IP adresy.

    mínusy:žádné zjevné výhody.

    Dálkové ovládání Pro

    Univerzální dálkový ovladač pro Android smartphone nebo tablet. Opět nechybí podpora ovládání přes Wi-Fi síť a infraport. Velmi snadná obsluha, může také přímo navázat kontakt místní Wi-Fi síť. Rozdíl je v nejpohodlnějším designu rozhraní, diskrétním rozsahu a pohodlném rozložení tlačítek.

    Výhody aplikace: Wi-Fi, infračervený port pro připojení; uživatelsky přívětivý design rozhraní.

    Univerzální dálkový ovladač Galaxy

    Univerzální dálkový ovladač pro všechny druhy domácích spotřebičů, ale pouze s infračerveným portem. Tato aplikace funguje pouze se zařízeními, která podporují infračervené ovládání. Zná protokoly většiny TV modelů, DVD přehrávačů, klimatizací, to je obrovská výhoda oproti jiným programům.

    Nastavení nevyžaduje speciální dovednosti. Jediné, co potřebujete, je vybrat typ a značku gadgetu z poskytnutého seznamu.

    Klady: schopnost vytvářet předvolby; podporovat nejen televizi, ale také různé domácí spotřebiče; velký seznam podporovaných značek.

    mínusy:žádná demo verze, aplikace je placená.

    Zde je video, které pokračuje v tématu dálkového ovládání a dalších programů pro ovládání chytré domácnosti: