ShIoTiny: awọn apa, awọn asopọ ati awọn iṣẹlẹ tabi awọn ẹya ti awọn eto iyaworan

ShIoTiny: awọn apa, awọn asopọ ati awọn iṣẹlẹ tabi awọn ẹya ti awọn eto iyaworan

Awọn aaye akọkọ tabi kini nkan yii jẹ nipa

Koko ọrọ naa jẹ siseto wiwo PLC ShioTiny fun ile ọlọgbọn ti a ṣalaye nibi: ShIoTiny: adaṣe kekere, Intanẹẹti ti awọn nkan tabi “oṣu mẹfa ṣaaju isinmi”.

Ni soki pupọ agbekale bi koko, awọn isopọ, Awọn iṣẹlẹ, bakannaa awọn ẹya ara ẹrọ ti ikojọpọ ati ṣiṣe eto wiwo lori ESP8266, eyiti o jẹ ipilẹ ti PLC ShioTiny.

Ifihan tabi tọkọtaya kan ti leto ibeere

Ninu nkan ti tẹlẹ nipa idagbasoke mi, Mo fun ni akopọ kukuru ti awọn agbara oludari ShioTiny.

Ni iyalẹnu, gbogbo eniyan ṣe afihan iwulo to lagbara ati beere lọwọ mi lọpọlọpọ awọn ibeere. Diẹ ninu awọn ọrẹ paapaa lẹsẹkẹsẹ funni lati ra olutọju kan lati ọdọ mi. Rara, Emi ko lodi si nini owo diẹ, ṣugbọn ẹri-ọkan mi ko gba mi laaye lati ta nkan ti o tun jẹ robi pupọ ni awọn ofin ti sọfitiwia.

Nitorinaa, Mo fiweranṣẹ awọn alakomeji famuwia ati aworan apẹrẹ ẹrọ lori GitHub: famuwia + awọn ilana kukuru + aworan atọka + awọn apẹẹrẹ.

Bayi gbogbo eniyan le filasi ESP-07 ki o mu ṣiṣẹ pẹlu famuwia funrararẹ. Ti ẹnikẹni ba fẹ gaan gangan igbimọ kanna bi ninu fọto, lẹhinna Mo ni pupọ ninu wọn. Kọ nipasẹ imeeli [imeeli ni idaabobo]. Ṣugbọn, gẹgẹ bi Ogurtsov manigbagbe lo lati sọ: “Emi ko ṣe iduro fun ohunkohun!”

Nitorinaa, jẹ ki a lọ si aaye: kini “sorapo"(ipade) ati"iṣẹlẹ"? Bawo ni eto naa ṣe waye?

Gẹgẹbi igbagbogbo, jẹ ki a bẹrẹ ni aṣẹ: nipa gbigba eto naa.

Bawo ni eto ti wa ni ti kojọpọ

Jẹ ki a bẹrẹ pẹlu ohun ti o ṣẹlẹ nigbati a tẹ bọtini kan Po ninu olootu ElDraw ati eto iyika wa, ti o ni awọn onigun mẹrin ti o lẹwa, fo sinu ẹrọ naa.

Ni akọkọ, da lori aworan atọka ti a ti ya, apejuwe rẹ ni fọọmu ọrọ jẹ itumọ.
Ni ẹẹkeji, o ṣayẹwo boya gbogbo awọn igbewọle ipade ti sopọ si awọn abajade. Ko yẹ ki o jẹ awọn ẹnu-ọna “ikele”. Ti o ba ti ri iru ohun kikọ sii, awọn Circuit yoo wa ko le kojọpọ sinu ShIoTiny, ati awọn olootu yoo han a bamu ikilo.

Ti ohun gbogbo ba lọ daradara, olootu nfi apejuwe ọrọ ranṣẹ ti oju ipade kan ni akoko kan si ShIoTiny. Nitoribẹẹ, Circuit ti o wa tẹlẹ lati ShIoTiny ni a kọkọ yọ kuro. Apejuwe ọrọ abajade ti wa ni ipamọ sinu iranti FLASH.

Nipa ona, ti o ba ti o ba fẹ lati yọ a Circuit lati ẹrọ kan, ki o si nìkan fifuye ohun ṣofo Circuit sinu o (ko ni kan nikan ipade ano).

Ni kete ti gbogbo eto iyika ti kojọpọ sinu ShIoTiny PLC, o bẹrẹ lati “ṣiṣẹ”. Kini o je?

Ṣe akiyesi pe awọn ilana fun ikojọpọ Circuit kan lati iranti FLASH nigbati agbara ba wa ni titan ati nigbati gbigba Circuit lati ọdọ olootu jẹ aami kanna.

Ni akọkọ, awọn nkan apa ti ṣẹda da lori apejuwe wọn.
Lẹhinna awọn asopọ ṣe laarin awọn apa. Iyẹn ni, awọn ọna asopọ ti awọn ọnajade si awọn igbewọle ati awọn igbewọle si awọn igbejade ti wa ni ipilẹṣẹ.

Ati lẹhin gbogbo eyi nikan eto ipaniyan eto bẹrẹ.

Mo kowe fun igba pipẹ, ṣugbọn gbogbo ilana - lati “ikojọpọ” iyika lati iranti FLASH si ibẹrẹ ọmọ akọkọ - gba ida kan ti iṣẹju-aaya kan fun iyika ti awọn apa 60-80.

Bawo ni lupu akọkọ ṣiṣẹ? Rọrun pupọ. Ni akọkọ o duro de ifarahan Awọn iṣẹlẹ ni diẹ ninu awọn ipade, lẹhinna awọn ilana iṣẹlẹ naa. Ati bẹbẹ lọ lainidi. O dara, tabi titi wọn yoo fi gbe ero tuntun kan si ShIoTiny.

Ni ọpọlọpọ igba tẹlẹ Mo ti mẹnuba awọn nkan bii Awọn iṣẹlẹ, koko и awọn isopọ. Ṣugbọn kini eyi lati oju wiwo sọfitiwia? A yoo sọrọ nipa eyi loni.

Awọn apa, awọn asopọ ati awọn iṣẹlẹ

Kan wo awọn apẹẹrẹ ti awọn eto iyika fun ShioTinylati ni oye pe aworan atọka ni awọn nkan meji nikan - awọn apa (tabi awọn eroja) ati awọn asopọ laarin wọn.

Sora, sugbon bẹẹni tabi ano Circuit ni a foju oniduro ti diẹ ninu awọn awọn iṣe lori data. Eyi le jẹ iṣẹ ṣiṣe iṣiro, iṣẹ ọgbọn, tabi eyikeyi iṣẹ ṣiṣe ti o wa si ọkan wa. Ohun akọkọ ni pe ipade naa ni ẹnu-ọna ati ijade kan.

ẹnu - Eyi ni aaye nibiti ipade ti gba data. Awọn aworan titẹ sii jẹ awọn aaye ti o wa nigbagbogbo ni apa osi ti ipade naa.

Jade kuro - Eyi ni aaye ti o ti gba abajade ti isẹ ti ipade naa. Awọn aworan ti o jade jẹ awọn aaye ti o wa nigbagbogbo ni apa ọtun ti ipade naa.

Diẹ ninu awọn apa ko ni awọn igbewọle. Awọn apa iru bẹ ṣe agbejade abajade inu. Fun apẹẹrẹ, ipade ibakan tabi apa sensọ: wọn ko nilo data lati awọn apa miiran lati jabo abajade.

Awọn apa miiran, ni ilodi si, ko ni awọn abajade. Iwọnyi jẹ awọn apa ti o ṣe afihan, fun apẹẹrẹ, awọn oṣere (awọn agbejade tabi nkan ti o jọra). Wọn gba data ṣugbọn ko ṣe ipilẹṣẹ abajade iṣiro kan ti o wa si awọn apa miiran.

Ni afikun, nibẹ ni tun kan oto ọrọìwòye ipade. Ko ṣe nkankan, ko ni awọn igbewọle tabi awọn igbejade. Idi rẹ ni lati jẹ alaye lori aworan atọka naa.

Kini o sele "iṣẹlẹ"? Iṣẹlẹ jẹ ifarahan ti data titun ni eyikeyi ipade. Fun apẹẹrẹ, awọn iṣẹlẹ pẹlu: iyipada ni ipo titẹ sii (node Input), gbigba data lati ẹrọ miiran (awọn apa MQTT и UDP), Ipari ti akoko kan pato (awọn apa Aago и Duro) ati bẹbẹ lọ.

Kini awọn iṣẹlẹ fun? Bẹẹni, lati le pinnu ninu iru ipade data tuntun ti dide ati awọn ipinlẹ eyiti awọn apa nilo lati yipada ni asopọ pẹlu gbigba data tuntun. Iṣẹlẹ naa, gẹgẹ bi o ti ṣee, “kọja” lẹba pq awọn apa titi ti o fi kọja gbogbo awọn apa ti ipo wọn nilo lati ṣayẹwo ati yipada.

Gbogbo awọn apa le pin si awọn ẹka meji.
Jẹ ki a pe awọn apa ti o le ṣe ipilẹṣẹ awọn iṣẹlẹ "awọn apa ti nṣiṣe lọwọ».
A yoo pe awọn apa ti ko le ṣe ipilẹṣẹ awọn iṣẹlẹ "palolo apa».

Nigbati ipade kan ba ṣẹda iṣẹlẹ kan (iyẹn ni, data tuntun han ni iṣelọpọ rẹ), lẹhinna ni gbogbogbo ipo ti gbogbo pq awọn apa ti a ti sopọ si iṣelọpọ ti awọn ayipada ipade monomono iṣẹlẹ.

Nado hẹn ẹn họnwun, lẹnnupọndo apajlẹ he tin to sọha lọ mẹ ji.

ShIoTiny: awọn apa, awọn asopọ ati awọn iṣẹlẹ tabi awọn ẹya ti awọn eto iyaworan

Awọn apa ti nṣiṣe lọwọ nibi ni Input1, Input2 ati Input3. Awọn apa ti o ku jẹ palolo. Jẹ ki ká ro ohun ti o ṣẹlẹ nigbati ọkan tabi miiran input ti wa ni pipade. Fun irọrun, awọn abajade jẹ akopọ ninu tabili kan.

ShIoTiny: awọn apa, awọn asopọ ati awọn iṣẹlẹ tabi awọn ẹya ti awọn eto iyaworan

Bi o ti le rii, nigbati iṣẹlẹ ba waye, a ṣe pq kan lati oju ipade orisun ti iṣẹlẹ naa si ipade ipari. Ipo ti awọn apa ti ko ṣubu sinu pq ko yipada.

Ibeere ti o tọ waye: kini yoo ṣẹlẹ ti awọn iṣẹlẹ meji tabi paapaa pupọ ba waye ni akoko kanna?

Gẹ́gẹ́ bí olùfẹ́ iṣẹ́ Gleb Anfilov, mo ní ìdánwò láti fi oníbéèrè kan tí ó fani mọ́ra ránṣẹ́ sí ìwé rẹ̀ “Salade lọ́wọ́ Ìyàlẹ́nu.” Eyi jẹ “imọran ti ibatan fun awọn ọmọ kekere”, eyiti o ṣalaye daradara kini “igbakanna” tumọ si ati bi o ṣe le gbe pẹlu rẹ.

Ṣugbọn ni iṣe ohun gbogbo rọrun pupọ: nigbati meji tabi paapaa awọn iṣẹlẹ pupọ waye, gbogbo awọn ẹwọn lati orisun iṣẹlẹ kọọkan ni a ṣe ni ọna lẹsẹsẹ ati ṣiṣẹ ni titan, ko si si awọn iṣẹ iyanu kankan.

Ibeere ti o ni ẹtọ patapata ti o tẹle lati ọdọ oluka iyanilenu ni kini yoo ṣẹlẹ ti awọn apa naa ba sopọ mọ oruka kan? Tabi, bi wọn ṣe sọ laarin awọn eniyan ọlọgbọn ti tirẹ, ṣafihan awọn esi. Ìyẹn ni pé, so àbájáde ọ̀kan lára ​​àwọn ọ̀rọ̀ náà pọ̀ mọ́ ọ̀nà àbáwọlé tí ó ti kọjá kí ipò àbájáde ìdìgbòlu yìí lè kan ipò àbáwọlé rẹ̀. Olootu kii yoo gba ọ laaye lati sopọ taara iṣẹjade ti ipade kan si titẹ sii rẹ. ElDraw. Ṣugbọn ni aiṣe-taara, bi ninu nọmba ti o wa ni isalẹ, eyi le ṣee ṣe.

Nitorina kini yoo ṣẹlẹ ninu ọran yii? Idahun naa yoo jẹ “pato” pupọ: da lori awọn apa wo. Jẹ ki a wo apẹẹrẹ ni nọmba naa.

ShIoTiny: awọn apa, awọn asopọ ati awọn iṣẹlẹ tabi awọn ẹya ti awọn eto iyaworan

Nigbati awọn olubasọrọ titẹ sii ti Input1 wa ni sisi, titẹ sii oke ti ipade A jẹ 0. Ijade ti ipade A tun jẹ 0. Ijade ti ipade B jẹ 1. Ati, nikẹhin, titẹ isalẹ ti ipade A jẹ 1. Ohun gbogbo jẹ XNUMX. ko o. Ati fun awọn ti ko ṣe alaye, wo isalẹ fun apejuwe bi awọn apa "AND" ati "NOT" ṣe n ṣiṣẹ.

Bayi a tii awọn olubasọrọ ti igbewọle Input1, iyẹn ni, a lo ọkan si igbewọle oke ti node A. Awọn ti o faramọ pẹlu ẹrọ itanna mọ pe ni otitọ a yoo gba Circuit monomono Ayebaye nipa lilo awọn eroja kannaa. Ati ni imọran, iru iyika kan yẹ ki o gbejade lẹsẹsẹ 1-0-1-0-1-0 lainidii… ni abajade ti awọn eroja A ati B. ati 0-1-0-1-0-1-…. Lẹhinna, iṣẹlẹ naa gbọdọ yi ipo ti awọn apa A ati B pada nigbagbogbo, ti nṣiṣẹ ni Circle 2-3-2-3-...!

Ṣugbọn ni otitọ eyi ko ṣẹlẹ. Awọn Circuit yoo subu sinu a ID ipinle - tabi awọn yii yoo wa nibe lori tabi pa, tabi boya die-die Buzz on ati pa ni igba pupọ ni ọna kan. Gbogbo rẹ da lori oju ojo ni apa gusu ti Mars. Ati awọn ti o ni idi ti yi ṣẹlẹ.

Iṣẹlẹ kan lati oju ipade Input1 yi ipo ipade A pada, lẹhinna ipade B, ati bẹbẹ lọ ninu Circle ni igba pupọ. Eto naa ṣe awari “looping” ti iṣẹlẹ naa o si fi agbara mu Carnival yii duro. Lẹhin eyi, awọn iyipada ni ipo awọn apa A ati B ti dinamọ titi iṣẹlẹ tuntun yoo fi waye. Ni akoko ti eto naa pinnu “Duro yiyi ni awọn iyika!” - ni apapọ, o da lori ọpọlọpọ awọn okunfa ati ki o le wa ni kà ID.

Ṣọra nigbati o ba so awọn koko pọ si oruka kan - awọn ipa kii yoo han nigbagbogbo! Ni imọran ti o dara ti kini ati idi ti o fi n ṣe!

Ṣe o tun ṣee ṣe lati kọ monomono lori awọn apa ti o wa fun wa? Beeni o le se! Ṣugbọn eyi nilo ipade ti o le ṣe ipilẹṣẹ awọn iṣẹlẹ funrararẹ. Ati pe iru ipade kan wa - eyi ni “laini idaduro”. Jẹ ká wo bi a monomono pẹlu kan akoko ti 6 aaya ṣiṣẹ ninu awọn nọmba rẹ ni isalẹ.

ShIoTiny: awọn apa, awọn asopọ ati awọn iṣẹlẹ tabi awọn ẹya ti awọn eto iyaworan

Ohun pataki ti olupilẹṣẹ jẹ ipade A - laini idaduro. Ti o ba yi ipo titẹ sii ti laini idaduro pada lati 0 si 1, lẹhinna 1 kii yoo han ni iṣelọpọ lẹsẹkẹsẹ, ṣugbọn lẹhin akoko kan pato. Ninu ọran wa o jẹ iṣẹju-aaya 3. Ni ọna kanna, ti o ba yipada ipo titẹ sii ti laini idaduro lati 1 si 0, lẹhinna 0 ni abajade yoo han lẹhin awọn aaya 3 kanna. Akoko idaduro ti ṣeto ni idamẹwa iṣẹju kan. Iyẹn ni, iye 30 tumọ si awọn aaya 3.

Ẹya pataki ti laini idaduro ni pe o ṣe ipilẹṣẹ iṣẹlẹ lẹhin akoko idaduro ti pari.

Jẹ ki a ro pe lakoko abajade ti ila idaduro jẹ 0. Lẹhin ti o ti kọja ipade B - oluyipada - eyi 0 yipada si 1 ati lọ si titẹ sii ti laini idaduro. Ko si ohun ti o ṣẹlẹ lẹsẹkẹsẹ. Ni abajade ti laini idaduro, yoo wa ni 0, ṣugbọn kika akoko idaduro yoo bẹrẹ. 3 aaya kọja. Ati lẹhinna laini idaduro ṣe ipilẹṣẹ iṣẹlẹ kan. Ni awọn oniwe-o wu o han 1. Yi kuro, lẹhin ran nipasẹ ipade B - awọn ẹrọ oluyipada - wa sinu 0 ati ki o lọ si awọn input ti awọn idaduro ila. Awọn aaya 3 miiran kọja… ati ilana naa tun ṣe. Iyẹn ni, ni gbogbo iṣẹju-aaya 3 ni ipo ti laini idaduro yoo yipada lati 0 si 1 ati lẹhinna lati 1 si 0. Awọn titẹ yii. Olupilẹṣẹ n ṣiṣẹ. Akoko pulse jẹ iṣẹju-aaya 6 (awọn aaya 3 ni odo iṣẹjade ati awọn aaya 3 ni iṣejade ọkan).

Ṣugbọn, ni awọn iyika gidi, igbagbogbo ko nilo lati lo apẹẹrẹ yii. Awọn apa akoko pataki wa ti o ni pipe ati laisi iranlọwọ ita ti o ṣe agbekalẹ lẹsẹsẹ ti awọn ifunsi pẹlu akoko ti a fun. Iye akoko “odo” ati “ọkan” ninu awọn iṣọn wọnyi jẹ dogba si idaji akoko naa.

Lati ṣeto awọn iṣe igbakọọkan, lo awọn apa akoko.

Mo ṣe akiyesi pe iru awọn ifihan agbara oni-nọmba, nibiti iye akoko “odo” ati “ọkan” jẹ dogba, ni a pe ni “meander”.

Mo nireti pe Mo ti ṣalaye ibeere naa diẹ nipa bii awọn iṣẹlẹ ṣe tan kaakiri laarin awọn apa ati kini kii ṣe?

Ipari ati awọn itọkasi

Àpilẹ̀kọ náà kúkúrú, àmọ́ àpilẹ̀kọ yìí jẹ́ ìdáhùn sáwọn ìbéèrè tó wáyé nípa ọ̀nà àti ìṣẹ̀lẹ̀.

Bi famuwia ṣe ndagba ati awọn apẹẹrẹ tuntun yoo han, Emi yoo kọ nipa bi o ṣe le ṣe eto ShioTiny kekere ìwé bi gun bi o ti yoo jẹ awon si awon eniyan.

Gẹgẹbi tẹlẹ, aworan atọka, famuwia, awọn apẹẹrẹ, apejuwe awọn paati ati ohun gbogbo iyokù wa nibi.

Awọn ibeere, awọn aba, atako - lọ si ibi: [imeeli ni idaabobo]

orisun: www.habr.com

Fi ọrọìwòye kun