ShIoTiny: node, kulumikizana ndi zochitika kapena mawonekedwe a mapulogalamu ojambula

ShIoTiny: node, kulumikizana ndi zochitika kapena mawonekedwe a mapulogalamu ojambula

Mfundo zazikuluzikulu kapena zomwe nkhaniyi ikunena

Mutu wa nkhaniyi ndi pulogalamu yowonera PLC ShIoTiny kwa nyumba yanzeru yomwe yafotokozedwa apa: ShIoTiny: makina ang'onoang'ono, intaneti ya zinthu kapena "miyezi isanu ndi umodzi usanatchule".

Mwachidule kwambiri maganizo monga zopanda, kulumikizana, zochitika, komanso mawonekedwe otsitsa ndikuchita pulogalamu yowonera ESP8266, omwe ndi maziko a PLC ShIoTiny.

Chiyambi kapena mafunso angapo abungwe

M'nkhani yapitayi ponena za chitukuko changa, ndinapereka mwachidule za mphamvu za wolamulira ShIoTiny.

Zodabwitsa ndizakuti, anthu adawonetsa chidwi kwambiri ndipo adandifunsa mafunso ambiri. Anzanga ena adandilonjeza kuti andigulira chowongolera. Ayi, sinditsutsana ndi kupeza ndalama pang'ono, koma chikumbumtima changa sichindilola kugulitsa chinthu chomwe chidakali chonyansa kwambiri pankhani ya mapulogalamu.

Chifukwa chake, ndidayika ma binaries a firmware ndi chithunzi cha chipangizo pa GitHub: firmware + malangizo achidule + chithunzi + zitsanzo.

Tsopano aliyense akhoza kuwunikira ESP-07 ndikusewera ndi firmware okha. Ngati wina akufunadi gulu lomwelo monga pachithunzipa, ndiye kuti ndili nawo angapo. Lembani ndi imelo [imelo ndiotetezedwa]. Koma, monga Ogurtsov wosaiŵalika ankakonda kunena kuti: "Sindili ndi udindo pa chilichonse!"

Kotero, tiyeni tifike ku mfundo: ndi chiyani "?mfundo"(node) ndi"chochitika"? Kodi pulogalamuyi imayendetsedwa bwanji?

Monga mwachizolowezi, tiyeni tiyambe mwadongosolo: potsitsa pulogalamuyo.

Momwe pulogalamuyo imayikidwa

Tiyeni tiyambe ndi zomwe zimachitika tikadina batani Kwezani mu editor ElDraw ndipo pulogalamu yathu yozungulira, yokhala ndi mabwalo okongola, imawulukira mu chipangizocho.

Choyamba, kutengera chithunzi chomwe tajambula, kufotokozera kwake m'malemba kumamangidwa.
Kachiwiri, imayang'ana ngati zolowetsa zonse za node zikugwirizana ndi zotuluka. Pasapezeke zolowera “zopachikika”. Ngati kulowetsa koteroko kuzindikirika, dera silidzakwezedwa mu ShIoTiny, ndipo mkonzi adzawonetsa chenjezo lofanana.

Ngati zonse zidayenda bwino, mkonzi amatumiza kufotokozera kwa node imodzi panthawi imodzi ku ShIoTiny. Zachidziwikire, dera lomwe lilipo kuchokera ku ShIoTiny limachotsedwa koyamba. Mafotokozedwe ake amasungidwa mu FLASH memory.

Mwa njira, ngati mukufuna kuchotsa dera pazida, ingolowetsani dera lopanda kanthu (lopanda gawo limodzi la node).

Pulogalamu yonse yozungulira ikalowetsedwa mu ShIoTiny PLC, imayamba "kuchita". Zikutanthauza chiyani?

Zindikirani kuti njira zotsitsa kuzungulira kuchokera ku kukumbukira kwa FLASH mphamvu ikayatsidwa ndikulandila dera kuchokera kwa mkonzi ndizofanana.

Choyamba, zinthu za node zimapangidwa kutengera kufotokozera kwawo.
Kenako kugwirizana kumapangidwa pakati pa mfundo. Ndiko kuti, maulalo a zotuluka ku zolowetsa ndi zolowetsa ku zotuluka amapangidwa.

Ndipo zitatha izi zonse pulogalamu yayikulu yoyendetsera pulogalamu imayamba.

Ndinalemba kwa nthawi yayitali, koma ndondomeko yonse - kuyambira "kukweza" dera kuchokera kukumbukira FLASH mpaka kuyamba kuzungulira kwakukulu - kumatenga gawo limodzi la sekondi kwa dera la 60-80 nodes.

Kodi lupu yayikulu imagwira ntchito bwanji? Zosavuta kwambiri. Poyamba amadikirira kutuluka zochitika m'malo ena, kenako amakonza chochitikacho. Ndipo mpaka kalekale. Chabwino, kapena mpaka atakweza chiwembu chatsopano ku ShIoTiny.

Kangapo ndanenapo kale zinthu ngati zochitika, zopanda и kulumikizana. Koma izi ndi chiyani kuchokera pamawonekedwe a mapulogalamu? Tikambirana za izi lero.

Nodes, kugwirizana ndi zochitika

Ingoyang'anani zitsanzo zamapulogalamu ozungulira a ShIoTinykumvetsetsa kuti chithunzicho chili ndi zinthu ziwiri zokha - mfundo (kapena zinthu) ndi kugwirizana pakati pawo.

Zidziwitso, koma inde kapena dera element ndi chifaniziro chenicheni cha ena zochita pa data. Izi zitha kukhala ma opareshoni a masamu, opareshoni yanzeru, kapena opareshoni iliyonse yomwe imabwera m'maganizo mwathu. Chinthu chachikulu ndi chakuti node ili ndi khomo ndi kutuluka.

pakhomo - awa ndi malo omwe node imalandira deta. Zithunzi zolowetsa ndi mfundo zomwe nthawi zonse zimakhala kumanzere kwa node.

Tulukani - awa ndi malo omwe zotsatira za ntchito ya node zimachotsedwa. Zithunzi zotuluka ndi mfundo zomwe nthawi zonse zimakhala kumanja kwa node.

Ma node ena alibe zolowetsa. Node zotere zimapanga zotsatira mkati. Mwachitsanzo, node yokhazikika kapena sensor node: safuna deta kuchokera ku mfundo zina kuti afotokoze zotsatira.

Ma node ena, m'malo mwake, alibe zotulutsa. Awa ndi ma node omwe amawonetsa, mwachitsanzo, ma actuators (ma relay kapena zina zofananira). Amavomereza deta koma samapanga zotsatira zowerengera zomwe zimapezeka kumalo ena.

Kuphatikiza apo, palinso node yapadera ya ndemanga. Sichichita kalikonse, ilibe zolowetsa kapena zotuluka. Cholinga chake ndi kukhala kufotokozera pazithunzi.

Zomwe zachitika "chochitika"?" Chochitika ndikutuluka kwa data yatsopano mu node iliyonse. Mwachitsanzo, zochitika zikuphatikizapo: kusintha kwa malo olowetsa (node Lowetsani), kulandira deta kuchokera ku chipangizo china (node MQTT и UDP), kutha kwa nthawi yodziwika (node powerengetsera и Kutaya) ndi zina zotero.

Zochitika za chiyani? Inde, kuti mudziwe kuti ndi mfundo ziti zomwe zakhala zikuchitika komanso maiko omwe ma node ayenera kusinthidwa mogwirizana ndi kulandira deta yatsopano. Chochitikacho, titero, "chimadutsa" pamtanda wa node mpaka icho chidutsa ma node onse omwe dziko lawo liyenera kufufuzidwa ndi kusinthidwa.

Node zonse zitha kugawidwa m'magulu awiri.
Tiyeni tiyimbe ma node omwe angapangitse zochitika "node yogwira".
Tidzatcha ma node omwe sangathe kupanga zochitika "node zopanda pake".

Node ikapanga chochitika (ndiko kuti, deta yatsopano imawonekera pazotulutsa zake), ndiye kuti nthawi zambiri chikhalidwe cha node yonse yolumikizidwa ndi kutulutsa kwa nodi ya jenereta imasintha.

Kuti timveke bwino, talingalirani chitsanzo cha m’chifanizocho.

ShIoTiny: node, kulumikizana ndi zochitika kapena mawonekedwe a mapulogalamu ojambula

Ma node omwe akugwira ntchito pano ndi Input1, Input2 ndi Input3. Ma node otsalawo ndi opanda pake. Tiyeni tiganizire zomwe zimachitika pamene cholowetsa chimodzi kapena china chatsekedwa. Kuti zikhale zosavuta, zotsatira zake zikufotokozedwa mwachidule mu tebulo.

ShIoTiny: node, kulumikizana ndi zochitika kapena mawonekedwe a mapulogalamu ojambula

Monga mukuonera, chochitika chikachitika, unyolo umamangidwa kuchokera kumalo oyambira mpaka kumapeto. Mkhalidwe wa mfundo zomwe sizimagwera mu unyolo susintha.

Funso lovomerezeka likubuka: chingachitike ndi chiyani ngati zochitika ziwiri kapena zingapo zichitika nthawi imodzi?

Monga wokonda ntchito ya Gleb Anfilov, ndimakopeka kutumiza wofunsa mwachidwi m'buku lake "Escape from Surprise." Ichi ndi "lingaliro la chiyanjano kwa ang'onoang'ono", lomwe limafotokoza bwino zomwe "nthawi imodzi" zikutanthawuza komanso momwe mungakhalire nazo.

Koma pafupifupi chilichonse chimakhala chosavuta: zikachitika ziwiri kapena zingapo, maunyolo onse kuchokera kugawo lililonse amamangidwa motsatizana ndikusinthidwa motsatana, ndipo palibe zozizwitsa zomwe zimachitika.

Funso lotsatira lovomerezeka kwathunthu kuchokera kwa owerenga mwachidwi ndi chiyani chomwe chingachitike ngati mfundozo zilumikizidwa mu mphete? Kapena, monga akunena pakati pa anyamata anu anzeru awa, perekani ndemanga. Ndiko kuti, gwirizanitsani kutulutsa kwa imodzi mwa mfundozo ndi kulowetsa kwa node yapitayi kuti chikhalidwe chotuluka cha node ichi chikhudze dziko lazolowera zake. Mkonzi sangakulole kuti mulumikizane mwachindunji kutulutsa kwa node pazolowera zake. ElDraw. Koma mwanjira ina, monga momwe zilili pansipa, izi zitha kuchitika.

Ndiye chidzachitike ndi chiyani pankhaniyi? Yankho lidzakhala "lotsimikizika": kutengera ndi mfundo ziti. Tiyeni tione chitsanzo pa chithunzichi.

ShIoTiny: node, kulumikizana ndi zochitika kapena mawonekedwe a mapulogalamu ojambula

Pamene mauthenga olowetsa a Input1 atsegulidwa, kulowetsa kwapamwamba kwa node A ndi 0. Kutulutsa kwa node A kulinso 0. Kutulutsa kwa node B ndi 1. Ndipo, potsiriza, kuyika kwapansi kwa node A ndi 1. Chilichonse chiri. zomveka. Ndipo kwa omwe sakumveka bwino, yang'anani m'munsimu kuti mufotokoze momwe mfundo za "NDI" ndi "OSATI" zimagwirira ntchito.

Tsopano timatseka zolumikizira za Input1, ndiye kuti, timayika imodzi pazolowera zapamwamba za node A. Iwo omwe amadziwa bwino zamagetsi amadziwa kuti kwenikweni tidzapeza dera la jenereta lachikale pogwiritsa ntchito zinthu zomveka. Ndipo m'malingaliro, dera lotere liyenera kutulutsa mosalekeza 1-0-1-0-1-0… pakutulutsa kwa zinthu A ndi B. ndi 0-1-0-1-0-1-…. Kupatula apo, chochitikacho chiyenera kusintha nthawi zonse mkhalidwe wa mfundo A ndi B, kuthamanga mozungulira 2-3-2-3-...!

Koma zoona zake n’zakuti izi sizichitika. Deralo ligwera m'malo mwachisawawa - kapena relay ikhalabe yoyatsidwa kapena kuzimitsidwa, kapena mwina kumveka pang'ono ndikuzimitsa kangapo motsatana. Zonse zimatengera nyengo kumwera kwa Mars. Ndipo ndicho chifukwa chake izi zimachitika.

Chochitika chochokera ku node Input1 imasintha mawonekedwe a node A, kenako nodi B, ndi zina zotero mozungulira kangapo. Pulogalamuyi imazindikira "kudumphira" kwa chochitikacho ndikuyimitsa mokakamiza carnival iyi. Pambuyo pake, kusintha kwa ma node A ndi B kumatsekedwa mpaka chochitika chatsopano chichitike. Nthawi yomwe pulogalamuyo yasankha "siyani kuzungulira mozungulira!" - zambiri, zimatengera zinthu zambiri ndipo zitha kuwonedwa mwachisawawa.

Samalani polumikiza mfundo mu mphete - zotsatira zake sizidzakhala zoonekeratu nthawi zonse! Khalani ndi lingaliro labwino la zomwe mukuchita ndi chifukwa chiyani!

Kodi n'zothekabe kupanga jenereta pa mfundo zomwe tingapeze? Inde, mungathe! Koma izi zimafuna node yomwe imatha kupanga zochitika zokha. Ndipo pali mfundo yotere - iyi ndi "mzere wochedwa". Tiyeni tiwone momwe jenereta yokhala ndi nthawi ya masekondi 6 imagwirira ntchito pachithunzi pansipa.

ShIoTiny: node, kulumikizana ndi zochitika kapena mawonekedwe a mapulogalamu ojambula

Chofunika kwambiri pa jenereta ndi mfundo A - mzere wochedwa. Ngati musintha momwe mungasinthire mzere wochedwa kuchokera ku 0 kupita ku 1, ndiye kuti 1 sidzawonekera pazotulutsa nthawi yomweyo, koma pakangopita nthawi yodziwika. Kwa ife ndi 3 masekondi. Momwemonso, ngati musintha momwe mungasinthire mzere wochedwa kuchokera ku 1 kupita ku 0, ndiye kuti 0 pazotulutsa idzawonekera pambuyo pa masekondi atatu omwewo. Nthawi yochedwa imayikidwa mu magawo khumi a sekondi. Ndiye kuti, mtengo wa 3 umatanthauza masekondi atatu.

Mbali yapadera ya mzere wochedwetsa ndikuti umapanga chochitika nthawi yochedwa ikatha.

Tiyeni tiyerekeze kuti poyamba kutulutsa kwa mzere wochedwa kunali 0. Pambuyo podutsa node B - inverter - iyi 0 imasandulika 1 ndikupita ku kulowetsa kwa mzere wochedwa. Palibe chimachitika nthawi yomweyo. Pakutulutsa kwa mzere wochedwa, ikhalabe 0, koma kuwerengera nthawi yochedwetsa kudzayamba. 3 masekondi kupita. Ndiyeno mzere wochedwa umapanga chochitika. Pakutulutsa kwake kumawoneka 1. Chigawo ichi, chitatha kudutsa node B - inverter - imasandulika 0 ndikupita ku zolowetsa za mzere wochedwa. Wina 3 masekondi kudutsa ... ndi ndondomeko akubwereza. Ndiye kuti, masekondi 3 aliwonse mkhalidwe wa kuchedwa kwa mzere umasintha kuchokera ku 0 kupita ku 1 ndiyeno kuchokera ku 1 kupita ku 0. Kudina kwa relay. Jenereta ikugwira ntchito. Nthawi yothamanga ndi masekondi 6 (3 masekondi pa zero zotulutsa ndi 3 masekondi pa zotsatira).

Koma, m'mabwalo enieni, nthawi zambiri palibe chifukwa chogwiritsa ntchito chitsanzo ichi. Pali ma node apadera owerengera omwe amathandizira bwino komanso popanda kunja amathandizira kupanga ma pulse munthawi yake. Kutalika kwa "ziro" ndi "mmodzi" m'magawo awa ndi ofanana ndi theka la nthawi.

Kuti muyike zochita nthawi ndi nthawi, gwiritsani ntchito ma node owerengera nthawi.

Ndikuwona kuti zizindikiro za digito, zomwe nthawi ya "zero" ndi "imodzi" ndizofanana, zimatchedwa "meander".

Ndikuyembekeza kuti ndafotokozera funso pang'ono za momwe zochitika zimafalitsidwira pakati pa mfundo ndi zomwe siziyenera kuchita?

Mapeto ndi maumboni

Nkhaniyi idakhala yaifupi, koma nkhaniyi ndi yankho la mafunso omwe abuka okhudzana ndi mfundo ndi zochitika.

Pamene firmware ikukula ndi zitsanzo zatsopano zikuwonekera, ndilemba za momwe ndingapangire ShIoTiny nkhani zing'onozing'ono bola ngati zidzasangalatsa anthu.

Monga kale, chithunzi, fimuweya, zitsanzo, kufotokoza zigawo zikuluzikulu ndi chirichonse zina zonse ziri pano.

Mafunso, malingaliro, kutsutsa - pitani apa: [imelo ndiotetezedwa]

Source: www.habr.com

Kuwonjezera ndemanga