{"id":55356,"date":"2020-01-18T00:00:00","date_gmt":"2020-01-17T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/lytko-obedinyaet"},"modified":"2020-02-18T14:03:28","modified_gmt":"2020-02-18T11:03:28","slug":"lytko-obedinyaet","status":"publish","type":"post","link":"https:\/\/prohoster.info\/lv\/blog\/news\/lytko-obedinyaet","title":{"rendered":"Lytko apvieno","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Pirms k\u0101da laika m\u0113s jums prezent\u0113j\u0101m <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/474420\/\">gudro termostatu<\/a><\/noindex>. \u0160is raksts s\u0101kotn\u0113ji tika dom\u0101ts k\u0101 t\u0101 programmat\u016bras un vad\u012bbas sist\u0113mas demonstr\u0101cija. Ta\u010du, lai izskaidrotu termostata darb\u012bbas lo\u0123iku un to, ko m\u0113s esam \u012bstenoju\u0161i, nepiecie\u0161ams skaidri izkl\u0101st\u012bt visu koncepciju kopum\u0101.<\/p>\n<p><img decoding=\"async\" alt=\"Lytko apvieno\" src=\"\/wp-content\/uploads\/2020\/01\/2cb26fc59fd6708614e52873f2b5fd22.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Par automatiz\u0101ciju<\/h3>\n<p>\nNosac\u012bti visu automatiz\u0101ciju var iedal\u012bt tr\u012bs kategorij\u0101s:<br \/>\n<u>Kategorija 1<\/u> \u2014 atsevi\u0161\u0137i \u201cgudrie\u201d ier\u012bces. J\u016bs ieg\u0101d\u0101jaties lampas, t\u0113jkannas utt. no da\u017e\u0101diem ra\u017eot\u0101jiem. Plusi: katra ier\u012bce papla\u0161ina iesp\u0113jas un palielina komfortu. M\u012bnusi: katram jaunam ra\u017eot\u0101jam nepiecie\u0161ama sava lietotne. Atsevi\u0161\u0137u ra\u017eot\u0101ju ier\u012b\u010du protokoli liel\u0101koties nav savietojami.<\/p>\n<p><u>Kategorija 2<\/u> \u2014 vienas plates datora vai x86 sader\u012bgas ier\u012bces uzst\u0101d\u012b\u0161ana. Tas no\u0146em ierobe\u017eojumus apr\u0113\u0137inu jaud\u0101, un uz \u0161\u012bs ier\u012bces tiek uzst\u0101d\u012bts MajorDoMo vai jebkur\u0161 cits servera izplat\u012bjums gudr\u0101 nama vad\u012bbai. T\u0101d\u0113j\u0101di vairuma ra\u017eot\u0101ju ier\u012bces apvienojas vienot\u0101 inform\u0101cijas telp\u0101. Proti, izveidojas sava gudr\u0101 m\u0101jas servera. Plusi: savietojam\u012bba zem viena centra, kas sniedz papla\u0161in\u0101tas vad\u012bbas iesp\u0113jas. M\u012bnusi: ja serveris saboj\u0101jas, visa sist\u0113ma atgrie\u017eas pirmaj\u0101 posm\u0101, t.i., k\u013c\u016bst sadrumstalota vai k\u013c\u016bst par bezj\u0113dz\u012bgu.<\/p>\n<p><u>Kategorija 3<\/u> \u2014 vissare\u017e\u0123\u012bt\u0101kais variants. Remonta posm\u0101 tiek ier\u012bkotas visas komunik\u0101cijas un dubl\u0113tas visas sist\u0113mas. Plusi: viss tiek novests l\u012bdz ide\u0101lam, un m\u0101ja patiesi k\u013c\u016bst gudra. M\u012bnusi: \u0101rk\u0101rt\u0113j\u0101 d\u0101rdz\u012bba sal\u012bdzin\u0101jum\u0101 ar kategorij\u0101m 1 un 2, nepiecie\u0161am\u012bba iepriek\u0161 r\u016bp\u012bgi pl\u0101not visu un \u0146emt v\u0113r\u0101 katru s\u012bkumu.<\/p>\n<p>Liel\u0101k\u0101 da\u013ca lietot\u0101ju izv\u0113las variantu vienu, bet tad pak\u0101peniski p\u0101riet uz variantu divi. Un v\u0113l\u0101k tie, kas ir visiztur\u012bg\u0101kie, non\u0101k l\u012bdz variantam 3. <\/p>\n<p>Bet past\u0101v variants, ko var saukt par izplat\u012btu sist\u0113mu: katra atsevi\u0161\u0137\u0101 ier\u012bce b\u016bs gan serveris, gan klients. Paties\u012bb\u0101 tas ir m\u0113\u0123in\u0101jums apvienot variantu 1 un variantu 2. \u0145emt visus vi\u0146u plusus un izsl\u0113gt m\u012bnusus, atrast zelta vidusce\u013cu. <\/p>\n<p>Iesp\u0113jams, k\u0101ds teiks, ka \u0161\u0101ds variants jau ir izstr\u0101d\u0101ts. Bet \u0161\u0101di risin\u0101jumi ir \u0161aura profila; tiem, kuri ir lietprat\u0113ji programm\u0113\u0161an\u0101. M\u016bsu m\u0113r\u0137is ir samazin\u0101t piek\u013cuves slieksni l\u012bdz\u012bg\u0101m sadal\u012bt\u0101m sist\u0113m\u0101m gan k\u0101 gala ier\u012bc\u0113m, gan k\u0101 eso\u0161o ier\u012b\u010du integr\u0101cijai m\u016bsu sist\u0113m\u0101. Attiec\u012bb\u0101 uz termostatu, lietot\u0101js vienk\u0101r\u0161i no\u0146em savu veco termostatu, uzst\u0101da viedo un pievieno pie t\u0101 jau eso\u0161os sensorus. Bez jebk\u0101d\u0101m papildu darb\u012bb\u0101m.<\/p>\n<p>Apskat\u012bsim integr\u0101ciju m\u016bsu sist\u0113m\u0101, izmantojot piem\u0113ru. <\/p>\n<p>Iedom\u0101simies, ka m\u016bsu t\u012bkl\u0101 ir 8 Sonoff modu\u013ci. Da\u017eiem lietot\u0101jiem pietiks ar vad\u012bbu caur Sonoff m\u0101ko\u0146a pakalpojumu (1. kategorija). Da\u017ei s\u0101ks izmantot tre\u0161o pu\u0161u programmaparat\u016bru un pak\u0101peniski p\u0101ries uz 2. kategoriju. Liel\u0101k\u0101 da\u013ca tre\u0161o pu\u0161u programmaparat\u016bru darbojas p\u0113c t\u0101da pa\u0161a principa: datu p\u0101rraide uz MQTT serveri. OpenHub, Majordomo vai jebkur\u0161 cits kalpo vienam m\u0113r\u0137im \u2013 apvienot izklied\u0113t\u0101s ier\u012bces vienot\u0101 inform\u0101cijas telp\u0101, kas atrodas vai nu Internet\u0101, vai lok\u0101laj\u0101 t\u012bkl\u0101. T\u0101d\u0113j\u0101di servera kl\u0101tb\u016btne ir oblig\u0101ta. Nol\u016bk\u0101 atrisin\u0101t galveno probl\u0113mu \u2013 ja serveris neizdodas, visa sist\u0113ma p\u0101rst\u0101j darboties autonomi. Lai to nov\u0113rstu, sist\u0113mas k\u013c\u016bst sare\u017e\u0123\u012bt\u0101kas, tiek pievienoti manu\u0101lie vad\u012bbas veidi, kas dubl\u0113 autom\u0101tiku servera neizdo\u0161an\u0101s gad\u012bjum\u0101. <\/p>\n<p>M\u0113s g\u0101j\u0101m pa citu ce\u013cu, kur katra ier\u012bce ir patst\u0101v\u012bga. T\u0101d\u0113j\u0101di serveris nesp\u0113l\u0113 iz\u0161\u0137iro\u0161u lomu, bet vienk\u0101r\u0161i papildina funkcionalit\u0101ti.<\/p>\n<p>Atgriez\u012bsimies pie ment\u0101l\u0101 eksperimenta. Atkal \u0146emsim tos pa\u0161us 8 Sonoff modu\u013cus un uzst\u0101d\u012bsim tajos Lytko programmaparat\u016bru. Vis\u0101s Lytko programmaparat\u016br\u0101s ir realiz\u0113ta funkcija <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Simple_Service_Discovery_Protocol\">SSDP<\/a><\/noindex>. SSDP \u2013 t\u012bkla protokols, kas balst\u012bts uz Interneta protokolu kopumu, ko izmanto t\u012bkla pakalpojumu pazi\u0146o\u0161anai un atkl\u0101\u0161anai. Atbilde uz piepras\u012bjumu var b\u016bt gan standarta, gan papla\u0161in\u0101ta. M\u0113s esam iek\u013c\u0101vu\u0161i \u0161aj\u0101 atbild\u0113, papildus standarta funkcij\u0101m, ier\u012b\u010du saraksta izveido\u0161anu t\u012bkl\u0101. T\u0101d\u0113j\u0101di ier\u012bces pats atrod viena otras, un katrai no t\u0101m b\u016bs \u0161\u0101ds saraksts. SSDP saraksta piem\u0113rs:<\/p>\n<pre><code class=\"json\">\"ssdpList\": \n\t{\n\t\t\"id\": 94967291,  \n\t\t\"ip\": \"192.168.x.x\",\n                \"type\": \"thermostat\"\n\t}, \n\t{\n\t\t\"id\": 94967282,\n\t\t\"ip\": \"192.168.x.x\",\n                \"type\": \"thermostat\"\n\t}<\/code><\/pre>\n<p>\nK\u0101 redzams piem\u0113r\u0101, saraksts ietver ier\u012b\u010du id, IP adresi t\u012bkl\u0101, bloka tipu (m\u016bsu gad\u012bjum\u0101 - Sonoff b\u0101zes termostats). \u0160is saraksts tiek atjaunin\u0101ts reizi div\u0101s min\u016bt\u0113s (\u0161is laika posms ir pietiekams, lai rea\u0123\u0113tu uz dinamisk\u0101m izmai\u0146\u0101m ier\u012b\u010du skait\u0101 t\u012bkl\u0101). T\u0101d\u0113j\u0101di m\u0113s uzraug\u0101m ier\u012b\u010du pievieno\u0161anu, izmai\u0146as un atsl\u0113g\u0161anu bez lietot\u0101ja jebk\u0101d\u0101m darb\u012bb\u0101m. \u0160is saraksts tiek nos\u016bt\u012bts uz p\u0101rl\u016bkprogrammu vai mobilu lietotni, un skripts pats veido lapu ar noteikto bloku skaitu. Katrs bloks atbilst vienai ier\u012bcei\/sensoram\/kontrolierim. Vizu\u0101li saraksts izskat\u0101s \u0161\u0101di:<\/p>\n<p><img decoding=\"async\" alt=\"Lytko apvieno\" src=\"\/wp-content\/uploads\/2020\/01\/743abfe57e451aac901db58ed5d81a00.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBet ko dar\u012bt, ja pie esp8266\/esp32 ir piesl\u0113gti citi radio sensori caur cc2530 (ZigBee) vai nrf24 (MySensors)? <\/p>\n<h3>Par projektiem<\/h3>\n<p>\nTirgu p\u0101rst\u0101v da\u017e\u0101das sadal\u012btas sist\u0113mas. M\u016bsu sist\u0113ma \u013cauj integr\u0113ties ar vispopul\u0101r\u0101kaj\u0101m. <\/p>\n<p>Zem\u0101k ir projekti, kas kaut k\u0101 m\u0113\u0123ina main\u012bt situ\u0101ciju ar da\u017e\u0101du ra\u017eot\u0101ju savstarp\u0113jo nesavienojam\u012bbu. Tie ir, piem\u0113ram, <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/slsys\">SLS Gateway<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/mysensors\">MySensors <\/a><\/noindex> vai <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/zesp32\">ZESP32<\/a><\/noindex>. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.zigbee2mqtt.io\/\">ZigBee2MQTT <\/a><\/noindex> ir balst\u012bts uz MQTT serveri, t\u0101p\u0113c nav piem\u0113rots \u0161im piem\u0113ram. <\/p>\n<p>Viens no MySensors ievie\u0161anas variantiem ir uplink, kas balst\u012bts uz ESP8266. P\u0101r\u0113jie piem\u0113ri ir uz ESP32. Un tajos var ieviest m\u016bsu darba principu ier\u012b\u010du atkl\u0101\u0161an\u0101 un saraksta veido\u0161an\u0101. <\/p>\n<p>Veiksim v\u0113l vienu ment\u0101lu eksperimentu. Mums ir ZESP32 vai SLS Gateway, vai MySensors. K\u0101 tos apvienot vien\u0101 inform\u0101cijas telp\u0101? Standarta \u0161o uplink funkcij\u0101m pievienosim SSDP protokola bibliot\u0113ku. Piek\u013c\u016bstot \u0161im kontrolierim caur SSDP, tas standartatbild\u0113 pievienos sarakstu ar ier\u012bc\u0113m, kas ir pievienotas tam. Pamatojoties uz \u0161o inform\u0101ciju, p\u0101rl\u016bkprogramma izveidos lapu. Visp\u0101r\u0113j\u0101 izskat\u0101 tas izskat\u012bsies \u0161\u0101di:<\/p>\n<p><img decoding=\"async\" alt=\"Lytko apvieno\" src=\"\/wp-content\/uploads\/2020\/01\/8fba0ebb6be1ee35db010a819e87425c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Web interfeiss<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Lytko apvieno\" src=\"\/wp-content\/uploads\/2020\/01\/627baaf58524b92261c55408479606d1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>PWA lietotne<\/i><\/p>\n<pre><code class=\"json\">\"ssdpList\": \n{\n   \"id\": 94967291, \/\/ ier\u012bces unik\u0101lais identifikators\n   \"ip\": \"192.168.x.x\", \/\/ IP adrese t\u012bkl\u0101\n   \"type\": \"thermostat\" \/\/ ier\u012bces tips\n},\n{\n   \"id\": 94967292,\n   \"ip\": \"192.168.x.x\",\n   \"type\": \"thermostat\"\n},\n{\n   \"id\": 94967293,\n   \"ip\": \"192.168.x.x\",\n   \"type\": \"thermostat\"\n},\n{  \n   \"id\": 13587532, \n   \"type\": \"switch\"  \n},\n{  \n   \"id\": 98412557, \n   \"type\": \"smoke\"\n},\n{  \n   \"id\": 57995113, \n   \"type\": \"contact_sensor\"\n},\n{  \n   \"id\": 74123668,\n   \"type\": \"temperature_humidity_pressure_sensor\"\n},\n{\n    \"id\": 74621883, \n    \"type\": \"temperature_humidity_sensor\"\n}\n<\/code><\/pre>\n<p>\nPiem\u0113r\u0101 var redz\u0113t, ka ier\u012bces tiek pievienotas neatkar\u012bgi viena no otras. Ir pievienoti 3 termostati ar saviem IP adres\u0113m un 5 da\u017e\u0101di sensori ar unik\u0101l\u0101m ID. Ja sensors ir pievienots Wi-Fi t\u012bklam, tam b\u016bs sava IP adrese, ja tas ir pievienots v\u0101rtiem, tad ier\u012bces IP adrese b\u016bs v\u0101rtu IP adrese.<\/p>\n<p>Sazin\u0101\u0161anai ar ier\u012bc\u0113m m\u0113s izmantojam WebSocket. Tas \u013cauj samazin\u0101t resursu pat\u0113ri\u0146u sal\u012bdzin\u0101jum\u0101 ar GET piepras\u012bjumiem un dinamiski sa\u0146emt inform\u0101ciju, kad tiek izveidota savienojums vai notiek izmai\u0146as. <\/p>\n<p>Dati tiek \u0146emti tie\u0161i no t\u0101s ier\u012bces, kurai pieder bloks, apejot serveri. T\u0101d\u0113j\u0101di, ja jebkura no ier\u012bc\u0113m neizdodas, sist\u0113ma turpina darboties. Web saskarn\u0113 vienk\u0101r\u0161i netiks par\u0101d\u012bta no saraksta izsl\u0113gt\u0101 ier\u012bce. Bet sign\u0101ls par izsl\u0113g\u0161anu, ja nepiecie\u0161ams, tiks s\u016bt\u012bts k\u0101 pazi\u0146ojums lietot\u0101ja lietotn\u0113. <\/p>\n<p>Pirm\u0101 \u0161\u0101da pieejas \u012bsteno\u0161anas m\u0113\u0123in\u0101jums bija PWA lietotne. Tas \u013cauj uzglab\u0101t bloku datub\u0101zi lietot\u0101ja ier\u012bc\u0113 un piepras\u012bt tikai nepiecie\u0161amos datus. Bet strukt\u016bras \u012bpatn\u012bbu d\u0113\u013c \u0161is variants nav pilnv\u0113rt\u012bgs. Un risin\u0101jums ir viens - nativ\u0101s lietotnes Android un IOS, kuru \u0161obr\u012bd akt\u012bvi izstr\u0101d\u0101. Noklus\u0113juma iestat\u012bjumi nodro\u0161ina, ka lietotne darbosies tikai iek\u0161\u0113j\u0101 t\u012bkl\u0101. Ja nepiecie\u0161ams, var visu p\u0101rcelt uz \u0101r\u0113jo p\u0101rvald\u012bbu. T\u0101d\u0113j\u0101di, kad lietot\u0101js pamet lok\u0101lo t\u012bklu, lietotne autom\u0101tiski p\u0101rsl\u0113dzas uz m\u0101koni. <\/p>\n<p>\u0100r\u0113j\u0101 p\u0101rvald\u012bba \u2014 piln\u012bga lapas dubl\u0113\u0161ana. Aktiviz\u0113jot lapu, lietot\u0101js var piesl\u0113gties serverim un p\u0101rvald\u012bt ier\u012bces caur person\u012bgo kabinetu. T\u0101d\u0113j\u0101di serveris papla\u0161ina funkcionalit\u0101ti, \u013caujot p\u0101rvald\u012bt ier\u012bces, atrodoties \u0101rpus m\u0101jas, un neb\u016bt piesaist\u012btam pie portu p\u0101rlik\u0161anas vai statisk\u0101s IP adreses.<\/p>\n<p>T\u0101d\u0113j\u0101di iepriek\u0161 aprakst\u012btais variants ir br\u012bvs no serveru pieejas tr\u016bkumiem un ir vair\u0101kas priek\u0161roc\u012bbas, piem\u0113ram, jaunu ier\u012b\u010du savienojumu elast\u012bba.<\/p>\n<h3>Par termostatu<\/h3>\n<p>\nApskat\u012bsim vad\u012bbas sist\u0113mu, pamatojoties uz m\u016bsu termostatu.<\/p>\n<p>Paredz\u0113ts:<\/p>\n<ol>\n<li>Katr\u0101 termostat\u0101 regul\u0113\u0161ana (tiek att\u0113lots k\u0101 atsevi\u0161\u0137s bloks);<\/li>\n<li>Termostata darb\u012bbas grafika iestat\u012b\u0161ana (r\u012bts, diena, vakars, nakts);<\/li>\n<li>Wi-Fi t\u012bkla izv\u0113le un ier\u012bces piesl\u0113g\u0161ana;<\/li>\n<li>Ier\u012bces atjaunin\u0101\u0161ana \"pa gaisu\";<\/li>\n<li>MQTT iestat\u012b\u0161ana;<\/li>\n<li>Iestat\u012bjumi t\u012bklam, pie kura ir piesl\u0113gta ier\u012bce.<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Lytko apvieno\" src=\"\/wp-content\/uploads\/2020\/01\/a25f2a8daeabdeba36aa11557eacab0e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPapildus vad\u012bbai, izmantojot web-interfeisu, ir paredz\u0113ta klasisk\u0101 opcija - piespie\u017eot ekr\u0101nu. Uz d\u0113\u013ca ir uzst\u0101d\u012bts Nextion NX3224T024 2.4 collu monitors. Izv\u0113le krita uz to, \u0146emot v\u0113r\u0101 \u0113rt\u012bbu darb\u0101 ar ier\u012bci. Tom\u0113r tiek izstr\u0101d\u0101ts ar\u012b m\u016bsu pa\u0161u monitors, balst\u012bts uz STM32. T\u0101 funkcionalit\u0101te neb\u016bt nav slikt\u0101ka par Nextion, bet tas b\u016bs l\u0113t\u0101ks, kas pozit\u012bvi ietekm\u0113s ier\u012bces gala cenu.<\/p>\n<p><img decoding=\"async\" alt=\"Lytko apvieno\" src=\"\/wp-content\/uploads\/2020\/01\/ad98f51863dce7cbee1f1ea88891599f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u0101 jebkuram cien\u012bjamam termostata ekr\u0101nam, m\u016bsu Nextion sp\u0113j:<\/p>\n<ul>\n<li>iestat\u012bt lietot\u0101jam nepiecie\u0161amo temperat\u016bru (pogas labaj\u0101 pus\u0113);<\/li>\n<li>iesl\u0113gt un izsl\u0113gt darba re\u017e\u012bmu p\u0113c grafika (N pogas);<\/li>\n<li>par\u0101d\u012bt rel\u0113 darb\u012bbu (bulti\u0146a pa kreisi);<\/li>\n<li>ir aizsardz\u012bba no b\u0113rniem (blo\u0137\u0113 fiziskus piesk\u0101rienus, kam\u0113r sl\u0113dzis nav no\u0146emts);<\/li>\n<li>par\u0101da WiFi sign\u0101la l\u012bmeni.<\/li>\n<\/ul>\n<p>\nTurkl\u0101t, izmantojot monitoru, var:<\/p>\n<ul>\n<li>izv\u0113l\u0113ties uzst\u0101d\u012bt\u0101 lietot\u0101ja sensora tipu;<\/li>\n<li>vad\u012bt b\u0113rnu aizsardz\u012bbas funkciju;<\/li>\n<li>atjaunot programmat\u016bru.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Lytko apvieno\" src=\"\/wp-content\/uploads\/2020\/01\/efe3a84ba7e8c95212323ad1370550e0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNoklik\u0161\u0137inot uz WiFi joslas, lietot\u0101js uzzin\u0101s inform\u0101ciju par piesl\u0113gto t\u012bklu. QR kods tiek izmantots ier\u012bces saist\u012b\u0161anai HomeKit programmat\u016br\u0101.<\/p>\n<p><img decoding=\"async\" alt=\"Lytko apvieno\" src=\"\/wp-content\/uploads\/2020\/01\/79f55d4872f73a7c03a9f855be8089dc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDemonstr\u0101cija darbam ar displeju:<\/p>\n<p><img decoding=\"async\" alt=\"Lytko apvieno\" src=\"\/wp-content\/uploads\/2020\/01\/bf8ed3d7ae06b0364b393fc442e3556b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nM\u0113s esam izstr\u0101d\u0101ju\u0161i <noindex><a rel=\"nofollow\" href=\"http:\/\/demo.lytko.com\">demonstr\u0101cijas lapu<\/a><\/noindex> ar trim piesl\u0113gtiem termost\u0101tiem.<\/p>\n<p>J\u016bs jaut\u0101siet: \u201cK\u0101da ir j\u016bsu termostata \u012bpatn\u012bba?\u201d \u0160obr\u012bd tirg\u016b ir daudz termostatu ar Wi-Fi funkciju, darbiem p\u0113c grafika, sk\u0101rienvad\u012bbas. Un entuziasti ir rakst\u012bju\u0161i modu\u013cus, lai mijiedarbotos ar liel\u0101ko da\u013cu popul\u0101ro inteligento m\u0101ju sist\u0113m\u0101m (Majordomo, HomeAssistant utt.). <\/p>\n<p>M\u016bsu termostats ir savietojams ar \u0161\u012bm sist\u0113m\u0101m un ietver visas iepriek\u0161 min\u0113t\u0101s funkcijas. Bet at\u0161\u0137ir\u012bga iez\u012bme ir t\u0101, ka termostats past\u0101v\u012bgi tiek att\u012bst\u012bts, pateicoties sist\u0113mas elast\u012bbai. Ar katru atjaunin\u0101jumu funkcion\u0101lais apjoms tiks papla\u0161in\u0101ts. Standarta sist\u0113mas vad\u012bbas metodei (p\u0113c grafika) m\u0113s pievienosim adapt\u012bvo. Lietotne \u013caus sa\u0146emt lietot\u0101ja \u0123eolok\u0101ciju. Pateicoties tam, sist\u0113ma dinamiski main\u012bs darba re\u017e\u012bmus atkar\u012bb\u0101 no t\u0101 atra\u0161an\u0101s vietas. Un laika modulis \u013caus piel\u0101goties laikapst\u0101k\u013ciem. <\/p>\n<p>Un papla\u0161in\u0101m\u012bba. Ikviens var\u0113s nomain\u012bt pie vi\u0146a uzst\u0101d\u012bto parasto termostatu uz m\u016bsu. Ar minim\u0101l\u0101m p\u016bl\u0113m. M\u0113s esam izv\u0113l\u0113ju\u0161ies 5 popul\u0101r\u0101kos sensorus, kas pieejami tirg\u016b, un pievienoju\u0161i to atbalstu. Pat ja sensoram ir ekskluz\u012bvas \u012bpa\u0161\u012bbas, lietot\u0101js var\u0113s to piesl\u0113gt m\u016bsu termostatam. Lai to izdar\u012btu, b\u016bs nepiecie\u0161ams kalibr\u0113t termostatu darbam ar konkr\u0113to sensoru. Nor\u0101d\u012bjumus m\u0113s sniegsim.<\/p>\n<p>Piesl\u0113dzot termostatu vai jebkuru citu ier\u012bci, t\u0101 vienlaikus par\u0101d\u0101s visur: gan t\u012bmek\u013ca saskarn\u0113, gan PWA lietotn\u0113. Ier\u012bces pievieno\u0161ana notiek autom\u0101tiski: pietiek tikai to piesl\u0113gt Wi-Fi t\u012bklam. <\/p>\n<p>M\u016bsu sist\u0113ma neprasa serveri, un t\u0101 neveidojas par \u0137irbi servera atteikuma gad\u012bjum\u0101. Pat ja viens no komponentiem atsak\u0101s, sist\u0113ma neiet iekrit\u0113\u0161anas re\u017e\u012bm\u0101. Kontrolieri, sensori, ier\u012bces \u2014 katrs elements ir gan serveris, gan klients, t\u0101d\u0113j\u0101di piln\u012bb\u0101 autonoms. <\/p>\n<p>Interesentiem \u2014 m\u016bsu soci\u0101lie t\u012bkli: <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/LytkoG\">Telegram<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.instagram.com\/lytko_shop\">Instagram<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/lytko_news\">Telegram zi\u0146as<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/vk.com\/lytko_shop\">VK<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.facebook.com\/groups\/2055755264635934\">Facebook<\/a><\/noindex>.<\/p>\n<p>Epasts: shop@lytko.com<\/p>\n<p><b>P. S.<\/b> m\u0113s nenov\u0113r\u0161amies no Servera. Mums ir ar\u012b MQTT servera atbalsts un ir m\u016bsu m\u0101konis. M\u016bsu m\u0113r\u0137is ir paaugstin\u0101t sist\u0113mas stabilit\u0101ti un uzticam\u012bbu uz kvalitat\u012bvi jaunu l\u012bmeni. Lai serveris neb\u016btu v\u0101j\u0101 vieta, bet gan papildin\u0101tu funkcionalit\u0101ti un padar\u012btu sist\u0113mu \u0113rt\u0101ku.<br \/>\n<br \/>Avots: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/484296\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0412\u0430\u043c \u0443\u043c\u043d\u044b\u0439 \u0442\u0435\u0440\u043c\u043e\u0441\u0442\u0430\u0442. \u041d\u044b\u043d\u0435\u0448\u043d\u044f\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u0430\u0441\u044c \u043a\u0430\u043a \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0435\u0433\u043e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u041d\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0435\u0440\u043c\u043e\u0441\u0442\u0430\u0442\u0430 \u0438 \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u044e \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e \u0432 \u0446\u0435\u043b\u043e\u043c. \u041f\u0440\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e \u0423\u0441\u043b\u043e\u0432\u043d\u043e, \u0432\u0441\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430 \u0442\u0440\u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438: \u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f 1 \u2014 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u201c\u0443\u043c\u043d\u044b\u0435\u201d \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0412\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-55356","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0412\u0430\u043c \u0443\u043c\u043d\u044b\u0439 \u0442\u0435\u0440\u043c\u043e\u0441\u0442\u0430\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/lv\/blog\/news\/lytko-obedinyaet\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Lytko \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0412\u0430\u043c \u0443\u043c\u043d\u044b\u0439 \u0442\u0435\u0440\u043c\u043e\u0441\u0442\u0430\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/lv\/blog\/news\/lytko-obedinyaet\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-17T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:28+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lytko apvieno | ProHoster","description":"Pirms k\u0101da laika m\u0113s iepaz\u012bstin\u0101j\u0101m j\u016bs ar viedo termostatu.","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/news\/lytko-obedinyaet","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Lytko \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 | ProHoster","og:description":"\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0412\u0430\u043c \u0443\u043c\u043d\u044b\u0439 \u0442\u0435\u0440\u043c\u043e\u0441\u0442\u0430\u0442.","og:url":"https:\/\/prohoster.info\/lv\/blog\/news\/lytko-obedinyaet","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-17T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:28+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55356","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:45:29","updated":"2022-10-02 15:29:28","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/55356","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=55356"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/55356\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=55356"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=55356"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=55356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}