{"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\/sq\/blog\/administrirovanie\/shiotiny-uzly-svyazi-i-sobytiya-ili-osobennosti-risovaniya-programm","title":{"rendered":"ShIoTiny: nyjat, lidhjet dhe ngjarjet ose karakteristikat e vizatimit t\u00eb programeve","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"ShIoTiny: nyjat, lidhjet dhe ngjarjet ose karakteristikat e vizatimit t\u00eb programeve\" src=\"\/wp-content\/uploads\/2019\/08\/e5d6a9f6ca0fc445f705a645e5319c06.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h4>Pikat kryesore ose p\u00ebr \u00e7far\u00eb \u00ebsht\u00eb ky artikull<\/h4>\n<p>\nTema e artikullit \u00ebsht\u00eb programimi vizual i PLC-ve <b>ShIoTiny<\/b> p\u00ebr sht\u00ebpin\u00eb inteligjente, e p\u00ebrshkruar k\u00ebtu: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463107\/\">ShIoTiny: automatizim i vog\u00ebl, interneti i gj\u00ebrave ose \"gjysm\u00eb viti para pushimeve\"<\/a><\/noindex>.<\/p>\n<p><b>Shum\u00eb shkurt<\/b> jan\u00eb shqyrtuar konceptet si <b>nyjat<\/b>, <b>lidhjet<\/b>, <b>ngjarjet<\/b>, si dhe ve\u00e7orit\u00eb e ngarkimit dhe ekzekutimit t\u00eb programit vizual n\u00eb <b>ESP8266<\/b>, i cili \u00ebsht\u00eb baza e PLC-s\u00eb <b>ShIoTiny<\/b>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Hyrje ose disa \u00e7\u00ebshtje organizative<\/h4>\n<p>\nN\u00eb artikullin e m\u00ebparsh\u00ebm p\u00ebr zhvillimin tim b\u00ebra nj\u00eb p\u00ebrmbledhje t\u00eb mund\u00ebsive t\u00eb kontrolluesit <b>ShIoTiny<\/b>.<\/p>\n<p>\u00c7udit\u00ebrisht, publiku tregoi nj\u00eb interes t\u00eb fort\u00eb dhe m\u00eb b\u00ebri shum\u00eb pyetje. Disa shok\u00eb madje m\u00eb sugjeruan menj\u00ebher\u00eb t\u00eb blinin kontrolluesin. Jo, nuk kam ndonj\u00eb problem t\u00eb fitoj pak, por nd\u00ebrgjegjja nuk m\u00eb lejon t\u00eb shes di\u00e7ka ende shum\u00eb e pap\u00ebrpunuar nga ana programore.<\/p>\n<p>Prandaj, un\u00eb e shp\u00ebrndava n\u00eb GitHub binar\u00ebt e firmware-it dhe diagramin e pajisjes: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/shiotiny\/ShIoTinyBin\">firmware + udh\u00ebzimi m\u00eb i shkurt\u00ebr + diagrami + shembuj<\/a><\/noindex>.<\/p>\n<p>Tani \u00e7do nj\u00ebri mund ta programoj\u00eb ESP-07 dhe t\u00eb luaj\u00eb me firmware-in. N\u00ebse dikujt i p\u00eblqen pik\u00ebrisht ky pllaka si n\u00eb foto \u2014 un\u00eb kam disa t\u00eb tilla. Shkruani n\u00eb email <b>shiotiny@yandex.ru<\/b>. Por, si\u00e7 thoshte i paharruari Ogurcov: \u201cNuk mbaj p\u00ebrgjegj\u00ebsi p\u00ebr asgj\u00eb!\u201d.<\/p>\n<p>Pra ndaj, le t\u00eb kalojm\u00eb n\u00eb thelb: \u00e7far\u00eb \u00ebsht\u00eb &#171;<b>nyja<\/b>&#187; (nod) dhe &#171;<b>ngjarje<\/b>&#171;? Si realizohet programi?<\/p>\n<p>Si zakonisht - le t\u00eb fillojm\u00eb nga e para: me ngarkimin e programit.<\/p>\n<h4>Si ngarkohet programi<\/h4>\n<p>\nT\u00eb fillojm\u00eb me at\u00eb q\u00eb ndodh kur shtypim butonin <b>Upload<\/b> n\u00eb redaktorin <b>ElDraw<\/b> dhe diagrami- programi yn\u00eb, i p\u00ebrb\u00ebr\u00eb nga katror\u00eb t\u00eb bukur, niset p\u00ebr n\u00eb pajisje.<\/p>\n<p>S\u00eb pari, mbi baz\u00ebn e diagramit t\u00eb vizatuar nga ne, nd\u00ebrtosh nj\u00eb p\u00ebrshkrim t\u00eb saj n\u00eb form\u00eb teksti.<br \/>\nS\u00eb dyti, kontrollohet - a jan\u00eb t\u00eb gjitha hyrjet e nyjave t\u00eb lidhura me daljet. Nuk duhet t\u00eb ket\u00eb hyrje \"t\u00eb l\u00ebna pa lidhje\". N\u00ebse nj\u00eb hyrje e till\u00eb zbulohet - diagrami n\u00eb ShIoTiny nuk do t\u00eb ngarkohet, dhe redaktori do t\u00eb jap\u00eb nj\u00eb paralajm\u00ebrim p\u00ebrkat\u00ebs.<\/p>\n<p>N\u00ebse gjith\u00e7ka shkon mir\u00eb, redaktori d\u00ebrgon n\u00eb ShIoTiny p\u00ebrshkrimin tekstual t\u00eb diagramit nj\u00eb nyje n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb. Sigurisht, diagrami ekzistues nga ShIoTiny fshihet paraprakisht. P\u00ebrshkrimi tekstual i marr\u00eb ruhet n\u00eb memorjen FLASH.<\/p>\n<p>P\u00ebr siguri, n\u00ebse d\u00ebshironi t\u00eb fshini diagramin nga pajisja, thjesht ngarkoni nj\u00eb diagram t\u00eb zbraz\u00ebt (q\u00eb nuk p\u00ebrmban asnj\u00eb element-nyje).<\/p>\n<p>Sa her\u00eb q\u00eb diagrami-programi ngarkohet n\u00eb PLC ShIoTiny, ai fillon \"t\u00eb ekzekutohet\". \u00c7far\u00eb do t\u00eb thot\u00eb kjo?<\/p>\n<p>Vlen t\u00eb theksohet se proceset e ngarkimit t\u00eb skem\u00ebs nga memorja FLASH gjat\u00eb ndezjes dhe kur merret skema nga redaktori jan\u00eb identike.<\/p>\n<p>Fillimisht krijohen objekte-nod q\u00eb bazohen n\u00eb p\u00ebrshkrimin e tyre.<br \/>\nPastaj vendosen lidhjet midis nod\u00ebve. Do t\u00eb thot\u00eb se gjenerohen referencat e daljes n\u00eb hyrje dhe hyrjeve n\u00eb dalje.<\/p>\n<p>Dhe vet\u00ebm pas t\u00eb gjith\u00eb k\u00ebsaj, fillon cikli kryesor i ekzekutimit t\u00eb programit.<\/p>\n<p>Kam shkruar p\u00ebr nj\u00eb koh\u00eb t\u00eb gjat\u00eb, por e gjith\u00eb procedura - nga \"ngarkimi\" i skem\u00ebs nga memoria FLASH deri n\u00eb nisjen e ciklit kryesor - z\u00eb disa pjes\u00eb sekonde p\u00ebr nj\u00eb skem\u00eb me 60-80 nod.<\/p>\n<p>Si funksionon cikli kryesor? Shum\u00eb thjesht. Fillimisht ai pret t\u00eb ndodh\u00eb n\u00eb <b>ngjarjet<\/b> n\u00eb ndonj\u00eb nod, pastaj e p\u00ebrpunon k\u00ebt\u00eb ngjarje. Dhe k\u00ebshtu pa fund. Ose derisa t\u00eb ngarkojn\u00eb nj\u00eb skem\u00eb t\u00eb re n\u00eb ShIoTiny.<\/p>\n<p>Koh\u00ebve t\u00eb fundit kam p\u00ebrmendur disa gj\u00ebra, si <b>ngjarjet<\/b>, <b>nyjat<\/b> dhe <b>lidhjet<\/b>. Por \u00e7far\u00eb \u00ebsht\u00eb kjo nga pik\u00ebpamja programore? Do flasim p\u00ebr k\u00ebt\u00eb sot.<\/p>\n<h4>Nod\u00eb, lidhje dhe ngjarje<\/h4>\n<p>\nMjafton t\u00eb shikosh shembujt e skemave-program p\u00ebr <b>ShIoTiny<\/b>, p\u00ebr t\u00eb kuptuar se skema p\u00ebrb\u00ebhet vet\u00ebm nga dy entitete - nod\u00ebt (ose element\u00ebt) dhe lidhjet midis tyre.<\/p>\n<p><b>Nyja<\/b>, <b>nod\u00eb<\/b> ose <b>element i skem\u00ebs<\/b> \u2014 kjo \u00ebsht\u00eb nj\u00eb p\u00ebrfaq\u00ebsim virtual i di\u00e7kaje <b>veprime<\/b> n\u00eb t\u00eb dh\u00ebna. Kjo mund t\u00eb jet\u00eb nj\u00eb operacion aritmetik, nj\u00eb operacion logjik ose ndonj\u00eb operacion tjet\u00ebr q\u00eb na vjen n\u00eb mendje. E r\u00ebnd\u00ebsishme \u00ebsht\u00eb q\u00eb nodi ka nj\u00eb hyrje dhe nj\u00eb dalje.<\/p>\n<p><b>Hyrja<\/b> \u2014 \u00ebsht\u00eb vendi ku nodi pranon t\u00eb dh\u00ebnat. Pamjet e hyrjeve jan\u00eb pik\u00eb q\u00eb gjithmon\u00eb ndodhen n\u00eb an\u00ebn e majt\u00eb t\u00eb nodit.<\/p>\n<p><b>Dalje<\/b> \u2014 \u00ebsht\u00eb vendi nga i cili nxirret rezultati i pun\u00ebs s\u00eb nodit. Pamjet e daljeve jan\u00eb pik\u00eb q\u00eb gjithmon\u00eb ndodhen n\u00eb an\u00ebn e djatht\u00eb t\u00eb nodit.<\/p>\n<p>Disa nod\u00eb nuk kan\u00eb hyrje. K\u00ebto nod\u00eb gjenerojn\u00eb rezultatet brenda tyre. P.sh., nodi-konsistent ose nodi-sensor: ata nuk kan\u00eb nevoj\u00eb p\u00ebr t\u00eb dh\u00ebna nga nod\u00eb t\u00eb tjera p\u00ebr t\u00eb raportuar rezultatin.<\/p>\n<p>Nd\u00ebrsa nod\u00ebt e tjera, p\u00ebrkundrazi, nuk kan\u00eb dalje. K\u00ebto jan\u00eb nod\u00eb q\u00eb shfaqin, p.sh., pajisje ekzekutimi (rele ose ndonj\u00eb gj\u00eb tjet\u00ebr t\u00eb ngjashme). Ata marrin t\u00eb dh\u00ebna, por nuk gjenerojn\u00eb rezultate t\u00eb llogaritjeve t\u00eb disponueshme p\u00ebr nod\u00ebt e tjera.<\/p>\n<p>P\u00ebrve\u00e7 k\u00ebsaj, ka nj\u00eb nod\u00eb-unik-koment. Ai nuk b\u00ebn asgj\u00eb, nuk ka hyrje apo dalje. Q\u00ebllimi i tij \u00ebsht\u00eb t\u00eb jet\u00eb nj\u00eb shpjegim n\u00eb skem\u00eb.<\/p>\n<p>\u00c7far\u00eb \u00ebsht\u00eb \"<b>ngjarje<\/b>\u00bb? <b>Ngjarja<\/b> \u2014 \u00ebsht\u00eb shfaqja e t\u00eb dh\u00ebnave t\u00eb reja n\u00eb ndonj\u00eb nod. P.sh., ngjarjet p\u00ebrfshijn\u00eb: ndryshimin e gjendjes s\u00eb hyrjes (nod <b>Input<\/b>), marrja e t\u00eb dh\u00ebnave nga nj\u00eb pajisje tjet\u00ebr (nyjat <b>MQTT<\/b> dhe <b>UDP<\/b>), kalimi i nj\u00eb periudhe t\u00eb caktuar kohore (nyjat <b>Timer<\/b> dhe <b>Vonesa<\/b>) dhe k\u00ebshtu me radh\u00eb.<\/p>\n<p>P\u00ebr \u00e7far\u00eb sh\u00ebrbejn\u00eb ngjarjet? Po p\u00ebr t\u00eb p\u00ebrcaktuar se n\u00eb cil\u00ebn nyje jan\u00eb krijuar t\u00eb dh\u00ebna t\u00eb reja dhe cilat gjendje nyjash duhet t\u00eb ndryshohen pas marrjes s\u00eb t\u00eb dh\u00ebnave t\u00eb reja. Ngjarja, si t\u00eb thuash, \"kalon\" p\u00ebrmes zinxhirit t\u00eb nyjeve, derisa t\u00eb kontrolloj\u00eb dhe ndryshoj\u00eb t\u00eb gjitha nyjat q\u00eb duhet.<\/p>\n<p>T\u00eb gjitha nyjat mund t\u00eb ndahen n\u00eb dy kategori. <br \/>\nNyjat q\u00eb mund t\u00eb gjenerojn\u00eb ngjarje do t'i quajm\u00eb \"<b>nyje aktive<\/b>\u00bb.<br \/>\nNyjat q\u00eb nuk mund t\u00eb gjenerojn\u00eb ngjarje do t'i quajm\u00eb \"<b>nyje pasive<\/b>\u00bb.<\/p>\n<p>Kur nj\u00eb nyje gjeneron nj\u00eb ngjarje (dometh\u00ebn\u00eb, dalin t\u00eb dh\u00ebna t\u00eb reja), at\u00ebher\u00eb n\u00eb p\u00ebrgjith\u00ebsi nd\u00ebrlikohet gjendja e gjith\u00eb zinxhirit t\u00eb nyjeve t\u00eb lidhura me daljen e nyj\u00ebs-gjenerator t\u00eb ngjarjes.<\/p>\n<p>P\u00ebr ta b\u00ebr\u00eb t\u00eb qart\u00eb, le t\u00eb shqyrtojm\u00eb nj\u00eb shembull n\u00eb vizatim.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: nyjat, lidhjet dhe ngjarjet ose karakteristikat e vizatimit t\u00eb programeve\" src=\"\/wp-content\/uploads\/2019\/08\/41b53ae925e85c3f272adec876ab3151.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNyjet aktive k\u00ebtu jan\u00eb Input1, Input2 dhe Input3. Nyjat e tjera jan\u00eb pasive. Le t\u00eb shohim se \u00e7far\u00eb ndodh kur nj\u00eb nga hyrjet mbyllet. Rezultatet p\u00ebr leht\u00ebsi jan\u00eb p\u00ebrmbledhur n\u00eb nj\u00eb tabel\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: nyjat, lidhjet dhe ngjarjet ose karakteristikat e vizatimit t\u00eb programeve\" src=\"\/wp-content\/uploads\/2019\/08\/0a8435184f85e919f763048120e6e780.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSi\u00e7 e shohim, kur ndodh nj\u00eb ngjarje, nd\u00ebrtohet nj\u00eb zinxhir nga nyja-burim e ngjarjes deri te nyja p\u00ebrfundimtare. Gjendja e atyre nyjave q\u00eb nuk jan\u00eb p\u00ebrfshir\u00eb n\u00eb zinxhir mbetet e pandryshuar.<\/p>\n<p>Lind nj\u00eb pyetje legjitime, \u00e7far\u00eb do t\u00eb ndodh\u00eb kur ndodhin dy ose madje disa ngjarje nj\u00ebkoh\u00ebsisht?<\/p>\n<p>Si nj\u00eb adhurues i krijimtaris\u00eb s\u00eb Gleb Anfilov, m\u00eb t\u00ebrheq t\u00eb d\u00ebrgoj pyet\u00ebsin kurioz te libri i tij \"Ikja nga befasit\u00eb\". \u00cbsht\u00eb nj\u00eb \"teori relativiteti p\u00ebr t\u00eb vegjlit\", ku shpjegohet mir\u00eb se \u00e7far\u00eb do t\u00eb thot\u00eb \"nj\u00ebkoh\u00ebsisht\" dhe si t\u00eb jetosh me k\u00ebt\u00eb.<\/p>\n<p>Por n\u00eb praktik\u00eb, gjith\u00e7ka \u00ebsht\u00eb shum\u00eb m\u00eb e thjesht\u00eb: kur ndodhin dy ose madje disa ngjarje, nd\u00ebrtohen dhe p\u00ebrpunohen sekuencat radhazi nga \u00e7do burim ngjarjeje dhe nuk ka asnj\u00eb mrekulli.<\/p>\n<p>Pyetja tjet\u00ebr plot\u00ebsisht legjitime e nj\u00eb lexuesi kurioz \u00ebsht\u00eb \u2014 \u00e7far\u00eb do t\u00eb ndodhte n\u00ebse nyjat lidheshin n\u00eb nj\u00eb dyak? Ose, si\u00e7 pranohet t\u00eb thuhet midis k\u00ebtyre intelektual\u00ebve \u2014 t\u00eb futim nj\u00eb reagim pozitiv. Dometh\u00ebn\u00eb, t\u00eb lidhim daljen e nj\u00eb nga nyjat me hyrjen e nyj\u00ebs s\u00eb m\u00ebparshme n\u00eb m\u00ebnyr\u00eb q\u00eb gjendja e daljes s\u00eb k\u00ebsaj nyje t\u00eb ndikonte n\u00eb gjendjen e hyrjes s\u00eb saj. Nj\u00eb lidhje direkte t\u00eb daljes s\u00eb nyjes me hyrjen e saj nuk do t'ju lejoj\u00eb redaktori. <b>ElDraw<\/b>. Por nd\u00ebrmjet\u00ebsisht, si\u00e7 ilustrohet m\u00eb posht\u00eb \u2014 kjo mund t\u00eb b\u00ebhet.<\/p>\n<p>Pra, \u00e7far\u00eb do t\u00eb ndodh\u00eb n\u00eb k\u00ebt\u00eb rast? P\u00ebrgjigja do t\u00eb jet\u00eb shum\u00eb \"e p\u00ebrcaktuar\": varet se \u00e7far\u00eb nyjash kemi. Le t\u00eb shqyrtojm\u00eb nj\u00eb shembull n\u00eb figur\u00ebn.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: nyjat, lidhjet dhe ngjarjet ose karakteristikat e vizatimit t\u00eb programeve\" src=\"\/wp-content\/uploads\/2019\/08\/7a640c3abfd4868b87f415bce93e4918.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKur kontaktet e hyrjes Input1 jan\u00eb t\u00eb hapura n\u00eb hyrjen e sip\u00ebrme t\u00eb nyj\u00ebs A \u2014 0. N\u00eb daljen e nyj\u00ebs A, gjithashtu 0. N\u00eb daljen e nyj\u00ebs B \u2014 1. Dhe, p\u00ebrfundimisht, n\u00eb hyrjen e poshtme t\u00eb nyj\u00ebs A \u2014 1. E gjith\u00eb kjo \u00ebsht\u00eb e qart\u00eb. P\u00ebr ata q\u00eb nuk e kuptojn\u00eb \u2014 shikoni posht\u00eb p\u00ebrshkrimin se si funksionojn\u00eb nyjat \"DHE\" dhe \"JO\".<\/p>\n<p>Tani, le t\u00eb mbyllim kontaktet e hyrjes Input1, dometh\u00ebn\u00eb t\u00eb d\u00ebrgojm\u00eb nj\u00ebsi n\u00eb hyrjen e sip\u00ebrme t\u00eb nyj\u00ebs A. Ata q\u00eb jan\u00eb t\u00eb njohur me elektronik\u00ebn e din\u00eb se n\u00eb fakt do t\u00eb kemi nj\u00eb skem\u00eb klasike gjeneratori n\u00eb elemente logjike. Dhe, n\u00eb parim, nj\u00eb skem\u00eb e till\u00eb duhet t\u00eb jap\u00eb pafund\u00ebsisht n\u00eb daljet e elementeve A dhe B sekuenca 1-0-1-0-1-0\u2026. dhe 0-1-0-1-0-1-\u2026. Sepse ngjarja duhet t\u00eb ndryshoj\u00eb gjendjen e nyjave A dhe B vazhdimisht, duke ecur n\u00eb rreth 2-3-2-3-\u2026!<\/p>\n<p>Por n\u00eb t\u00eb v\u00ebrtet\u00eb, kjo nuk ndodh. Skema do t\u00eb bie n\u00eb nj\u00eb gjendje t\u00eb rast\u00ebsishme \u2014 ose releu do t\u00eb mbetet i ndezur ose i fikur, ose ndoshta do t\u00eb zhurmoj\u00eb duke u ndezur dhe fikur disa her\u00eb radhazi. T\u00eb gjitha varen nga moti n\u00eb polin jugor t\u00eb Marsit. Dhe ja pse ndodh kjo.<\/p>\n<p>Ngjarja me nyj\u00ebn Input1 ndryshon gjendjen e nyj\u00ebs A, pastaj t\u00eb nyj\u00ebs B dhe k\u00ebshtu n\u00eb rreth disa her\u00eb. Programi p\u00ebrcakton \"ciklimin\" e ngjarjes dhe e ndalon at\u00eb karneval. Pas k\u00ebsaj, ndryshimi i gjendjes s\u00eb nyjave A dhe B bllokohet deri n\u00eb shfaqjen e nj\u00eb ngjarjeje t\u00eb re. Momenti n\u00eb t\u00eb cilin programmi do t\u00eb vendos\u00eb \u2014 \"mjaft me rrotullime!\" \u2014 n\u00eb p\u00ebrgjith\u00ebsi varet nga shum\u00eb faktor\u00eb dhe mund t\u00eb konsiderohet rast\u00ebsor.<\/p>\n<blockquote><p>Kujdes kur lidhni nyjat n\u00eb nj\u00eb rreth \u2014 efektet nuk do t\u00eb jen\u00eb gjithmon\u00eb t\u00eb qarta! Keni nj\u00eb ide t\u00eb mir\u00eb se \u00e7far\u00eb dhe p\u00ebrse po b\u00ebni!<\/p><\/blockquote>\n<p> A \u00ebsht\u00eb ende e mundur t\u00eb nd\u00ebrtojm\u00eb nj\u00eb gjenerator me nyjat q\u00eb kemi? Po, \u00ebsht\u00eb e mundur! Por p\u00ebr k\u00ebt\u00eb na nevojitet nj\u00eb nyje q\u00eb vet\u00eb mund t\u00eb gjeneroj\u00eb ngjarje. Dhe nj\u00eb nyje e till\u00eb ekziston \u2014 kjo \u00ebsht\u00eb \"linja e vones\u00ebs\". Le t\u00eb shohim si funksionon gjeneratori me nj\u00eb periudh\u00eb prej 6 sekondash n\u00eb figur\u00ebn m\u00eb posht\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"ShIoTiny: nyjat, lidhjet dhe ngjarjet ose karakteristikat e vizatimit t\u00eb programeve\" src=\"\/wp-content\/uploads\/2019\/08\/7dc1babedec97fb8177b846c760ff44e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nElementi ky\u00e7 i gjeneratorit \u00ebsht\u00eb nyja A \u2014 linja e vones\u00ebs. N\u00ebse ndryshoni gjendjen e hyrjes s\u00eb linj\u00ebs s\u00eb vones\u00ebs nga 0 n\u00eb 1, at\u00ebher\u00eb 1 n\u00eb dalje do t\u00eb shfaqet jo menj\u00ebher\u00eb, por vet\u00ebm pas nj\u00eb kohe t\u00eb caktuar. N\u00eb rastin ton\u00eb, kjo \u00ebsht\u00eb 3 sekonda. Po ashtu, n\u00ebse ndryshoni gjendjen e hyrjes s\u00eb linj\u00ebs s\u00eb vones\u00ebs nga 1 n\u00eb 0, at\u00ebher\u00eb 0 n\u00eb dalje do t\u00eb shfaqet pas t\u00eb nj\u00ebjt\u00ebs 3 sekonda. Koha e vones\u00ebs caktohet n\u00eb dhjet\u00ebra t\u00eb nj\u00eb sekondi. Pra, vlera 30 do t\u00eb thot\u00eb \u2014 3 sekunda.<\/p>\n<p>Ve\u00e7oria e linj\u00ebs s\u00eb vones\u00ebs \u00ebsht\u00eb se ajo gjeneron nj\u00eb ngjarje pas skadimit t\u00eb koh\u00ebs s\u00eb vones\u00ebs.<\/p>\n<p>Supozoni se fillimisht n\u00eb daljen e linj\u00ebs s\u00eb vones\u00ebs ishte 0. Pas kalimit p\u00ebrmes nyj\u00ebs B \u2014 inverterit \u2014 ky 0 transformohet n\u00eb 1 dhe hyn n\u00eb hyrjen e linj\u00ebs s\u00eb vones\u00ebs. Fillimisht nuk ndodh asgj\u00eb. N\u00eb daljen e linj\u00ebs s\u00eb vones\u00ebs si\u00e7 ishte 0, ashtu do t\u00eb mbetet, por nd\u00ebrkoh\u00eb fillon t\u00eb b\u00ebhet regjistrimi i koh\u00ebs s\u00eb vones\u00ebs. Kalojn\u00eb 3 sekonda. Dhe menj\u00ebher\u00eb linja e vones\u00ebs gjeneron nj\u00eb ngjarje. N\u00eb dalje i shfaqet 1. Kjo nj\u00ebsi pas kalimit p\u00ebrmes nyj\u00ebs B \u2014 inverterit \u2014 transformohet n\u00eb 0 dhe hyn n\u00eb hyrjen e linj\u00ebs s\u00eb vones\u00ebs. Kalojn\u00eb edhe 3 sekonda\u2026 dhe procesi p\u00ebrs\u00ebritet. Pra, \u00e7do 3 sekonda gjendja e daljes s\u00eb linj\u00ebs s\u00eb vones\u00ebs ndryshon nga 0 n\u00eb 1 dhe pastaj nga 1 n\u00eb 0. Rel\u00e9ja klikon. Gjeneratori punon. Periudha e impulsve \u00ebsht\u00eb 6 sekonda (3 sekonda n\u00eb dalje 0 dhe 3 sekonda \u2014 1).<\/p>\n<p>Por, n\u00eb skemat reale, zakonisht nuk \u00ebsht\u00eb e nevojshme t\u00eb p\u00ebrdoret as ky shembull. Ekzistojn\u00eb nyje-timer q\u00eb gjenerojn\u00eb n\u00eb m\u00ebnyr\u00eb t\u00eb shk\u00eblqyer dhe pa ndihm\u00eb t\u00eb jashtme nj\u00eb sekuenc\u00eb impulsesh me nj\u00eb periudh\u00eb t\u00eb caktuar. Koh\u00ebzgjatja e \"0\" dhe \"1\" n\u00eb k\u00ebto impulse \u00ebsht\u00eb e barabart\u00eb me gjysm\u00ebn e periudh\u00ebs.<\/p>\n<blockquote><p>P\u00ebr t\u00eb caktuar veprime periodike, p\u00ebrdorni nyje-timer.<\/p><\/blockquote>\n<p> Dua t\u00eb theksoj se sinjalet digjitale ku koha e \"0\" dhe \"1\" \u00ebsht\u00eb e barabart\u00eb quhen \"meand\u00ebr\". <\/p>\n<p>Shpresoj se kam sqaruar paksa pyetjen se si ndodh shp\u00ebrndarja e ngjarjeve midis nyjave dhe \u00e7far\u00eb nuk duhet t\u00eb b\u00ebhet?<\/p>\n<h4>P\u00ebrfundim dhe lidhje<\/h4>\n<p>\nArtikulli doli i shkurt\u00ebr, por \u00ebsht\u00eb nj\u00eb p\u00ebrgjigje ndaj pyetjeve t\u00eb paraqitura mbi nyjat dhe ngjarjet.<\/p>\n<p>Me zhvillimin e firmuer\u00ebve dhe shfaqjen e shembujve t\u00eb rinj, do t\u00eb shkruaj se si t\u00eb programoni <b>ShIoTiny<\/b> artikuj t\u00eb vegj\u00ebl, sa her\u00eb q\u00eb do t\u00eb jet\u00eb e interesuar p\u00ebr njer\u00ebzit.<\/p>\n<p>Ashtu si m\u00eb par\u00eb, skema, firmueri, shembujt, p\u00ebrshkrimi i nyjave dhe gjith\u00e7ka <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/shiotiny\/ShIoTinyBin\">e tjet\u00ebr k\u00ebtu<\/a><\/noindex>.<\/p>\n<p>Pyetje, k\u00ebrkesat, kritikat \u2014 k\u00ebtu: <b>shiotiny@yandex.ru<\/b><br \/>\n<br \/>Burimi: <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 5.0.2 - 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.\" \/>\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\/sq\/blog\/administrirovanie\/shiotiny-uzly-svyazi-i-sobytiya-ili-osobennosti-risovaniya-programm\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/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: nyje, lidhje dhe ngjarje ose ve\u00e7antit\u00eb e vizatimit t\u00eb programeve | ProHoster","description":"Pikat kryesore ose.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/shiotiny-uzly-svyazi-i-sobytiya-ili-osobennosti-risovaniya-programm","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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.","og:url":"https:\/\/prohoster.info\/sq\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/37422","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=37422"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/37422\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/28078"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=37422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=37422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=37422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}