Automatizace domu

Nedaří se vám s projektem a nenašli jste vhodné místo, kde se zeptat? Napište sem.
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
MichalCzEJ
Příspěvky: 17
Registrován: 03 bře 2018, 21:38
Reputation: 0

Automatizace domu

Příspěvek od MichalCzEJ » 17 črc 2018, 18:23

Zdravím, již přes rok mám rozpracované něco na způsob inteligentího domu (Světla, počítače, teploty, topení....). Celé rozhraní si dělám sám. Webovky, propojení ESP8266 / 32 -> Raspberry -> VPS.. Vše je přes Python v RPi pomocí UDP / TCP (záleží na důležitosti informace). Poté zkompilovaný python skript do EXE a ten ve windows a druhý na linuxu (dual boot), tím bych si ovládal i PC, aby se třeba vypínal v dobu co si nastavím, zapnul na dálku kvůli vzdálené ploše a mnoho dalšího.

Teď ale otázka na Vás:
Řeším, zda projekt dát na VPS nebo nechat na RPi.
Pokud bude na RPi, tak bude hrát roli životnost karty, když bude na VPS zase hraje roli, když vypadne doma internet (což je jednou za několik měsíců).

Celé to funguje přes webovku -> uloží do txt -> python skript přečte hodnoty -> pošle UDP / TCP.
Kdyby to bylo na VPS tak webovky na VPS -> uloží do databáze / txt -> z toho si to přečte python skript na RPi a uloží do proměnné -> pošle UDP / TCP na ESPčko.

Ovšem chci to skoro 1:1 webovky na RPi : VPS.
Takže jen řeším, zda to celé bude ležet na VPS nebo na RPi a jde mi hlavně o to, zda tolik řešit životnost SD karty a přístup k internetu.

Nemám doma veřejnou IP, takže musím využít VPS pro "přístup" z internetu do mého systému.

Poté je tu ještě jedna věc a to teplota, když budu chtít historii teploty, tak to chci určitě házet na MySQL na VPS.
Grafy na RPi bych udělal tak, že by si PHP při generování stránky stáhlo celou historii z MySQL a z toho vykreslilo graf, takže to moc neřeším.

Fakt mám hrozné dilema, jak tohle vyřešit.
Doufám, že mi poradíte a předem díky za rady!

martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Re: Automatizace domu

Příspěvek od martinius96 » 17 črc 2018, 18:43

Ja všetky podobné projekty umiestňujem na web. Tá nedostupnosť sa dá vyriešiť rôznymi spôsobmi.. Keď som riešil napríklad vykurovanie, tak som si vždy stiahol hysterézu, cieľovú teplotu (referenčnú). A riadil som to tak, ako sa to riadilo aj podľa internetu, trebars tou automatikou +-0,5°C pre hysterézu. Ak som riešil napríklad ovládanie závlahy a vypadol by internet, tak by sa skúšala doska opätovne pripojiť 5 krát. Ak sa to nepodarilo, všetky výstupy vypla a 5 minút čakala. Postup sa potom opakoval a výstupy boli vypnuté, ak sa nadviazalo spojenie s webom, okamžite sa doska synchronizovala s webom.

Čo sa týkalo vyčítavania stavov ZAP/VYP tiež používam .txt súbory, sú najľahšie na vyčítanie informácie. Teda ak budeš riešiť ovládanie výstupov, ktoré sa budú meniť často, tak by som Rpi vynechal. Trebars.. Predstav si, že budeš chcieť pristupovať aj z vonku a vypadne ti internet. Na Rpi sa nedostaneš. Keď to ale budeš mať na internete na webe, tak budeš vedieť kedy prišlo k výpadku (podľa dátumu poslednej zmeny .txt súboru), aké boli posledné hodnoty, aké boli stavy pre výstupy atď.

Na všetko používam web na internete :D na freehostingu. Jednak mám priamo pri tom databázu, za prevádzku neplatím nič, a čo potrebujem sa dá celkom ľahko cez PHP urobiť. Web používam ako priamy prostredník medzi mnou a mikrokontrolérom Arduino/NodeMCU/ESP32.

MichalCzEJ
Příspěvky: 17
Registrován: 03 bře 2018, 21:38
Reputation: 0

Re: Automatizace domu

Příspěvek od MichalCzEJ » 17 črc 2018, 19:09

Zrovna tvoje projekty sleduji :D Taky mám pár free hostingů, kde jsem tohle zkoušel zprovoznit, ale nakonec jsem se na to vykašlal a vše jsem si sám udělal na VPS, kde můžu dělat doslova co chci, běží mi na tom totiž Debian 9. Jenže ono třeba taková blbost, ale když nebude dostupné VPS, kvůli čemukoliv, tak jsem doslova v pr..., protože světlo nezapnu, nebo stolní lampu, protože vše je řešeno přes ESP a relé, není u toho žádný vypínač. A takové světlo přepnu za den kolikrát i více jak 100 krát (On / Off). Takže prostě RPi zátěž docela vysoká by byla.

Vše bude stavěno na tom, že WiFi router bude doma vždy aktivní, pokud ne, tak se začne ESP restartovat. Protože jediný výpadek routeru je tehdy, když elektřina vypadne, což vypadnou i všechna zařízení, takže to je docela chytře ošetřeno.

Jedná se o maturitní práci, takže mě napadá buď se vykašlat na světla a řešit jen vše ostatní, nebo si udělat propracovaný systém vypínač -> světlo, které budou komunikovat mezi sebou a posílat info na VPS, takže vypínač pokud se zmáčkne, tak se pošle na VPS On / Off, to samé se pošle na světlo, pokud náhodou nebude přístup k VPS, tak se vypínač stejně doručí On / Off na světlo a VPS už je ztracené, protože neví stav světla, až při dalším zapnutí by se dozvěděl a pokud by někdo na webovce chtěl podívat, zda světlo svítí nebo ne, tak se nedozví jeho aktuální stav. A je přece blbost, abych po přípojení stáhl stav světla z VPS, to by se mi třeba samo ve 3 hodiny ráno zapnulo světlo, protože takový stav byl naposledy na VPS před výpadkem... :D A VPS samo nemůže požádat světlo o stav, protože nemá přístup do mé lokální sítě kvůli NATu u poskytovatele. Je to zapeklitá situace :D

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Automatizace domu

Příspěvek od pavel1tu » 17 črc 2018, 21:33

Já co se "řízení domu" naopak vše dělám doma. (řídím zatím minimum - akvarko, zalévání, meteostanici, otvírání mikroventilace podle CO2, alarm, kamery). Už z důvodu jak možnosti výpadku internetu, tak bezpečnosti - součástí je i domácí alarm.
Vše sbírám na WWW server a ukládám do databáze MariaDB. Vůbec není problém část dat přeposílat na hosting ven, nebo mobil. Zvenčí mám přístup jen po VPN, plánuji zálohu napájení NAS + routeru + switche malou UPS - něco malého, levného.

První pokus byl s RBpi+Raspbian Server, ale se starým SSD, na který jsem koupil rámeček s USB2 - byl jsem spokojený ale bylo to moc jednoúčelové.
Druhý a doposud používaný je WWW server na stařičkém NAS Synology DS211j + zloha dat (PC, mobily, multimediální centrum)

Jelikož řeším i kam ukládat zálohy kamer, budu pořizovat výkonější model + zálohu přístupu po GSM síti.

NIC neřeším doma po WIFi !!! Mimo jedné staré kamery - ale ta půjde pryč.

Nyní pro kamaráda řeším kompletní oddělení řízení domácnosti a alarmu od domácí sítě pomocí VLAN - on se instalací podobných věcí, ale profi živí.

PS: Pokud chceš nějaké detaily, není problém, ale dost věcí mi dělalo a programovalo několik kamarádů (WWW stránky, VPN klienta na BB a Android, propojení HoMe modulů do centrály po 485)
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

MichalCzEJ
Příspěvky: 17
Registrován: 03 bře 2018, 21:38
Reputation: 0

Re: Automatizace domu

Příspěvek od MichalCzEJ » 17 črc 2018, 22:01

No problém je, že doma nemám žádný NAS, či nějaký server, takže vše řeším přes malinu. O tom alarmu jsem taky přemýšlel, ale to nechám, až vyřeším všechny tyhle problémy. Nejhorší na tom je, že SD karta nesnese furt přepisování. VPN jsem taky chtěl, kvůli zákazu přístupu na různé weby, ale nakonec jsem to hodil na VPS a byl klid.

Já momentálně vše řeším přes WiFi, protože nemám možnost všude tahat kabely, ale zatím jsem zjistil, že mám 100% dostupnost zařízení přes wifi, i když prochází 4 zdmi na dálku asi 10m, což je pro mě plně dostačující (chápu, že kvůli alarmu se musí tahat kabely, protože pak by stačila obyčejná rušička signálu a je celý alarm v háji).

Doma mám taky Switch s možností tvorby VLAN, ale zatím jsem neměl potřebu nic oddělovat. Já se síťařinou zatím prohrabuji na škole, zatím jen 2 Cisco certifikáty.

Kdyby jsi měl čas a ukázal by jsi mi třeba WWW stránky pro inspiraci, byl bych velice rád :)

Uživatelský avatar
gilhad
Příspěvky: 779
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: Automatizace domu

Příspěvek od gilhad » 17 črc 2018, 23:14

NAT snadno prostrelis, pokud napr. domaci zarizeni posle na webserver vyplneny form (a data jdou z domu ven) a stahne si vyslednou "webovou stranku" (data jdou dovnitr). Pokud tohle bude delat domaci zarizeni pravidelne, tak mu de-fakto server muze pravidelne posilat zcela cokoli prez desatero NATu.

Pokud bude domaci zarizeni posilat svuj (kompletni) stav serveru, tak kdyz bude spojeni, tak server bude vedet, jak na tom domaci zarizeni je a v odpovedi mu posle dalsi prislusny pozadavek (a zarizeni muze potvrdit prijeti. Pokud se zarizeni vcas neozve, server vi, ze ma spojeni vypadek.

Rozhodne bych chytry dum delal tak, ze alespon jedno ridici centrum by bylo "doma" - uz jen pro pripad, ze bagrista prekopne internetovy kabel (nebo nedojde mesicni platba, nebo do serverovny natece voda/uderi blesk/vyhori/vybere ji policie, protoze na nejakem z jinych serveru si nejaci teroristi udelali doupe a policie bude chtit vsechny dukazy, ne jen nahodne hadat, kde to doupe jeste je a kde neni.

Nadrizeny "mozek" muze byt klidne na serveru, ale pokud neni spojeni, dum musi byt schopny fungovat z vnitrnich zdroju. (A kdyz nejde proud, stejne musis byt schopny otevrit/zavrit dvere az pujdes pro opravare ...)

(Ostatne si myslim, ze kazda potrebna automatika musi mit rucni override pro necekane pripady - logicka chyba v programu na (hacknutelnem)serveru (kazdy je hacknutelny) nesmi mit vyssi prava nez vlastnik stojici fyzicky u zarizeni - takze moje "automaty" budou zcela jiste mit nejake mechanicke prepinace ON/OFF/automatika - ktere sice budou bezne v modu automatika, ale pokud je rucne prepnu, tak zarizeni bez ptani se proste vykona.)

MichalCzEJ
Příspěvky: 17
Registrován: 03 bře 2018, 21:38
Reputation: 0

Re: Automatizace domu

Příspěvek od MichalCzEJ » 18 črc 2018, 00:39

Ten NAT se dá prostřelit snadno, to vím. No bude posílat jen pár hodnot, které můžou být jen On / Off a nebo On / Off / Lock (u PC).

No to je výborný nápad s tím rozdělit to, asi to udělám tak, že světla budou v RPi uložená v RAM a u PC je mi to v podstatě jedno, že to bude na nějakém vzdáleném serveru, protože wake on lan bude stejně posílat asi RPi, případně mám i mechanické tlačítko na PC a po startu můžu klidně ten skript ihned vypnout.

Vypínač bude tak, že to bude pravděpodobně sonoff touch (možná dual), a ten bude fungovat stejně jako mechanický vypínač, ale s tím, že ho můžu zmáčknout tzn. vzdáleně. Pokud mě někdo "hackne", tak stačí vypojit RPi a světla budou fungovat, akorát jen mechanicky a PC taky, jediné co tam budu posílat na VPS a uchovávat bude asi teplota, vlhkost atd.., ale to bude chodit úplně mimo RPi, takže to mi zas tak vadit nebude. Mě šlo především o to, jak ty světla a PC vyřešit, to jsou 2 nejdůležitější věci. Topení beru jen teploty, protože máme Čerpadlo voda - vzduch, takže to jede celé automaticky, jen mě zajímá teplota vstupu / výstupu.

Proti smazání aktuálního osvětlení proměnných v pythonu asi nijak neošetřím, že před výpadkem to někam uložím, takže tam asi přihodím powerbanku a vydrží to třeba na takovou 20 000 mAh i několik dní, což takový výpadek nikdy nebyl, ale náhoda je svin*.

Automatizované je momentálně jen vypínaní PC, kvůli např. sledování filmu / zamknutí PC, když se můj telefon odpojí od WiFi a zapnutí, když RPi objeví můj telefon připojující k sítí mezi 12 - 18 hodinou Po-Pá, tak vyšle Wake-On-Lan, protože jsem se vrátil domů. A vypínání PC budu vždy nastavovat na lokální síti, takže tím se vlastně i vyřeší nutnost rvát tohle na VPS. Takže na VPS momentálně budu mít asi jen teploty a pravděpodobné osvětlení, nebo Zapnutí / Vypnutí či zamknutí PC.

Wau, strašně moc díky, konečně jsem to nějak roztřídil :D Tohle přesně jsem potřeboval. Kdyby někdo přišel ještě s nějakým návrhem, určitě se ozvěte.

Uživatelský avatar
gilhad
Příspěvky: 779
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: Automatizace domu

Příspěvek od gilhad » 18 črc 2018, 07:07

Ono je obecne dobre, pokud se nadrizeny umi zeptat podrizeneho na jeho stav a tento umi odpovedet. A kdekoli mas pristupny procesor, tak tak by se me snazit sam kontaktovat "jednou za cas" nadrizene a rict jim, jak na tom je, pri jakemokli nesouladu s ulozenou informaci pak vis, ze ti zlobi komunikace (a mozna by to chtelo udelat dotazovaci kolecko na vsechny podrizene) a zaroven vis, ze podrizeny zije a funguje, pokud se ozyva.

A casto je lepsi hloupa otazka, ktera ukaze na problem, nez spravna odpoved na spatne polozenou otazku :)

V podstate kazde "chytre" zarizeni by melo hlasit "nastartoval jsem"/"byl jsem rucne zapnut/vypnut/prepnut do stavu X"/ "periodicky hlasim, ze jsem zapnut/vypnut/ve stavu X"/"potrvrzuju prevzeti prikazu Y a muj soucasny stav je Z"/"vypinam se" a kazdy nadrizeny by mel kontrolovat zda ma komunikaci celou, zda se neco nerestartuje moc casto, nema vypadky v pravidelnych hlasenich a zda neni neco prepinano prilis casto (lampu rucne neprepnes 3x za sekundu - pokud to hlasi, ma blby kontakt ....)

Takze logika v kazdem stupni je minimalne dvoji - jedna se tyka proste funkce, druha sleduje statistiky, zda se neco nedeje v necekamen poradi/moc casto/zridka ...

A samozrejme pocitej s tim, ze kazda komunikace je nespolehliva a muze mit vypadky a nedojit, nebo dojit "zmrsena", aspon jednoduchy kontrolni soucet nikdy neuskodi a stejne jako obcasny dotaz "je vsechno v poradku?"

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Automatizace domu

Příspěvek od pavel1tu » 18 črc 2018, 09:25

No, mne spíše udivuje, že se nějaké zapínání žárovky bere jako "Automatizace domu".

Automatizace domu komunikuje s jednotlivými systémy pro řízení topení, výměny vzduchu, rekuperace, řízení solárního systému atd.
Předávají se tak maximálně hodnoty které jsou požadovány.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

MichalCzEJ
Příspěvky: 17
Registrován: 03 bře 2018, 21:38
Reputation: 0

Re: Automatizace domu

Příspěvek od MichalCzEJ » 18 črc 2018, 12:34

Ten nadřízený bude v tomhle případě RPi a bude pomocí pingu zjišťovat, jestli zařízení žije, to mi prozatím stačí, vše pak bude propojené s led páskem a pokud se cokoliv stane, tak led pásek ukáže stav (je to 8 ledek WS2812FX), takže např. nepůjde internet = Modrá barva na pásku, vypadne důležité zařízení = Červená barva....

Ta automatizace to vše bude následovat, vše je teprve v začátcích :) Zatím beru jako takovou malou automatizaci jen to zapínání PC, kterým chci odzkoušet, jak bude spolehlivé zapínání počítače při příchodu domů.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 25 hostů