{"id":37423,"date":"2019-10-31T22:17:33","date_gmt":"2019-10-31T19:17:33","guid":{"rendered":"https:\/\/prohoster.info\/blog\/shiotiny-ventilyatsiya-vlazhnogo-pomeshheniya-proekt-primer\/"},"modified":"2019-10-31T22:17:33","modified_gmt":"2019-10-31T19:17:33","slug":"shiotiny-ventilyatsiya-vlazhnogo-pomeshheniya-proekt-primer","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/shiotiny-ventilyatsiya-vlazhnogo-pomeshheniya-proekt-primer","title":{"rendered":"ShIoTiny: niiskete ruumide ventilatsioon (projekti n\u00e4idis)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"ShIoTiny: niiskete ruumide ventilatsioon (projekti n\u00e4idis)\" src=\"\/wp-content\/uploads\/2019\/08\/a6e9c8239a90c713bd1b3b21891cbc13.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h4>P\u00f5hiteesid v\u00f5i millest see artikkel r\u00e4\u00e4gib<\/h4>\n<p>\nJ\u00e4tkame artiklite ts\u00fcklit teemal <b>ShIoTiny<\/b> \u2014 visuaalselt programmeeritav kontroller, mis p\u00f5hineb kiibil <b>ESP8266<\/b>.<\/p>\n<p>Selles artiklis r\u00e4\u00e4gitakse vannitoa ventilatsiooni juhtimise projekti n\u00e4itel, kuidas koostada programm <b>ShIoTiny<\/b>.<\/p>\n<h4>Eelmised artiklid sarjast.<\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463107\/\">ShIoTiny: v\u00e4ike automatiseerimine, asjade internet v\u00f5i \u201ekuus kuud enne puhkust\u201d<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463285\/\">ShIoTiny: s\u00f5lmed, sidemed ja s\u00fcndmused v\u00f5i programmide joonistamise erip\u00e4ra<\/a><\/noindex><\/p>\n<h4>Lingid<\/h4>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/shiotiny\/ShIoTinyBin\">Binaarsed firmware'id, kontrolleri skeem ja dokumentatsioon<\/a><\/noindex> <br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/shiotiny\/ShIoTinyBin\/blob\/master\/doc\/ShIoT-esp8266-01_obzor.pdf\">Juhend ja s\u00f5lmede kirjeldus<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/esppower.ru\/mqtt-android\/\">MQTT brokki seadistamine cloudmqtt.com<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/393277\/\">MQTT juhtpaneel Androidile<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Sissejuhatus<\/h4>\n<p>\nM\u00f5istus ilma kogemuseta ei eksisteeri. See on t\u00f5de, mille on t\u00f5estanud aeg ja p\u00f5lvkonnad. Seet\u00f5ttu pole midagi paremat praktiliste oskuste \u00f5ppimiseks kui proovida midagi ise teha. Ja n\u00e4idised, mis n\u00e4itavad, mida saab teha ja mida ei tasu proovida, tulevad siinkohal v\u00e4ga kasuks. Teiste vead ei suuda kindlasti \u00e4ra hoida enda vigu, kuid v\u00f5ivad aidata v\u00e4hendada viimaste arvu.<\/p>\n<p>Eelnevad artiklid ja lugejate kirjad inspireerisid mind looma v\u00e4ikse n\u00e4idisprojekti, et n\u00e4idata, kuidas ShIoTiny moodulid ventileerimise juhtimist toimivad.<\/p>\n<p>Algne idee, mille alusel kontroller ilmus, <b>ShIoTiny<\/b> \u2014 pumpamis- ja kastmiss\u00fcsteem \u2014 ei pruugi k\u00f5igile sobida ega huvi pakkuda. Seet\u00f5ttu v\u00f5tsin n\u00e4itena lihtsa ja paljudele kasuliku ventileerimise juhtimiss\u00fcsteemi.<\/p>\n<p>R\u00e4\u00e4kides sellest, ei ole projekti idee minu, vaid <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/masterkit\/blog\/385281\/\">t\u00f5in selle siit<\/a><\/noindex> ja seej\u00e4rel kohandasin <b>ShIoTiny<\/b>.<\/p>\n<h4>K\u00f5igepealt m\u00f5ista, mida soovid<\/h4>\n<p>\nParendamise protsess on l\u00f5putu. Just see omadus on tapnud palju h\u00e4id ideid ja projekte. Arendaja j\u00e4tkas, selle asemel et v\u00e4lja anda ehk mitte ideaalne, kuid t\u00f6\u00f6tav toode \u2014 parendamist. Ja ta parendas seda seni, kuni konkurendid m\u00f6\u00f6dusid temast, tuues turule ehk mitte ideaalse (ja sageli koguni kohutava), aga t\u00f6\u00f6tava lahenduse.<\/p>\n<p>Seet\u00f5ttu on v\u00e4ga oluline teada, kus projektis punkt paika panna. Teisis\u00f5nu, tuleb m\u00e4\u00e4ratleda, mida me l\u00f5puks alguses olevast saavutada tahame. Eesti keeles on dokumendi jaoks, mis koostatakse eesm\u00e4rgiga kirjeldada millegi loomise teed, olemas suurep\u00e4rane l\u00fchike ja sisukas s\u00f5na \u201eplaan\u201d, mida m\u00f5nikord nimetavad vale t\u00f5lgenduse t\u00f5ttu \u201eteekonnakaardiks\u201d mitte professionaalsed t\u00f5lgid ja defektsed juhid. Aga las olla.<\/p>\n<p>Meie plaan on j\u00e4rgmine. Oletame, et meil on ruum, kus \u00f5huniiskus v\u00f5ib m\u00f5nikord tugevalt t\u00f5usta. N\u00e4iteks nagu vannituba v\u00f5i k\u00f6\u00f6k. Niiskus on ebameeldiv asi ja selle vastu saab v\u00f5idelda juba iidsetest aegadest: ruumi \u00f5hutamine. \u00d5hutamiseks on palju viise. Kuid me loobume eksootilistest ja vanamoelistest meetoditest, nagu n\u00e4iteks orjad ventilaatoritega, ja piirdume tavalise ventilaatoriga. Ventilaatorid on odavamad ning neid on meie kandis lihtsam leida.<\/p>\n<p>\u00dches\u00f5naga, me tahame ventilaatorit kontrollida: l\u00fclitada see sisse ja v\u00e4lja. T\u00e4psemalt, me tahame, et see ise l\u00fclituks sisse ja v\u00e4lja, kui vaja.<\/p>\n<p>J\u00e4\u00e4b selgeks teha: millistel tingimustel ventilaator peab sisse l\u00fclitama ja millistel tingimustel v\u00e4lja l\u00fclitama.<\/p>\n<p>Siin on k\u00f5ik selge: kui niiskus \u00fcletab teatud m\u00e4\u00e4ra, siis ventilaator l\u00fclitub sisse ja t\u00f5mbab \u00f5hku v\u00e4lja; niiskus normaliseerub \u2014 ventilaator l\u00fclitub v\u00e4lja.<\/p>\n<p>Hoolikas lugeja m\u00e4rkab kohe s\u00f5na \u201em\u00e4\u00e4ratud\u201d. Kelle m\u00e4\u00e4ratud? Kuidas m\u00e4\u00e4ratud?<\/p>\n<p>M\u00e4\u00e4rata l\u00e4ve niiskust saab mitmeti. Vaadake kaht meetodit: esimene \u2014 muutuva takistuse kaudu ja teine \u2014 v\u00f5rgu kaudu MQTT protokolli kaudu. Igal meetodil on omad eelised ja puudused, mis k\u00e4sitletakse hiljem.<\/p>\n<p>Neile, kes ei saanud aru, selgitan, et \u201el\u00e4ve niiskus\u201d on selline niiskuse tase, mille \u00fcletamisel tuleb ventilaator sisse l\u00fclitada.<\/p>\n<p>J\u00e4rgmine k\u00fcsimus: kas anda kasutajale \u00f5igus ventilaator otse sisse l\u00fclitada? See t\u00e4hendab, s\u00f5ltumata niiskustasemest, nupule vajutamisel? Me kavandame sellist v\u00f5imalust. L\u00f5ppude l\u00f5puks v\u00f5ib ventilaatorit vajada mitte ainult suurema niiskuse korral, vaid ka ruumist n\u00e4iteks ebameeldiva l\u00f5hna, mida rahvasuus nimetatakse \u201epahaks l\u00f5hnaks\u201c, eemaldamiseks.<\/p>\n<p>Nii et me m\u00f5istsime, mida soovime ja isegi veidi, kuidas see t\u00f6\u00f6tab. Loetleme l\u00fchidalt k\u00f5ik meie ventilatsioonis\u00fcsteemi funktsioonid:<\/p>\n<ul>\n<li> niiskustaseme k\u00fcnnise seadmine (kaks varianti);<\/li>\n<li> niiskustaseme m\u00f5\u00f5tmine;<\/li>\n<li> ventilaatori automaatne sissel\u00fclitamine;<\/li>\n<li> ventilaatori automaatne v\u00e4ljal\u00fclitamine;<\/li>\n<li> ventilaatori k\u00e4sitsi sissel\u00fclitamine (nupule vajutamisel).<\/li>\n<\/ul>\n<p>\nNii et plaan on selge. On vajalik teostada k\u00f5ik \u00fclaltoodud funktsioonid meie programmis. Selle \u201eplaani\u201c alusel me tegutseme. Alustuseks joonistame seadme struktuurskeemi.<\/p>\n<h4>Seadme struktuurskeem<\/h4>\n<p>\n\u00dcldiselt on meil selliseid skeeme kaks. Esimene \u2014 variandi jaoks, kus niiskuse l\u00e4viv\u00e4\u00e4rtus on m\u00e4\u00e4ratud muutuva takistusega. Teine skeem \u2014 variandi jaoks, kus niiskuse l\u00e4viv\u00e4\u00e4rtus on m\u00e4\u00e4ratud v\u00f5rgus l\u00e4bi protokolli MQTT.<\/p>\n<p>Kuna need skeemid erinevad vaid \u00fche elemendi \u2014 muutuva takistuse \u201eniiskuse l\u00e4viv\u00e4\u00e4rtuse seadistamine\u201d \u2014 poolest, joonistame vaid \u00fche struktuurses skeemis. Loomulikult n\u00e4eb struktuurne skeem vastavalt GOST-ile v\u00e4lja teistsugune. Kuid me ei tohiks keskenduda inseneride k\u00e4sit\u00f6\u00f6le, vaid noorele p\u00f5lvkonnale. Seet\u00f5ttu on visuaalsus olulisem.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: niiskete ruumide ventilatsioon (projekti n\u00e4idis)\" src=\"\/wp-content\/uploads\/2019\/08\/519f40496a8e459c22d69e7f0eaeee1d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNii et, mida me jooniselt n\u00e4eme? Ventilaator on \u00fchendatud releega <b>Relay1<\/b> kontrolleri <b>ShIoTiny<\/b>. Joonin t\u00e4helepanu, et ventilaator on seade, mis t\u00f6\u00f6tab k\u00f5rgel pingel. Seega, kui keegi soovib sellist teha \u2014 olge ettevaatlik. See t\u00e4hendab, et v\u00e4hemalt enne, kui panete oma s\u00f5rmed v\u00f5i m\u00f5\u00f5turid skeemi, l\u00fclitage v\u00e4lja v\u00e4hemalt ventilaator. Ja teine t\u00e4helepanek. Kui teie ventilaator on v\u00f5imsam kui <b>250 W<\/b>, siis pole m\u00f5tet seda otse <b>ShIoTiny<\/b> \u00fchendada \u2014 ainult l\u00e4bi k\u00e4ivitaja.<\/p>\n<p>Ventilaatoriga saime hakkama. N\u00fc\u00fcd on nupu \u00abmanuaalne aktiveerimine\u00bb ventilaatorile. See on \u00fchendatud sisendiga <b>Sisend1<\/b>. Siin polegi rohkem selgitada.<\/p>\n<p>Temperatuuri ja niiskuse andur <b>DHT-11<\/b> (v\u00f5i <b>DHT-22<\/b> v\u00f5i nende analoogid). Selle \u00fchendamiseks on kontrolleril ette n\u00e4htud spetsiaalne sisend <b>ShIoTiny<\/b>. Nagu pildilt n\u00e4ha \u2014 sellise anduri \u00fchendamine ei valmista probleeme.<\/p>\n<p>Ja l\u00f5puks, muutuv takistus, mis m\u00e4\u00e4rab niiskuse l\u00e4vitaseme. T\u00e4psemalt \u2014 jagaja, mis koosneb muutuvast ja pidevast takistusest. Probleeme selle \u00fchendamisega ei ole, kuid selgitan, et sisseehitatud A\/D muundur on <b>ESP8266<\/b> m\u00f5eldud maksimaalselt 1V. Seet\u00f5ttu on vajalik pingejagaja umbes 5 korda.<\/p>\n<p>\u00c4ra unusta, et seda jagajat ei vajata, kui niiskuse l\u00e4vitaseme m\u00e4\u00e4rab v\u00f5rgu kaudu MQTT protokolli abil.<\/p>\n<p>Alustame seadme t\u00f6\u00f6 algoritmi koostamist ElDraw ShIoTiny toimetajas. Kuidas sinna p\u00e4\u00e4seda, saab lugeda varasemates artiklites v\u00f5i juhendis, mille link on artikli alguses.<\/p>\n<h4>Esimene variant, k\u00f5ige lihtsam<\/h4>\n<p>\nAlustame lihtsast: relee sissel\u00fclitamine <b>Relay1<\/b> niiskuse l\u00e4vitaseme \u00fcletamisel kindlaksm\u00e4\u00e4ratud ajaks.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: niiskete ruumide ventilatsioon (projekti n\u00e4idis)\" src=\"\/wp-content\/uploads\/2019\/08\/e9f8d30627cf7cdbebccf863c2b2f808.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNagu n\u00e4eme, pole midagi keerulist: kokku neli s\u00f5lme, v\u00e4lja arvatud kommentaars\u00f5lmed. <b>DHT11<\/b> \u2014 see on tegelikult temperatuuri ja niiskuse andur (v\u00f5ib vahetada v\u00e4lja <b>DHT22<\/b>).<\/p>\n<p>Konstant <b>CONST<\/b> \u2014 niiskuse piiritase protsentides.<\/p>\n<p>Komparaator \u2014 s\u00f5lm, mis v\u00f5rdleb kahte arvu ja annab v\u00e4ljundis 1, kui m\u00e4\u00e4ratud tingimus peab paika, ja 0, kui tingimus ei vasta.<\/p>\n<p>Meie juhul on selliseks tingimuseks <b>A&gt;B<\/b>, kus <b>A<\/b> \u2014 anduri m\u00f5\u00f5detud niiskus, ning <b>B<\/b> \u2014 sama niiskuse piiritase.<\/p>\n<p>Niipea, kui m\u00f5\u00f5detud niiskus (<b>A<\/b>) \u00fcletab niiskuse piiritaseme (<b>B<\/b>), ilmub komparaatori v\u00e4ljundisse <b>A&gt;B<\/b> 1 ja relee l\u00fclitub sisse. Ja vastupidi, kohe, kui niiskus normaliseerub (st <b>A&lt;=B<\/b>), ilmub komparaatori v\u00e4ljundisse <b>A&gt;B<\/b> ), ilmub 0 ja relee l\u00fclitub v\u00e4lja.<\/p>\n<p>Kas k\u00f5ik on selge? Kui ei, loe veel kord v\u00f5i vaata s\u00f5lmede t\u00f6\u00f6 kirjeldust juhendis.<\/p>\n<p>T\u00f5in v\u00e4lja, et andurist saadud andmed <b>DHT11<\/b> uuendatakse umbes iga 10 sekundi j\u00e4rel. Seega ei saa relee sisse ja v\u00e4lja l\u00fclituda sagedamini kui \u00fcks kord 10 sekundi jooksul.<\/p>\n<p>K\u00f5ik oleks h\u00e4sti, aga me tahaksime m\u00e4\u00e4rata niiskuse piiritaseme muutuvatest takistidest. Pole midagi lihtsamat!<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: niiskete ruumide ventilatsioon (projekti n\u00e4idis)\" src=\"\/wp-content\/uploads\/2019\/08\/3042bda4fe16e3fbad2d3f46f0beccb4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLihtsalt asendame konstantse s\u00f5lme ADC s\u00f5lmega. Just ADC-ule me \u00fchendasime muutuva takistiga pingel\u00f5hiku.<\/p>\n<p>Pinged ADC sisendis muutub vahemikus 0 kuni 1 Volt. Aga niiskus anduri v\u00e4ljundis \u2014 muutub vahemikus 0 kuni 100%. Kuidas me neid v\u00f5rreldame? K\u00f5ik on lihtne. ADC s\u00f5lm <b>ShIoTiny<\/b> ei m\u00f5\u00f5da lihtsalt pinget sisendis, vaid oskab seda <i><b>skaaluda ja nihutada.<\/b><\/i>.<\/p>\n<p>See t\u00e4hendab, et ADC1 (ADC) v\u00e4ljunds on v\u00e4\u00e4rtus <b>X<\/b>, arvutatud valemi j\u00e4rgi <\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: niiskete ruumide ventilatsioon (projekti n\u00e4idis)\" src=\"\/wp-content\/uploads\/2019\/08\/d01bc0ff4e6962252fced695d3894d32.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>, kus <img decoding=\"async\" alt=\"ShIoTiny: niiskete ruumide ventilatsioon (projekti n\u00e4idis)\" src=\"\/wp-content\/uploads\/2019\/08\/ac0bf727edb4c759d12268376ec6ad9b.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u2014 pinget ADC sisendis (vahemikus 0 kuni 1 V); <b>k<\/b> \u2014 vahemik (ADC vahemik) ja <b>b<\/b>- nihke (ADC nihke). Nii et kui seada <b>k=100<\/b> ja <b>b=0<\/b>, siis pingete muutumisel <img decoding=\"async\" alt=\"ShIoTiny: niiskete ruumide ventilatsioon (projekti n\u00e4idis)\" src=\"\/wp-content\/uploads\/2019\/08\/0afbeb2e49d5a107bc54d6bbd87ba23c.jpeg\" style=\"display:block;margin: 0 auto;\" \/> vahemikus 0 kuni 1, v\u00e4\u00e4rtus <b>X<\/b> ADC s\u00f5lme v\u00e4ljundis muutub vahemikus 0 kuni 100. See t\u00e4hendab, et numbriliselt on see v\u00f5rdne niiskuse muutumise vahemikuga 0 kuni 100%.<\/p>\n<p>V\u00f5i lihtsamalt, p\u00f6\u00f6rates muutuva vastupanu mootori, saab seada niiskuse l\u00e4vendi vahemikus 0 kuni 100. Ainus ebamugavus on see, et puuduvad kuvamise seadmed. Kuid praktikas, kui teha muutuva takistuse mootori 6 jagu 0%, 20%, 40%, 60%, 80%, 100%) \u2014 siis on seda piisavalt, et seada niiskuse l\u00e4vend.<\/p>\n<p>Kuidas me saame seada koefitsiendid? <b>k<\/b> \u2014 vahemik (ADC vahemik) ja <b>b<\/b>- nihkej\u00f5ud (ADC offset)? Jah, see on lihtne nagu lebamine! Kl\u00f5psake hiirekursoriga s\u00f5lmele <b>ADC1<\/b> ja kohe avaneb seadistamise aken. Sellega saate m\u00e4\u00e4rata k\u00f5ik, mida vajate. Meie juhtumi jaoks on see aken nagu pildil.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: niiskete ruumide ventilatsioon (projekti n\u00e4idis)\" src=\"\/wp-content\/uploads\/2019\/08\/ff81992b4fe236f5de6d17ca6bf8187c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNii et meil on lihtne t\u00f6\u00f6tav lahendus. Alustame selle t\u00e4iustamist.<br \/>\nMuide, sellel lihtsaimal lahendusel on \u00fcks eelis \u2013 see ei vaja internetti. See on t\u00e4iesti iseseisev.<\/p>\n<h4>Teine variant on nuppu \u00fchendada.<\/h4>\n<p>\nK\u00f5ik t\u00f6\u00f6tab ja k\u00f5ik on \u00f5nnelikud. Aga on probleem, et me ei saa sundida ventilatsiooni sisse l\u00fclitada. Oleme juba kokkuleppinud, et sisendisse <b>Sisend1<\/b> kasutatakse nuppu, mis l\u00fclitab ventilaatori sundsisse ja -v\u00e4lja, ilma niiskuseandurile t\u00e4helepanu p\u00f6\u00f6ramata.<br \/>\nOn aeg t\u00f6\u00f6tlema hakata seda nuppu meie skeemis-programmis.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: niiskete ruumide ventilatsioon (projekti n\u00e4idis)\" src=\"\/wp-content\/uploads\/2019\/08\/673c274a5be680ce7c3ef1f9572f93fa.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNupu vajutamise t\u00f6\u00f6tlusblokk on esile t\u00f5stetud oran\u017ei joonaga. See on nuppude vajutuste loenduri, mis nullitakse, kui selle v\u00e4ljund \u00fcletab \u00fche (roheline joon, s\u00f5lme v\u00e4ljund) <b>CT<\/b>).<\/p>\n<p>Siin t\u00f6\u00f6tab k\u00f5ik sama arusaadavalt nagu varem: loendur <b>CT<\/b> loendab nuppude vajutusi, mis on \u00fchendatud sisendiga. <b>Sisend1<\/b>. See, the value of this counter increases by 1 with each button press.<\/p>\n<p>As soon as this value reaches two (that is, more than 1), the comparator's output <b>A&gt;B<\/b> will show 1. And this 1 will reset the counter <b>CT<\/b> to zero. This refers to the comparator, the lower one in the scheme!<\/p>\n<p>Thus, our button has two states \u2014 0 and 1. If we needed more states (3, 4, or even more) \u2014 we would simply change the constant <b>CONST<\/b> from one to another value.<\/p>\n<p>So, we have two conditions for turning on the fan: exceeding the specified humidity level and a single button press. When either condition is met, the fan will turn on and will run until the button is pressed again <b>JA<\/b> or the humidity level returns to normal.<\/p>\n<p>Of course, we could complicate the algorithm even further, but we won't do that \u2014 let's leave room for creativity for those interested.<\/p>\n<h4>Option three, we connect to the internet<\/h4>\n<p>\nK\u00f5ik, mida me kirjeldasime, on igati toimiv. Aga kuidas on lood mainega? Iga akne t\u00e4is hipster-h\u00e4kker-naerja naerab seda, kes keerab nuppu ja vajutab nuppu, mitte ei kasuta nutitelefoni! Nupu keeramine on \u201emitte moes\u201c. Aga s\u00f5rme h\u00f5\u00f5rumine nutitelefonil, veretuks seda s\u00f5rme h\u00f5\u00f5rudes \u2014 vaat', see on hipster-h\u00e4kker-naerja unistuste tipp (ma ei ole kunagi suutnud neid eristada \u2014 kui eksisin, palun andke andeks).<\/p>\n<p>Aga olgem nende isikute suhtes leebed. Interneti kaudu juhtimisel on ka t\u00f5elisi eeliseid. Esiteks, see on visuaalne. On hulk rakendusi, mis on saadaval k\u00f5igile platvormidele, mis v\u00f5imaldavad paaril puudutusel luua t\u00e4iesti kasutatava juhtpaneeli meie kontroller-karlasun jaoks. Teiseks on see v\u00f5imalus kaugelt j\u00e4lgida ruumi \u00f5huniiskuse seisundit. Ja kolmandaks, mitte ainult seda, mida ventilaator teeb \u2014 kas see p\u00f6\u00f6rleb v\u00f5i mitte, vaid ka seda, milline niiskuse l\u00e4vend on seatud. Ja kas ventilaator l\u00fclitus sisse automaatselt v\u00f5i k\u00e4sitsi. \u00dches\u00f5naga, k\u00f5ik, mida soovite.<\/p>\n<p>Loomulikult on m\u00f5ne ventilaatori jaoks palju head tahet \u2014 nii palju t\u00e4helepanu. Aga see on vaid n\u00e4ide.<\/p>\n<p>Nii et, interneti\u00fchenduse loomiseks kasutame tehnoloogiat <b>MQTT<\/b> ja sama nime kandvat protokolli.<br \/>\nKasutamiseks vajame <b>MQTT-vahendajat<\/b>. See on eriline server, mis teenindab <b>MQTT-kliente<\/b>, n\u00e4iteks <b>ShIoTIny<\/b> ja teie nutitelefoni.<\/p>\n<p>Selle tehnoloogia olemus <b>MQTT<\/b> on see, et iga klient avaldab MQTT-vahendajale (serverile) mis tahes andmeid kindla nimega (mida nimetatakse <b>teema<\/b> terminoloogias <b>MQTT<\/b>). Teised kliendid saavad tellida mis tahes andmeid nende nime kaudu (<b>teema<\/b>) ja saada uuesti avaldatud andmeid. See t\u00e4hendab, et kogu andmevahetus toimub kliendi-vahendaja-kliendi p\u00f5him\u00f5ttel.<\/p>\n<p>Mina <i><b>\u00c4rge muretsege<\/b><\/i> detailide \u00fcle. Internetis on palju artikleid ja \u00f5petusi selle kohta, kuidas see toimib <b>MQTT<\/b> ja milliseid programme on juhtpaneelide loomiseks. N\u00e4itan lihtsalt, kuidas andmeid vastuv\u00f5tta ja avaldada kasutades <b>ShIoTiny<\/b>.<\/p>\n<p>Brokernina kasutasin <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cloudmqtt.com\/\">www.cloudmqtt.com<\/a><\/noindex>, kuid p\u00f5him\u00f5te on igal pool sama.<\/p>\n<p>Nii et oletame, et olete registreerunud <b>MQTT-vahendajal<\/b>. \u00dcldiselt annab vahendaja teile (v\u00f5i n\u00f5uab v\u00e4lja m\u00f5tlema) kasutajanime ja parooli (autentimiseks), samuti pordi \u00fchendamiseks. \u00dchendage <b>ShIoTiny<\/b> kellele <b>MQTT brokeri<\/b> saab teha kahel viisil \u2014 tavaline \u00fchendus ja <b>TLS<\/b> (<b>SSL<\/b>).<\/p>\n<p>K\u00f5ik need parameetrid <b>ShIoTiny<\/b> sisestatakse vahekaardile <b>V\u00f5rgustik<\/b>, jaotises <b>MQTT serveriga \u00fchendus<\/b>.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: niiskete ruumide ventilatsioon (projekti n\u00e4idis)\" src=\"\/wp-content\/uploads\/2019\/08\/3a16cbd07a64428568e7c03f178e87ef.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui teie <b>MQTT-vahendajat<\/b> ei n\u00f5ua autentimist \u2014 siis j\u00e4tke kasutajanimi ja parool t\u00fchjaks (j\u00e4tke need v\u00e4ljad t\u00fchjaks).<\/p>\n<p>Parameeter <b>MQTT teema eesliide<\/b> vajab eraldi selgitust.<\/p>\n<p>MQTT parameetrite eesliide on string, mis lisatakse teema nimele (<b>teema<\/b>) MQTT brokeris publikatsiooni ja tellimise ajal. Eesliite seadmiseks <b>MQTT eesliide<\/b> oma kontrolleri jaoks tuleb lihtsalt sisestada v\u00e4ljale \"<b>MQTT teema eesliide<\/b>\u00bb (\u00ab<b>MQTT teema eesliide<\/b>\". Eesliide algab alati kaldkriipsuga (<b>\u00ab\/\u00bb<\/b>)! Kui te ei sisesta kaldkriipsu, lisatakse see automaatselt. Eesliides ei tohi kasutada m\u00e4rke <b>\u00ab#\u00bb<\/b> ja <b>\u00ab+\u00bb<\/b>. Teisi piiranguid ei ole.<\/p>\n<p>N\u00e4iteks, kui avaldate parameetri \"<b>status<\/b>\" (v\u00f5i tellite selle), ja teie eesliide on m\u00e4\u00e4ratud \"<b>\/shiotiny\/<\/b>\", siis avaldatakse see parameeter brokeris nime all \"<b>\/shiotiny\/status<\/b>\". Kui teil on m\u00e4\u00e4ratud t\u00fchi eesliide, algavad k\u00f5ik parameetrid brokeris kaldkriipsuga (<b>\u00ab\/\u00bb<\/b>): \u00ab<b>status<\/b>\" avaldatakse kui \"<b>\/status<\/b>\u00bb.<\/p>\n<p>Seega, eeldame, et olete registreerunud <b>MQTT-vahendajal<\/b> ja saanud kasutajanime, parooli ja portaali. Seej\u00e4rel olete need parameetrid m\u00e4\u00e4ranud vahekaardile <b>V\u00f5rgustik<\/b>, jaotises <b>MQTT serveriga \u00fchendus<\/b> kontrolleri <b>ShIoTiny<\/b>.<\/p>\n<p>Eeldame, et eesliide on seatud v\u00e4\u00e4rtusele \"<b>\/room\/<\/b>\u00bb.<\/p>\n<p>Alustame sellega, et avaldame k\u00f5igi v\u00f5tmeparameetrite oleku: relee <b>Relee1<\/b>, k\u00e4sitsi sissel\u00fclitamise oleku, automaatse sissel\u00fclitamise oleku ja l\u00f5puks, niiskustaseme l\u00e4ve ja praegused tasemed. Ja boonusena \u2014 toa temperatuur. Kuidas seda teha, vaadake jooniselt.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: niiskete ruumide ventilatsioon (projekti n\u00e4idis)\" src=\"\/wp-content\/uploads\/2019\/08\/ed016ae37bb0cb1197e2e4fd649a7c4f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKuidas n\u00e4eme, erinevus eelmisest variandist on ainult s\u00f5lmed \u00ab<b>MQTT Publish<\/b>\u00bb. Arvestades prefiksi, avaldatakse j\u00e4rgmised parameetrid:<br \/>\n<img decoding=\"async\" alt=\"ShIoTiny: niiskete ruumide ventilatsioon (projekti n\u00e4idis)\" src=\"\/wp-content\/uploads\/2019\/08\/34b67dd1932f30de777a680802f71c59.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKuidas n\u00e4eme, kogu s\u00fcsteemi olek on meil nagu peopesal!<\/p>\n<p>Aga me tahame mitte ainult n\u00e4ha, vaid ka juhtida. Mida teha? V\u00e4ga lihtne. Me loobume niiskustaseme l\u00e4ve seadmisest l\u00e4bi <b>ADC<\/b> ja muutuva takistiga ning seadistame selle niiskustaseme otse <b>MQTT<\/b> nutitelefonist!<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: niiskete ruumide ventilatsioon (projekti n\u00e4idis)\" src=\"\/wp-content\/uploads\/2019\/08\/c32d9ec2c1a082e0a1ead0b04526eba5.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEemaldame ADC s\u00f5lme skeemist ja l\u00fclitame sisse kolm uut s\u00f5lme: <b>FLASH store<\/b>, <b>FLASH restore<\/b> ja <b>MQTT describe<\/b>.<\/p>\n<p>S\u00f5lme funktsioon <b>MQTT describe<\/b> on ilmselge: see saab parameetri <b>\/room\/trigHset<\/b> (niiskustaseme l\u00e4ve) koos <b>MQTT vahendajalt<\/b>. Aga mida ta teeb andmetega edasi? Ta lihtsalt annab need \u00fcle s\u00f5lmele <b>FLASH store<\/b>, mis omakorda salvestab need andmed energiat mittekaotavasse m\u00e4llu nimega <b>trigH<\/b>. P\u00e4rast seda loeb s\u00f5lm <b>FLASH restore<\/b> energiata m\u00e4lust andmed nimega <b>trigH<\/b> ja ja toimub, me teame juba.<\/p>\n<p>Miks sellised keerukused? Miks ei saa lihtsalt saadud andmeid otse v\u00f5rdlejale anda? <\/p>\n<p>Nagu \u00fctles kaaslane \u0160. Holmes \u2014 <i>see on elementaarne<\/i>! Keegi ei garanteeri, et teie seade p\u00e4rast sissel\u00fclitamist \u00fchendub <b>MQTT brokeri<\/b>. Niiskust tuleb m\u00f5\u00f5ta. Ja ventilaator tuleks sisse l\u00fclitada. Kuid ilma teabeta niiskustaseme piirv\u00e4\u00e4rtuse kohta on see v\u00f5imatu! Seet\u00f5ttu meie seade l\u00fclitamisel t\u00f5mbab varem salvestatud niiskuse piirv\u00e4\u00e4rtuse vahetuks m\u00e4lust ja kasutab seda otsusteks. Kui \u00fchendus saab loodud <b>MQTT-brokkeriga<\/b> ja keegi jagab uut v\u00e4\u00e4rtust <b>\/room\/trigHset<\/b>, siis kasutatakse seda uut v\u00e4\u00e4rtust.<\/p>\n<p>Edasi v\u00f5ite v\u00e4lja m\u00f5elda mida iganes. N\u00e4iteks, lisada niiskuse k\u00f5rval ka temperatuuri j\u00e4lgimine. V\u00f5i lisada 'nutikad' valgustuse juhtimise v\u00f5imalused (meil on veel kaks releed ja kaks sisendit kasutamata). K\u00f5ik on teie k\u00e4tes!<\/p>\n<h4>Kokkuv\u00f5te<\/h4>\n<p>\nNii oleme vaadanud l\u00e4bi mitmeid n\u00e4iteid lihtsa kontrolleri rakendamisest ShIoTiny baasil. V\u00f5ib-olla on see kellelegi kasulik.<\/p>\n<p>Kuna nagu alati, ettepanekud, soovid, k\u00fcsimused, tr\u00fckivead ja muu - kirjutage e-posti aadressile: <b>shiotiny@yandex.ru<\/b><br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/464485\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0435\u0437\u0438\u0441\u044b \u0438\u043b\u0438 \u043e \u0447\u0435\u043c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0446\u0438\u043a\u043b \u0441\u0442\u0430\u0442\u0435\u0439 \u043e ShIoTiny \u2014 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0447\u0438\u043f\u0430 ESP8266. \u0412 \u044d\u0442\u043e\u0442 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043d\u0430\u0442\u0435 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u043e\u0439 \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f ShIoTiny. \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u0435\u0440\u0438\u0438. ShIoTiny: \u043c\u0430\u043b\u0430\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f, \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0432\u0435\u0449\u0435\u0439 \u0438\u043b\u0438 \u00ab\u0437\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28079,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37423","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0435\u0437\u0438\u0441\u044b \u0438\u043b\u0438 \u043e \u0447\u0435\u043c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0446\u0438\u043a\u043b \u0441\u0442\u0430\u0442\u0435\u0439 \u043e ShIoTiny \u2014 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0447\u0438\u043f\u0430 ESP8266. \u0412 \u044d\u0442\u043e\u0442 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043d\u0430\u0442\u0435 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u043e\u0439 \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f ShIoTiny. \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u0435\u0440\u0438\u0438. ShIoTiny: \u043c\u0430\u043b\u0430\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f, \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0432\u0435\u0449\u0435\u0439 \u0438\u043b\u0438 \u00ab\u0437\u0430\" \/>\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\/et\/blog\/administrirovanie\/shiotiny-ventilyatsiya-vlazhnogo-pomeshheniya-proekt-primer\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\udd47ShIoTiny: \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0446\u0438\u044f \u0432\u043b\u0430\u0436\u043d\u043e\u0433\u043e \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u044f (\u043f\u0440\u043e\u0435\u043a\u0442-\u043f\u0440\u0438\u043c\u0435\u0440) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0435\u0437\u0438\u0441\u044b \u0438\u043b\u0438 \u043e \u0447\u0435\u043c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0446\u0438\u043a\u043b \u0441\u0442\u0430\u0442\u0435\u0439 \u043e ShIoTiny \u2014 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0447\u0438\u043f\u0430 ESP8266. \u0412 \u044d\u0442\u043e\u0442 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043d\u0430\u0442\u0435 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u043e\u0439 \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f ShIoTiny. \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u0435\u0440\u0438\u0438. ShIoTiny: \u043c\u0430\u043b\u0430\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f, \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0432\u0435\u0449\u0435\u0439 \u0438\u043b\u0438 \u00ab\u0437\u0430\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/shiotiny-ventilyatsiya-vlazhnogo-pomeshheniya-proekt-primer\" \/>\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=\"2019-10-31T19:17:33+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:17:33+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\udd47ShIoTiny: niiske ruumi ventilatsioon (n\u00e4idisprojekt) | ProHoster","description":"Peamised punktid v\u00f5i millest see artikkel r\u00e4\u00e4gib. J\u00e4tkame artiklite ts\u00fcklit ShIoTiny kohta - visuaalselt programmeeritav kontroller, mis p\u00f5hineb ESP8266 kiibil. Selles artiklis r\u00e4\u00e4gitakse ventilatsiooni juhtimise projektist vannitoas v\u00f5i muus niiskes ruumis, kajastades, kuidas ShIoTiny jaoks programm \u00fcles ehitatakse. Eelnevad artiklid sarjast. ShIoTiny: v\u00e4ike automatiseerimine, asjade internet v\u00f5i \u201cpool suurusest\u201d","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/shiotiny-ventilyatsiya-vlazhnogo-pomeshheniya-proekt-primer","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\udd47ShIoTiny: \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0446\u0438\u044f \u0432\u043b\u0430\u0436\u043d\u043e\u0433\u043e \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u044f (\u043f\u0440\u043e\u0435\u043a\u0442-\u043f\u0440\u0438\u043c\u0435\u0440) | ProHoster","og:description":"\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0435\u0437\u0438\u0441\u044b \u0438\u043b\u0438 \u043e \u0447\u0435\u043c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0446\u0438\u043a\u043b \u0441\u0442\u0430\u0442\u0435\u0439 \u043e ShIoTiny \u2014 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0447\u0438\u043f\u0430 ESP8266. \u0412 \u044d\u0442\u043e\u0442 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u043d\u0442\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 \u0432\u0430\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043d\u0430\u0442\u0435 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u043c \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u043e\u0439 \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f ShIoTiny. \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0441\u0435\u0440\u0438\u0438. ShIoTiny: \u043c\u0430\u043b\u0430\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f, \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0432\u0435\u0449\u0435\u0439 \u0438\u043b\u0438 \u00ab\u0437\u0430","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/shiotiny-ventilyatsiya-vlazhnogo-pomeshheniya-proekt-primer","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":"2019-10-31T19:17:33+00:00","article:modified_time":"2019-10-31T19:17:33+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37423","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":"2026-01-23 17:45:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:27:24","updated":"2026-01-23 17:45:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/37423","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=37423"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/37423\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/28079"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=37423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=37423"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=37423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}