{"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\/it\/blog\/administrirovanie\/shiotiny-uzly-svyazi-i-sobytiya-ili-osobennosti-risovaniya-programm","title":{"rendered":"ShIoTiny: nodi, collegamenti ed eventi o caratteristiche del disegno dei programmi","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"ShIoTiny: nodi, collegamenti ed eventi o caratteristiche del disegno dei programmi\" src=\"\/wp-content\/uploads\/2019\/08\/e5d6a9f6ca0fc445f705a645e5319c06.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h4>Punti principali o di cosa parla questo articolo<\/h4>\n<p>\nIl tema dell'articolo \u00e8 la programmazione visuale PLC <b>ShIoTiny<\/b> per la casa intelligente descritta qui: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463107\/\">ShIoTiny: automazione leggera, internet delle cose o \"sei mesi prima della ferie\"<\/a><\/noindex>.<\/p>\n<p><b>Molto brevemente<\/b> sono stati trattati concetti come <b>nodi<\/b>, <b>connessioni<\/b>, <b>eventi<\/b>, cos\u00ec come le caratteristiche di caricamento ed esecuzione del programma visuale su <b>ESP8266<\/b>, che \u00e8 la base del PLC <b>ShIoTiny<\/b>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Introduzione o un paio di domande generali<\/h4>\n<p>\nNel precedente articolo riguardo il mio sviluppo, ho fornito una breve panoramica delle capacit\u00e0 del controllore <b>ShIoTiny<\/b>.<\/p>\n<p>Stranamente, il pubblico ha mostrato un interessante interesse e mi ha posto molte domande. Alcuni hanno persino subito proposto di acquistare il controllore da me. No, non sono contrario a guadagnare qualcosa, ma la mia coscienza non mi permette di vendere una cosa ancora molto grezza dal punto di vista software.<\/p>\n<p>Quindi ho caricato su GitHub i binari del firmware e lo schema del dispositivo: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/shiotiny\/ShIoTinyBin\">firmware+istruzioni pi\u00f9 brevi+ schema+esempi<\/a><\/noindex>.<\/p>\n<p>Ora chiunque pu\u00f2 caricare l\u2019ESP-07 e sperimentare personalmente con il firmware. Se a qualcuno interessa davvero una scheda come quella in foto \u2014 ne ho un paio. Scrivetemi via email <b>shiotiny@yandex.ru<\/b>. Ma, come diceva il memorabile Ogurtsov: \u00abNon mi prendo alcuna responsabilit\u00e0!\u00bb<\/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>nodo<\/b>&#187; (\u043d\u043e\u0434\u0430) \u0438 &#171;<b>evento<\/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>Come al solito, iniziamo in ordine: dal caricamento del programma.<\/p>\n<h4>Come viene caricato il programma<\/h4>\n<p>\nIniziamo da cosa succede quando premiamo il bottone <b>Carica<\/b> nell'editor <b>ElDraw<\/b> e il nostro schema-programma, composto da bellissimi quadrati, viene inviato al dispositivo.<\/p>\n<p>In primo luogo, sulla base dello schema disegnato, viene costruita una sua descrizione in formato testuale.<br \/>\nIn secondo luogo, si verifica se tutti gli ingressi dei nodi sono collegati alle uscite. Non devono esserci ingressi \"sospesi\". Se viene trovato un ingresso del genere, lo schema non verr\u00e0 caricato in ShIoTiny e l'editor mostrer\u00e0 un avviso corrispondente.<\/p>\n<p>Se tutto \u00e8 andato a buon fine, l'editor invia a ShIoTiny la descrizione testuale dello schema nodo per nodo. Naturalmente, lo schema esistente in ShIoTiny verr\u00e0 precedentemente eliminato. La descrizione testuale ottenuta viene salvata nella memoria FLASH.<\/p>\n<p>A proposito, se desideri eliminare lo schema dal dispositivo, basta caricare uno schema vuoto (che non contenga alcun elemento-nodo).<\/p>\n<p>Non appena l'intero schema-programma \u00e8 caricato nel PLC ShIoTiny, inizia a \"eseguire\". Cosa significa?<\/p>\n<p>Va notato che i processi di caricamento dello schema dalla memoria FLASH all'accensione e di ricezione dello schema dall'editor sono identici.<\/p>\n<p>In primo luogo, si procede alla creazione di oggetti-nodo basati sulla loro descrizione.<br \/>\nSuccessivamente, si stabiliscono le connessioni tra i nodi. In altre parole, vengono generate le relazioni tra uscite e ingressi.<\/p>\n<p>E solo dopo tutto ci\u00f2 inizia il ciclo principale di esecuzione del programma.<\/p>\n<p>Ho scritto a lungo, ma l'intero processo, dal \"caricamento\" dello schema dalla memoria FLASH all'avvio del ciclo principale, richiede frazioni di secondo per uno schema di 60-80 nodi.<\/p>\n<p>Come funziona il ciclo principale? Molto semplice. Prima attende l'insorgere <b>eventi<\/b> in un nodo qualsiasi, poi elabora questo evento. E cos\u00ec via all'infinito. O fino a quando non viene caricato un nuovo schema in ShIoTiny.<\/p>\n<p>Ho gi\u00e0 menzionato diverse volte cose come <b>eventi<\/b>, <b>nodi<\/b> e <b>connessioni<\/b>. Ma cosa sono esattamente da un punto di vista programmatico? Di questo parleremo oggi.<\/p>\n<h4>Nodi, connessioni ed eventi<\/h4>\n<p>\nBasta dare un'occhiata agli esempi di schemi-programma per <b>ShIoTiny<\/b>, per capire che uno schema \u00e8 composto solo da due entit\u00e0: nodi (o elementi) e connessioni tra di loro.<\/p>\n<p><b>Nodo<\/b>, <b>nodo<\/b> o <b>elemento dello schema<\/b> \u2014 \u00e8 una rappresentazione virtuale di qualche <b>azione<\/b> sui dati. Pu\u00f2 essere un'operazione aritmetica, un'operazione logica o qualsiasi tipo di operazione che ci venga in mente. L'importante \u00e8 che il nodo abbia un ingresso e un'uscita.<\/p>\n<p><b>Accesso<\/b> \u2014 \u00e8 il luogo dove il nodo riceve i dati. Le immagini delle entrate sono i punti che si trovano sempre sul lato sinistro del nodo.<\/p>\n<p><b>Uscita<\/b> \u2014 \u00e8 il luogo da cui viene estratto il risultato del lavoro del nodo. Le immagini delle uscite sono i punti che si trovano sempre sul lato destro del nodo.<\/p>\n<p>Alcuni nodi non hanno ingressi. Tali nodi generano un risultato al loro interno. Ad esempio, un nodo costante o un nodo sensore: non hanno bisogno di dati da altri nodi per fornire un risultato.<\/p>\n<p>Altri nodi, al contrario, non hanno uscite. Questi nodi rappresentano, ad esempio, dispositivi esecutivi (rel\u00e8 o simili). Ricevono dati, ma non generano risultati delle elaborazioni disponibili per altri nodi.<\/p>\n<p>Inoltre, c'\u00e8 un nodo commento unico. Non fa nulla, non ha n\u00e9 ingressi n\u00e9 uscite. Il suo scopo \u00e8 essere un chiarimento nello schema.<\/p>\n<p>Che cos'\u00e8 \u00ab<b>evento<\/b>\u00bb? <b>Evento<\/b> \u2014 \u00e8 la generazione di nuovi dati in un nodo. Ad esempio, gli eventi includono: la modifica dello stato dell'ingresso (nodo <b>Ingresso<\/b>), la ricezione di dati da un altro dispositivo (nodi <b>MQTT<\/b> e <b>UDP<\/b>), il trascorrere di un intervallo di tempo specificato (nodi <b>Timer<\/b> e <b>Delay<\/b>) e cos\u00ec via.<\/p>\n<p>A cosa servono gli eventi? Servono a determinare in quale nodo siano emersi nuovi dati e quali stati dei nodi debbano essere modificati in base alla ricezione di nuovi dati. L'evento, in un certo senso, \u2018passa\u2019 attraverso la catena di nodi finch\u00e9 non esplora tutti i nodi il cui stato deve essere verificato e modificato.<\/p>\n<p>Tutti i nodi possono essere suddivisi in due categorie. <br \/>\nI nodi che possono generare eventi saranno chiamati \u00ab<b>nodi attivi<\/b>\u00bb.<br \/>\n. I nodi che non possono generare eventi saranno chiamati \u00ab<b>nodi passivi<\/b>\u00bb.<\/p>\n<p>. Quando un nodo genera un evento (ovvero, quando emergono nuovi dati dal suo output), di norma cambia lo stato dell'intera catena di nodi connessi all'output del nodo generatore dell'evento.<\/p>\n<p>Per chiarire, consideriamo un esempio nell'immagine.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: nodi, collegamenti ed eventi o caratteristiche del disegno dei programmi\" src=\"\/wp-content\/uploads\/2019\/08\/41b53ae925e85c3f272adec876ab3151.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nI nodi attivi qui sono \u2013 Input1, Input2 e Input3. Gli altri nodi sono passivi. Analizziamo cosa succede quando viene chiuso uno di questi ingressi. I risultati sono riassunti in una tabella per comodit\u00e0.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: nodi, collegamenti ed eventi o caratteristiche del disegno dei programmi\" src=\"\/wp-content\/uploads\/2019\/08\/0a8435184f85e919f763048120e6e780.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCome possiamo vedere, quando si verifica un evento, si costruisce una catena dal nodo sorgente dell'evento fino al nodo finale. Lo stato dei nodi che non rientrano nella catena non cambia.<\/p>\n<p>Sorge una legittima domanda: cosa succede se si verificano due eventi o addirittura pi\u00f9 eventi contemporaneamente?<\/p>\n<p>Essendo un amante delle creazioni di Gleb Anfilov, mi viene voglia di indirizzare il curioso interrogante al suo libro \u00abFuga dalle meraviglie\u00bb. \u00c8 una sorta di \u00abteoria della relativit\u00e0 per i pi\u00f9 piccoli\u00bb, dove viene spiegato bene cosa significa \u00abcontemporaneamente\u00bb e come viverci.<\/p>\n<p>Ma in pratica \u00e8 tutto molto pi\u00f9 semplice: quando si verificano due o pi\u00f9 eventi, si costruiscono e si elaborano in sequenza tutte le catene da ogni sorgente dell'evento a turno, senza alcun miracolo.<\/p>\n<p>La domanda successiva, assolutamente legittima, di un lettore curioso \u00e8: cosa succede se si collegano i nodi in un anello? O, come si dice tra questi intelligenti, introdurre un feedback. Cio\u00e8, collegare l'uscita di un nodo all'ingresso del nodo precedente, in modo che lo stato dell'uscita influisca sullo stato del suo stesso ingresso. Non potrete collegare direttamente l'uscita di un nodo al suo ingresso. <b>ElDraw<\/b>Ma in modo indiretto, come mostrato nell'immagine qui sotto, \u00e8 possibile farlo.<\/p>\n<p>Allora, cosa succede in questo caso? La risposta sar\u00e0 molto \"definita\": dipende da quali nodi. Consideriamo un esempio nell'immagine.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: nodi, collegamenti ed eventi o caratteristiche del disegno dei programmi\" src=\"\/wp-content\/uploads\/2019\/08\/7a640c3abfd4868b87f415bce93e4918.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQuando i contatti dell'ingresso Input1 sono aperti sul terminale superiore del nodo A, l'uscita del nodo A \u00e8 0. L'uscita del nodo B \u00e8 1. Infine, sull'ingresso inferiore del nodo A, \u00e8 1. Tutto chiaro. E per chi non \u00e8 chiaro, date un'occhiata alla descrizione di come funzionano i nodi \"E\" e \"NON\" qui sotto.<\/p>\n<p>Ora colleghiamo i contatti dell'ingresso Input1, ossia forniremo un'unit\u00e0 all'ingresso superiore del nodo A. Chi \u00e8 familiare con l'elettronica sa che otterremo effettivamente un classico schema di generatore su elementi logici. E in teoria, questo schema dovrebbe produrre all'infinito sequenze 1-0-1-0-1-0\u2026 e 0-1-0-1-0-1-\u2026 in uscita dai nodi A e B. Infatti, l'evento dovrebbe continuamente cambiare lo stato dei nodi A e B, seguendo il ciclo 2-3-2-3\u2026!<\/p>\n<p>Ma in realt\u00e0 ci\u00f2 non accade. Lo schema entrer\u00e0 in uno stato casuale \u2014 o il rel\u00e8 rimarr\u00e0 attivato o disattivato, oppure potrebbe pulsare leggermente accendendosi e spegnendosi diverse volte di fila. Tutto dipende dal tempo al polo sud di Marte. Ed ecco perch\u00e9 succede ci\u00f2.<\/p>\n<p>L'evento dal nodo Input1 cambia lo stato del nodo A, poi quello del nodo B e cos\u00ec via per diverse volte in cerchio. Il programma riconosce il 'ciclo' dell'evento e termina forzatamente questo carnevale. Dopo di che, la modifica dello stato dei nodi A e B viene bloccata fino a quando non si verifica un nuovo evento. Il momento in cui il programma decider\u00e0 \u2014 'basta girare in tondo!' \u2014 dipende in genere da molti fattori e pu\u00f2 essere considerato casuale.<\/p>\n<blockquote><p>Fai attenzione a collegare i nodi in un anello: gli effetti non saranno sempre evidenti! Assicurati di avere ben chiaro cosa e perch\u00e9 stai facendo!<\/p><\/blockquote>\n<p> \u00c8 possibile costruire un generatore con i nodi a nostra disposizione? S\u00ec, \u00e8 possibile! Ma per questo \u00e8 necessario un nodo che possa generare eventi. E quel nodo esiste: \u00e8 la \u00ablinea di ritardo\u00bb. Vediamo come funziona il generatore con un periodo di 6 secondi nell'immagine sottostante.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: nodi, collegamenti ed eventi o caratteristiche del disegno dei programmi\" src=\"\/wp-content\/uploads\/2019\/08\/7dc1babedec97fb8177b846c760ff44e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nL'elemento chiave del generatore \u00e8 il nodo A \u2014 la linea di ritardo. Se si cambia lo stato dell'ingresso della linea di ritardo da 0 a 1, il valore 1 in uscita non apparir\u00e0 immediatamente, ma solo dopo un tempo prestabilito. Nel nostro caso, sono 3 secondi. Allo stesso modo, se si cambia lo stato dell'ingresso della linea di ritardo da 1 a 0, il valore 0 in uscita apparir\u00e0 dopo gli stessi 3 secondi. Il tempo di ritardo \u00e8 definito in decimi di secondo, quindi un valore di 30 significa 3 secondi.<\/p>\n<p>La caratteristica della linea di ritardo \u00e8 che genera un evento dopo il decorso del tempo di ritardo.<\/p>\n<p>Supponiamo che inizialmente l'uscita della linea di ritardo fosse 0. Dopo il passaggio attraverso il nodo B \u2014 l'invertitore \u2014 questo 0 si trasforma in 1 e arriva all'ingresso della linea di ritardo. Inizialmente, non succede nulla. All'uscita della linea di ritardo rimane 0, ma inizia il conteggio del tempo di ritardo. Passano 3 secondi. In quel momento la linea di ritardo genera un evento. Sull'uscita appare 1. Questa unit\u00e0, dopo il passaggio attraverso il nodo B \u2014 l'invertitore \u2014 si trasforma in 0 e arriva all'ingresso della linea di ritardo. Passano altri 3 secondi\u2026 e il processo si ripete. Cio\u00e8, ogni 3 secondi lo stato dell'uscita della linea di ritardo cambia da 0 a 1 e poi da 1 a 0. Il rel\u00e8 scatta. Il generatore funziona. Il periodo degli impulsi \u00e8 di 6 secondi (3 secondi di uscita zero e 3 secondi di uno).<\/p>\n<p>Tuttavia, negli schemi reali, di solito non \u00e8 necessario utilizzare nemmeno questo esempio. Esistono nodi timer speciali che generano magnificamente e senza aiuto esterno sequenze di impulsi con un periodo prestabilito. La durata di 'zero' e 'uno' in questi impulsi \u00e8 pari alla met\u00e0 del periodo.<\/p>\n<blockquote><p>Per impostare azioni periodiche, utilizzare nodi timer.<\/p><\/blockquote>\n<p> Voglio sottolineare che i segnali digitali in cui la durata di 'zero' e 'uno' sono uguali sono chiamati 'meandro'. <\/p>\n<p>Spero di aver chiarito un po' la questione su come avviene la diffusione degli eventi tra i nodi e cosa non bisogna fare.<\/p>\n<h4>Conclusione e link<\/h4>\n<p>\nL'articolo \u00e8 breve, ma \u00e8 una risposta alle domande emerse sui nodi e sugli eventi.<\/p>\n<p>Man mano che le versioni del firmware evolvono e nuovi esempi appaiono, scriver\u00f2 su come programmare <b>ShIoTiny<\/b> piccoli articoli, fintanto che ci\u00f2 interesser\u00e0 le persone.<\/p>\n<p>Come in precedenza, schema, firmware, esempi, descrizione dei nodi e tutto <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/shiotiny\/ShIoTinyBin\">il resto qui<\/a><\/noindex>.<\/p>\n<p>Domande, suggerimenti, critiche \u2014 questo \u00e8 il posto: <b>shiotiny@yandex.ru<\/b><br \/>\n<br \/>Fonte: <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\/it\/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=\"it_IT\" \/>\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\/it\/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: nodi, connessioni e eventi o le caratteristiche della progettazione dei programmi | ProHoster","description":"Principali punti o di cosa tratta questo articolo. L'argomento dell'articolo \u00e8 la programmazione visiva del PLC ShIoTiny per la casa intelligente, descritta qui: ShIoTiny: automazione leggera, Internet delle cose o 'sei mesi prima della vacanza'. Vengono esaminati molto brevemente concetti come nodi, connessioni, eventi, nonch\u00e9 le caratteristiche del caricamento e dell'esecuzione di un programma visivo su ESP8266, che \u00e8 alla base del PLC ShIoTiny.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/shiotiny-uzly-svyazi-i-sobytiya-ili-osobennosti-risovaniya-programm","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/37422","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=37422"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/37422\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/28078"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=37422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=37422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=37422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}