{"id":37422,"date":"2019-10-31T22:17:33","date_gmt":"2019-10-31T19:17:33","guid":{"rendered":"https:\/\/prohoster.info\/blog\/shiotiny-uzly-svyazi-i-sobytiya-ili-osobennosti-risovaniya-programm\/"},"modified":"2019-10-31T22:17:33","modified_gmt":"2019-10-31T19:17:33","slug":"shiotiny-uzly-svyazi-i-sobytiya-ili-osobennosti-risovaniya-programm","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/shiotiny-uzly-svyazi-i-sobytiya-ili-osobennosti-risovaniya-programm","title":{"rendered":"ShIoTiny: s\u00f5lmed, sidemed ja s\u00fcndmused v\u00f5i programmide joonistamise erip\u00e4ra","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"ShIoTiny: s\u00f5lmed, sidemed ja s\u00fcndmused v\u00f5i programmide joonistamise erip\u00e4ra\" src=\"\/wp-content\/uploads\/2019\/08\/e5d6a9f6ca0fc445f705a645e5319c06.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h4>P\u00f5hiteesid v\u00f5i millest see artikkel r\u00e4\u00e4gib<\/h4>\n<p>\nArtikli teema on PLC visuaalne programmeerimine <b>ShIoTiny<\/b> nutikodu kohta, millest siin r\u00e4\u00e4gitakse: <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>.<\/p>\n<p><b>Very briefly<\/b> kaetud sellised m\u00f5isted nagu <b>s\u00f5lmed<\/b>, <b>\u00fchendused<\/b>, <b>s\u00fcndmustele<\/b>, samuti visuaalse programmi laadimise ja k\u00e4itamise omadused <b>ESP8266<\/b>, mis on PLC aluseks <b>ShIoTiny<\/b>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Sissejuhatus v\u00f5i paar korralikku k\u00fcsimust<\/h4>\n<p>\nEelmises artiklis oma arendusest andsin l\u00fchikese \u00fclevaate kontrolleri v\u00f5imalustest <b>ShIoTiny<\/b>.<\/p>\n<p>Imelikul kombel n\u00e4itas avalikkus \u00fcsna suurt huvi ning esitas mulle \u00fcsna palju k\u00fcsimusi. M\u00f5ned inimesed pakkusid isegi kohe, et ostavad minult kontrolleri. Ei, ma ei ole vastu sellele, et natuke raha teenida, kuid s\u00fcdametunnistus ei luba mul m\u00fc\u00fca veel liiga toorest tarkvaraliselt eset.<\/p>\n<p>Seet\u00f5ttu olen GitHubis v\u00e4lja pannud valmis firmware ja seadme skeemi: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/shiotiny\/ShIoTinyBin\">firmware+\u00f5petus l\u00fchim+skeem+n\u00e4idised<\/a><\/noindex>.<\/p>\n<p>N\u00fc\u00fcd saab iga\u00fcks ESP-07-seada ja ise firmware'iga katsetada. Kui kellelgi on t\u00f5eliselt tarvis just sellist plaati nagu pildil \u2014 mul on neid paar t\u00fckki. Kirjutage meili peale <b>shiotiny@yandex.ru<\/b>. Kuid nagu \u00fctles unustamatu Ogurtsov: \"Ma ei vastuta mitte millelegi!\".<\/p>\n<p>\u0418\u0442\u0430\u043a, \u043f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u043a \u0441\u0443\u0442\u0438: \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 &#171;<b>s\u00f5lm<\/b>&#187; (\u043d\u043e\u0434\u0430) \u0438 &#171;<b>s\u00fcndmus<\/b>&#171;? \u041a\u0430\u043a \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430?<\/p>\n<p>Alustame tavap\u00e4raselt: programm pannakse \u00fcles laadimisega.<\/p>\n<h4>Kuidas programm laaditakse?<\/h4>\n<p>\nAlustame sellest, mis juhtub siis, kui me vajutame nuppu <b>\u00dcleslaadimine<\/b> toimetajas <b>ElDraw<\/b> ja meie ruudustikuga programm saadetakse seadmesse.<\/p>\n<p>Esiteks luuakse meie visandatud skeemi p\u00f5hjal selle tekstiline kirjeldus.<br \/>\nTeiseks kontrollitakse, kas k\u00f5ik s\u00f5lmede sisendid on \u00fchendatud v\u00e4ljunditega. \u201eRippuvaid\u201c sisendeid ei tohiks olla. Kui selline sisend leitakse, siis skeem ShIoTiny'sse ei laadi, ja toimetaja annab vastava teate.<\/p>\n<p>Kui k\u00f5ik l\u00e4ks edukalt, saadab toimetaja ShIoTiny'sse skeemi tekstilise kirjelduse \u00fche s\u00f5lme kaupa. Loomulikult eemaldatakse eelnev skeem ShIoTiny'st. Saadud tekstiline kirjeldus salvestatakse FLASH-m\u00e4esse.<\/p>\n<p>Muide, kui soovite eemaldada skeemi seadmest, laadige lihtsalt sisse t\u00fchi skeem (millel ei ole \u00fchtegi element-s\u00f5lme).<\/p>\n<p>Niipea, kui kogu skeem-programm on ShIoTiny PLC'sse laaditud, hakkab see \u201et\u00e4ituma\u201c. Mida see t\u00e4hendab?<\/p>\n<p>T\u00e4htis on m\u00e4rkida, et skeemi laadimisprotsess FLASH-m\u00e4lust sisse l\u00fclitamisel ja skeemi vastuv\u00f5tmine redigeerijast on identsed.<\/p>\n<p>Esialgu luuakse objektide s\u00f5lmed nende kirjelduse p\u00f5hjal.<br \/>\nSeej\u00e4rel paigutatakse s\u00f5lmede vahele seosed. See t\u00e4hendab, et genereeritakse v\u00e4ljundite lingid sisenditele ja sisendite lingid v\u00e4ljunditele.<\/p>\n<p>Ja alles p\u00e4rast seda k\u00e4ivitatakse programmi peamine t\u00e4itmisring.<\/p>\n<p>Kirjutasin kaua, kuid kogu protsess - skeemi laadimine FLASH-m\u00e4lust kuni peamise ts\u00fckli k\u00e4ivitamiseni - kestab 60\u201380 s\u00f5lmega skeemi jaoks murdosakesega.<\/p>\n<p>Kuidas peamine ts\u00fckkel t\u00f6\u00f6tab? V\u00e4ga lihtsalt. Esiteks ootab ta s\u00fcndmuse tekkimist <b>s\u00fcndmustele<\/b> m\u00f5nes s\u00f5lmes, seej\u00e4rel t\u00f6\u00f6tleb seda s\u00fcndmust. Ja nii l\u00f5putult. No v\u00f5i v\u00e4hemalt kuni ShIoTiny-sse laaditakse uus skeem.<\/p>\n<p>Olen mitu korda maininud selliseid asju nagu <b>s\u00fcndmustele<\/b>, <b>s\u00f5lmed<\/b> ja <b>\u00fchendused<\/b>. Aga mida see tegelikult t\u00e4hendab programmeerimise seisukohalt? R\u00e4\u00e4gime sellest t\u00e4na.<\/p>\n<h4>S\u00f5lmed, seosed ja s\u00fcndmused<\/h4>\n<p>\nPiisab, kui vaadata programmikava n\u00e4iteid <b>ShIoTiny<\/b>, et m\u00f5ista, et skeem koosneb vaid kahest entiteedist - s\u00f5lmedest (v\u00f5i elementidest) ja nende vahelisest seosest.<\/p>\n<p><b>S\u00f5lm<\/b>, <b>s\u00f5lm<\/b> v\u00f5i <b>skeemi element<\/b> on mingi virtuaalne esitus <b>tegevused.<\/b> andmete kohta. See v\u00f5ib olla aritmeetiline operatsioon, loogiline operatsioon v\u00f5i \u00fcldse \u00fcksk\u00f5ik milline operatsioon, mis meelde tuleb. Peamine on, et s\u00f5lmel on sisend ja v\u00e4ljund.<\/p>\n<p><b>Sisend<\/b> \u2014 see on see koht, kuhu s\u00f5lm v\u00f5tab andmeid. Sisendite pildid on punktid, mis asuvad alati s\u00f5lme vasakul k\u00fcljel.<\/p>\n<p><b>V\u00e4ljund<\/b> \u2014 see on see koht, kust v\u00f5etakse v\u00e4lja s\u00f5lme t\u00f6\u00f6 tulemus. V\u00e4ljundite pildid on punktid, mis asuvad alati s\u00f5lme paremal k\u00fcljel.<\/p>\n<p>M\u00f5nedel s\u00f5lmedel ei ole sisendeid. Sellised s\u00f5lmed genereerivad tulemuse enda sees. N\u00e4iteks konstandi s\u00f5lm v\u00f5i anduri s\u00f5lm: neil ei ole vaja andmeid teistelt s\u00f5lmedelt, et tulemusi teatada.<\/p>\n<p>Teistel s\u00f5lmedel, vastupidi, ei ole v\u00e4ljundeid. Need on s\u00f5lmed, mis n\u00e4itavad n\u00e4iteks t\u00e4idesaatvaid seadmeid (releed v\u00f5i midagi muud sarnast). Nad v\u00f5tavad andmeid vastu, kuid ei genereeri arvutustulemusi, mis oleksid kergesti k\u00e4tte saadavad teistele s\u00f5lmedele.<\/p>\n<p>Lisaks on olemas ka ainulaadne kommentaaris\u00f5lm. See ei tee midagi, tal ei ole ei sisendeid ega v\u00e4ljundeid. Selle eesm\u00e4rk on olla skeemi selgitus.<\/p>\n<p>Mis on \"<b>s\u00fcndmus<\/b>\u00bb? <b>S\u00fcndmus<\/b> \u2014 see on uute andmete esinemine m\u00f5nes s\u00f5lmes. N\u00e4iteks h\u00f5lmavad s\u00fcndmused: sisenemise oleku muutust (s\u00f5lm <b>Sisend<\/b>), andmete vastuv\u00f5tmist teisest seadmest (s\u00f5lmed <b>MQTT<\/b> ja <b>UDP<\/b>), m\u00e4\u00e4ratud ajavahemiku m\u00f6\u00f6dumist (s\u00f5lmed <b>Timer<\/b> ja <b>Viivitus<\/b>) jne.<\/p>\n<p>Miks on s\u00fcndmused vajalikud? Need on vajalikud selleks, et m\u00e4\u00e4rata, millises s\u00f5lmes on uusi andmeid ja milliste s\u00f5lmede olekuid tuleb uute andmete vastuv\u00f5tmise t\u00f5ttu muuta. S\u00fcndmus \u201el\u00e4bib\u201d s\u00f5lmede ahelat, kuni on k\u00e4inud k\u00f5igis s\u00f5lmedes, mille olekuid tuleb kontrollida ja muuta.<\/p>\n<p>K\u00f5iki s\u00f5lmi saab jagada kahte kategooriasse. <br \/>\nS\u00f5lmed, mis v\u00f5ivad genereerida s\u00fcndmusi, nimetame \u201e<b>aktiivseteks s\u00f5lmedeks<\/b>\u00bb.<br \/>\nS\u00f5lmed, mis ei saa genereerida s\u00fcndmusi, nimetame \u201e<b>passiivseteks s\u00f5lmedeks<\/b>\u00bb.<\/p>\n<p>Kui s\u00f5lm genereerib s\u00fcndmuse (st selle v\u00e4ljundis ilmuvad uued andmed), siis muutub \u00fcldjuhul kogu s\u00fcndmuse generaatori v\u00e4ljundiga \u00fchendatud s\u00f5lmede ahela olek.<\/p>\n<p>Kuna see on arusaadav, vaatame n\u00e4idet joonisel.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: s\u00f5lmed, sidemed ja s\u00fcndmused v\u00f5i programmide joonistamise erip\u00e4ra\" src=\"\/wp-content\/uploads\/2019\/08\/41b53ae925e85c3f272adec876ab3151.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSiin on aktiivsed s\u00f5lmed \u2014 Input1, Input2 ja Input3. \u00dclej\u00e4\u00e4nud s\u00f5lmed on passiivsed. Vaatleme, mis juhtub, kui m\u00f5ni sisend \u00fchendatakse. Tulemused on mugavuse huvides koondatud tabelisse.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: s\u00f5lmed, sidemed ja s\u00fcndmused v\u00f5i programmide joonistamise erip\u00e4ra\" src=\"\/wp-content\/uploads\/2019\/08\/0a8435184f85e919f763048120e6e780.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKuidas me n\u00e4eme, s\u00fcndmuse tekkimisel ehitatakse s\u00fcndmuse allika s\u00f5lmest kuni l\u00f5pp-s\u00f5lmest ahel. Need s\u00f5lmed, mis ei kuulu ahelasse, j\u00e4\u00e4vad muutumatuks.<\/p>\n<p>T\u00f5useb seaduslik k\u00fcsimus, mis juhtub, kui toimub kaks v\u00f5i rohkem s\u00fcndmust samaaegselt?<\/p>\n<p>Kuna olen looja Gleb Anfilovi f\u00e4nn, t\u00f5ukab mind saata uudishimulik k\u00fcsimuse esitajat tema raamatusse \u201eP\u00f5genemine \u00fcllatustest\u201c. See on nagu \u201erelatiivsusteooria v\u00e4ikeutele\u201c, kus on h\u00e4sti selgitatud, mis on \u201esamaaegne\u201c ja kuidas sellega elada.<\/p>\n<p>Kuid praktiliselt on k\u00f5ik palju lihtsam: kui toimub kaks v\u00f5i rohkem s\u00fcndmust, ehitatakse ja t\u00f6\u00f6deldakse k\u00f5ik ahelad j\u00e4rjestikult igalt s\u00fcndmuse allikalt ja mingit imet ei toimu.<\/p>\n<p>J\u00e4rgnevalt on t\u00e4iesti seaduslik k\u00fcsimus uudishimuliku lugeja jaoks \u2014 mis juhtub, kui s\u00f5lmeded ringi panna? V\u00f5i kuidas seda teie tarkade seas \u00f6elda \u2014 tagasiside sisestada. See t\u00e4hendab, et \u00fche s\u00f5lme v\u00e4ljund \u00fchendatakse eelneva s\u00f5lme sisendiga nii, et selle v\u00e4ljundi olek m\u00f5jutab selle enda sisendi olekut. Samuti ei luba toimetaja s\u00f5lme v\u00e4ljundit otse selle enda sisendiga kokku \u00fchendada. <b>ElDraw<\/b>. Kuid kaudselt, nagu alloleval joonisel \u2014 on see v\u00f5imalik.<\/p>\n<p>Nii et, mis siis juhtub? Vastus on v\u00e4ga \u201ekindel\u201d: olenevalt sellest, millised s\u00f5lmed. Vaatame joonisel esitatud n\u00e4idet.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: s\u00f5lmed, sidemed ja s\u00fcndmused v\u00f5i programmide joonistamise erip\u00e4ra\" src=\"\/wp-content\/uploads\/2019\/08\/7a640c3abfd4868b87f415bce93e4918.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui Input1 sisendi kontaktid on \u00fclesse \u00fchendatud s\u00f5lmes A \u2014 0. S\u00f5lme A v\u00e4ljundis on samuti 0. S\u00f5lme B v\u00e4ljundis \u2014 1. Ja l\u00f5puks, s\u00f5lme A alumises sisendis \u2014 1. K\u00f5ik selge. Kui kellelegi ei ole selge \u2014 vaadake allpool, kuidas s\u00f5lmed \u201eJA\u201d ja \u201eEI\u201d t\u00f6\u00f6tavad.<\/p>\n<p>N\u00fc\u00fcd \u00fchendame Input1 sisenemise kontaktid, see t\u00e4hendab, et anname s\u00f5lmele A \u00fcht. Need, kes tunnevad elektroonikat, teavad, et me saame t\u00f5eliselt klassikalise loogiliste elementide generaatori skeemi. Ja idee j\u00e4rgi peaks see skeem pidevalt tootma s\u00f5lmede A ja B v\u00e4ljundites j\u00e4rjestusi 1-0-1-0-1-0\u2026 ja 0-1-0-1-0-1\u2026. Sest s\u00fcndmus peaks pidevalt muutma s\u00f5lmede A ja B olekut, liikudes ringi 2-3-2-3-\u2026!<\/p>\n<p>Aga tegelikult ei juhtu seda. Skeem satub juhuslikku olekusse \u2014 kas relee j\u00e4\u00e4b sisse v\u00f5i v\u00e4lja, v\u00f5i v\u00f5ib isegi m\u00f5neks ajaks sisse-v\u00e4lja kl\u00f5psata. K\u00f5ik s\u00f5ltub Marsi l\u00f5unapooluse ilmaprognoosist. Ja just see on p\u00f5hjus, miks nii juhtub.<\/p>\n<p>S\u00fcndmus s\u00f5lmes Input1 muudab s\u00f5lme A olekut, seej\u00e4rel s\u00f5lme B ja nii edasi mitu korda ringi. Programm m\u00e4\u00e4rab s\u00fcndmuse \"ts\u00fckli\" ja sunnib selle karnevali katkestama. P\u00e4rast seda blokeeritakse s\u00f5lmede A ja B olekute muutmine kuni uue s\u00fcndmuse ilmumiseni. Aeg, mil programm otsustab \u2014 \"piisab ringis keerlemisest!\" \u2014 s\u00f5ltub \u00fcldiselt paljusid tegureid ja seda v\u00f5ib pidada juhuslikuks.<\/p>\n<blockquote><p>Olge ettevaatlikud, \u00fchendades s\u00f5lmed ringiks \u2014 efektid ei pruugi alati olla ilmsed! Olge selgelt teadlik, mida ja miks teete!<\/p><\/blockquote>\n<p> Kas on v\u00f5imalik siiski ehitada generaator k\u00f5igile meie soovitud s\u00f5lmedele? Jah, see on v\u00f5imalik! Kuid selleks on vajalik s\u00f5lm, mis suudab ise s\u00fcndmusi genereerida. Ja selline s\u00f5lm on olemas \u2014 see on \"viivitusliin\". Vaatame, kuidas t\u00f6\u00f6tab generaator, mille periood on 6 sekundit, alloleval joonisel.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: s\u00f5lmed, sidemed ja s\u00fcndmused v\u00f5i programmide joonistamise erip\u00e4ra\" src=\"\/wp-content\/uploads\/2019\/08\/7dc1babedec97fb8177b846c760ff44e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGeneraatori peamine element on s\u00f5lm A \u2014 viivitusliin. Kui muuta viivitusliini sissetuleku seisundit 0-lt 1-le, siis 1 ei ilmne v\u00e4ljundil kohe, vaid ainult p\u00e4rast m\u00e4\u00e4ratud aega. Meie juhul on see 3 sekundit. Sama kehtib ka juhul, kui muuta viivitusliini sissetuleku seisundit 1-lt 0-le; 0 ilmneb v\u00e4ljundil samuti p\u00e4rast samu 3 sekundit. Viivitusajast m\u00e4\u00e4ratakse k\u00fcmnendik sekundites. Seega v\u00e4\u00e4rtus 30 t\u00e4hendab 3 sek.<\/p>\n<p>Viivitusliini iseloomulikuks tunnuseks on see, et see genereerib s\u00fcndmuse p\u00e4rast viivitusaja m\u00f6\u00f6dumist.<\/p>\n<p>Oletame, et algselt oli viivituse joonel v\u00e4ljund 0. P\u00e4rast s\u00f5lme B \u2014 inverteri \u2014 l\u00e4bimist muutub see 0-ks 1 ja j\u00f5uab viivituse joone sisse. Alguses ei juhtu midagi. V\u00e4ljundil j\u00e4\u00e4b olekuks 0, kuid seej\u00e4rel algab viivituse ajaloog. Kolme sekundi p\u00e4rast tekib kohe viivituse joonel s\u00fcndmus. V\u00e4ljundil on n\u00fc\u00fcd 1. See 1, p\u00e4rast s\u00f5lme B \u2014 inverteri \u2014 l\u00e4bimist, muutub 0-ks ja j\u00f5uab j\u00e4lle viivituse joone sisse. Veel kolm sekundit m\u00f6\u00f6dub ... ja protsess kordub. See t\u00e4hendab, et iga kolme sekundi j\u00e4rel muutub viivituse joone v\u00e4ljund olek 0-lt 1-le ja seej\u00e4rel 1-lt 0-le. Relv kl\u00f5psab. Generaator t\u00f6\u00f6tab. Impulsi periood on 6 sekundit (3 sekundit v\u00e4ljund 0 ja 3 sekundit - 1).<\/p>\n<p>Kuid reaalsetes skeemides ei ole tavaliselt vaja kasutada isegi seda n\u00e4idet. On olemas spetsiaalsed s\u00f5lmed-timerid, mis suurep\u00e4raselt ja ilma v\u00e4lise abita genereerivad s\u00fcndmuste j\u00e4rjestust m\u00e4\u00e4ratud perioodiga. \"Nulli\" ja \"\u00fche\" kestus nendes impulssides on v\u00f5rdne poole perioodiga.<\/p>\n<blockquote><p>Perioodiliste toimingute m\u00e4\u00e4ramiseks kasutage s\u00f5lmi-timereid.<\/p><\/blockquote>\n<p> Tahan m\u00e4rkida, et selliseid digitaal-signaale, kus \"nulli\" ja \"\u00fche\" kestus on v\u00f5rdsed, nimetatakse \"meandriks\". <\/p>\n<p>Loodan, et sain natuke selgust anda k\u00fcsimuses, kuidas s\u00fcndmused node'ide vahel levides toimuvad ja mida ei tasu teha?<\/p>\n<h4>Kokkuv\u00f5te ja lingid<\/h4>\n<p>\nArtikkel tuli l\u00fchike, kuid see on vastus tekkivatele k\u00fcsimustele node'ide ja s\u00fcndmuste kohta.<\/p>\n<p>Protokollide arenedes ja uute n\u00e4idete ilmumisel hakkan kirjutama, kuidas programmeerida <b>ShIoTiny<\/b> v\u00e4ikesi artikleid, seni, kuni see inimestele huvi pakub.<\/p>\n<p>Nagu varemgi, on skeem, protokoll, n\u00e4ited, node'ide kirjeldus ja k\u00f5ik <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/shiotiny\/ShIoTinyBin\">muud siin<\/a><\/noindex>.<\/p>\n<p>K\u00fcsimused, soovitused, kriitika \u2014 need siia: <b>shiotiny@yandex.ru<\/b><br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463285\/\">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 \u0422\u0435\u043c\u0430 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u041f\u041b\u041a ShIoTiny \u0434\u043b\u044f \u0443\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0443\u0442: 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 \u043f\u043e\u043b\u0433\u043e\u0434\u0430 \u0434\u043e \u043e\u0442\u043f\u0443\u0441\u043a\u0430\u00bb. \u041e\u0447\u0435\u043d\u044c \u043a\u0440\u0430\u0442\u043a\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u0442\u0430\u043a\u0438\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f, \u043a\u0430\u043a \u0443\u0437\u043b\u044b, \u0441\u0432\u044f\u0437\u0438, \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 ESP8266, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043e\u0439 \u041f\u041b\u041a ShIoTiny. \u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28078,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37422","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 \u0422\u0435\u043c\u0430 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u041f\u041b\u041a ShIoTiny \u0434\u043b\u044f \u0443\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0443\u0442: 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 \u043f\u043e\u043b\u0433\u043e\u0434\u0430 \u0434\u043e \u043e\u0442\u043f\u0443\u0441\u043a\u0430\u00bb. \u041e\u0447\u0435\u043d\u044c \u043a\u0440\u0430\u0442\u043a\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u0442\u0430\u043a\u0438\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f, \u043a\u0430\u043a \u0443\u0437\u043b\u044b, \u0441\u0432\u044f\u0437\u0438, \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 ESP8266, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043e\u0439 \u041f\u041b\u041a ShIoTiny. \u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0438\u043b\u0438\" \/>\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-uzly-svyazi-i-sobytiya-ili-osobennosti-risovaniya-programm\" \/>\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: \u0443\u0437\u043b\u044b, \u0441\u0432\u044f\u0437\u0438 \u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0438\u043b\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c | 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 \u0422\u0435\u043c\u0430 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u041f\u041b\u041a ShIoTiny \u0434\u043b\u044f \u0443\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0443\u0442: 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 \u043f\u043e\u043b\u0433\u043e\u0434\u0430 \u0434\u043e \u043e\u0442\u043f\u0443\u0441\u043a\u0430\u00bb. \u041e\u0447\u0435\u043d\u044c \u043a\u0440\u0430\u0442\u043a\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u0442\u0430\u043a\u0438\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f, \u043a\u0430\u043a \u0443\u0437\u043b\u044b, \u0441\u0432\u044f\u0437\u0438, \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 ESP8266, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043e\u0439 \u041f\u041b\u041a ShIoTiny. \u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0438\u043b\u0438\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/shiotiny-uzly-svyazi-i-sobytiya-ili-osobennosti-risovaniya-programm\" \/>\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: node'id, seosed ja s\u00fcndmused v\u00f5i programmide joonistamise omadused | ProHoster","description":"Peamised teesid v\u00f5i millest see artikkel r\u00e4\u00e4gib. Artikli teema \u2014 visuaalne programmeerimine PLC ShIoTiny nutika kodu jaoks, mida kirjeldatakse siin: ShIoTiny: v\u00e4ike automatiseerimine, asjade internet v\u00f5i \"kuus kuud enne puhkust\". V\u00e4ga l\u00fchidalt k\u00e4sitletakse selliseid m\u00f5isteid nagu node'id, seosed, s\u00fcndmused ning samuti visuaalse programmi laadimise ja t\u00e4itmise erip\u00e4ra ESP8266-l, mis on PLC ShIoTiny aluseks. Sissejuhatus v\u00f5i","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/shiotiny-uzly-svyazi-i-sobytiya-ili-osobennosti-risovaniya-programm","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: \u0443\u0437\u043b\u044b, \u0441\u0432\u044f\u0437\u0438 \u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0438\u043b\u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c | 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 \u0422\u0435\u043c\u0430 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u041f\u041b\u041a ShIoTiny \u0434\u043b\u044f \u0443\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0443\u0442: 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 \u043f\u043e\u043b\u0433\u043e\u0434\u0430 \u0434\u043e \u043e\u0442\u043f\u0443\u0441\u043a\u0430\u00bb. \u041e\u0447\u0435\u043d\u044c \u043a\u0440\u0430\u0442\u043a\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u0442\u0430\u043a\u0438\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f, \u043a\u0430\u043a \u0443\u0437\u043b\u044b, \u0441\u0432\u044f\u0437\u0438, \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 ESP8266, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043e\u0439 \u041f\u041b\u041a ShIoTiny. \u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0438\u043b\u0438","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/shiotiny-uzly-svyazi-i-sobytiya-ili-osobennosti-risovaniya-programm","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":"37422","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\/37422","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=37422"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/37422\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/28078"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=37422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=37422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=37422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}