ShIoTiny: Node, Zvisungo, uye Zviitiko kana Zvimiro zveZvirongwa zvekudhirowa

ShIoTiny: Node, Zvisungo, uye Zviitiko kana Zvimiro zveZvirongwa zvekudhirowa

Pfungwa huru kana kuti chinyorwa ichi chiri pamusoro pei

Musoro wechinyorwa ndeyekuona PLC hurongwa ShIoTiny yeimba yakangwara inotsanangurwa pano: ShIoTiny: diki otomatiki, Internet yezvinhu kana "mwedzi mitanhatu pamberi pezororo".

Muchidimbu pfungwa dzakadai mapfundo, связи, zviitiko, pamwe chete nemaitiro ekurodha nekuita chirongwa chekuona pa ESP8266, inova hwaro hwePLC ShIoTiny.

Nhanganyaya kana mibvunzo miviri yesangano

Muchinyorwa chakapfuura pamusoro pekukura kwangu, ndakapa pfupiso pfupi yekugona kwemutongi ShIoTiny.

Sezvineiwo, veruzhinji vakaratidza kufarira zvakanyanya uye vakandibvunza mibvunzo yakawanda. Dzimwe shamwari dzakabva dzatoda kutenga controller kubva kwandiri. Kwete, handisi kupokana nekuwana mari shoma, asi hana yangu haindibvumire kutengesa chimwe chinhu chichiri chisina kunaka maererano nesoftware.

Naizvozvo, ndakaisa iyo firmware binaries uye mudziyo dhayagiramu paGitHub: firmware + pfupiso mirairo + dhayagiramu + mienzaniso.

Iye zvino munhu wese anogona kuvheneka ESP-07 uye kutamba neiyo firmware ivo pachavo. Kana paine anonyatsoda bhodhi rakafanana sepamufananidzo, ini ndine akati wandei. Nyora neemail [email inodzivirirwa]. Asi, saOgurtsov asingakanganwiki aigara achiti: "Ini handina mhosva kune chero chinhu!"

Saka, ngatiende kune iyo pfungwa: chii "fundo"(node) uye"chiitiko"? Iyo purogiramu inoitwa sei?

Semazuva ese, ngatitangei muhurongwa: nekurodha chirongwa.

Iyo purogiramu inotakurwa sei

Ngatitangei nezvinoitika kana tikadzvanya bhatani Upload mupepeti ElDraw uye yedu yedunhu-chirongwa, inosanganisira mativi akanaka, inobhururuka mumudziyo.

Chekutanga, zvichibva padhiyagiramu yatakadhirowa, tsananguro yaro muchimiro chemavara inovakwa.
Kechipiri, inotarisa kana zvese zvinopinda node zvakabatana kune zvinobuda. Hapafanirwe kunge paine masuo anorembera. Kana kupinza kwakadaro kwaonekwa, dunhu haritakurwe muShIoTiny, uye mupepeti anoratidza yambiro inoenderana.

Kana zvese zvikafamba zvakanaka, mupepeti anotumira tsananguro yemavara edunhu rimwe node panguva kuShIoTiny. Ehe, dunhu riripo kubva kuShIoTiny rinotanga kubviswa. Tsananguro yemavara inoguma inochengetwa muFLASH memory.

Nenzira, kana iwe uchida kubvisa dunhu kubva kune imwe mudziyo, zvino ingoisa dunhu risina chinhu mukati maro (isina ine imwechete node element).

Kana chirongwa chese chedunhu chaiswa muShIoTiny PLC, chinotanga "kuita". Zvinorevei?

Ziva kuti maitiro ekurodha dunhu kubva kuFLASH memory kana simba rakabatidzwa uye kana uchigamuchira dunhu kubva kumupepeti zvakafanana.

Chekutanga, node zvinhu zvinogadzirwa zvichibva pakutsanangurwa kwavo.
Ipapo kubatanidza kunogadzirwa pakati pemanodhi. Kureva kuti, zvinongedzo zvezvinobuda kune zvinopinda uye zvinopinda kune zvakabuda zvinogadzirwa.

Uye chete mushure mezvose izvi chirongwa chikuru chekuita kutenderera chinotanga.

Ndakanyora kwenguva yakareba, asi maitiro ese - kubva "kurodha" dunhu kubva kuFLASH memory kusvika kutanga iyo main cycle - inotora chidimbu chesekondi yedunhu re60-80 node.

Iyo main loop inoshanda sei? Very simple. Anotanga amirira kubuda zviitiko pane imwe node, wobva wagadzirisa chiitiko ichocho. Uye zvichingodaro zvisingaperi. Zvakanaka, kana kusvika varodha chirongwa chitsva kuShIoTiny.

Kanoverengeka ndakatotaura zvinhu zvakadai zviitiko, mapfundo и связи. Asi chii ichi kubva pakuona software? Tichataura nezvazvo nhasi.

Node, zvinongedzo uye zviitiko

Ingotarisa mienzaniso yemapurogiramu edunhu re ShIoTinykuti unzwisise kuti dhayagiramu inoumbwa nezvikamu zviviri chete - nodes (kana zvinhu) uye hukama pakati pavo.

Knot, asi hongu kana circuit element mufananidzo chaiwo wevamwe chiito pamusoro pe data. Uku kunogona kuve kuvhiya kwemasvomhu, kuvhiya zvine musoro, kana chero kuvhiya kunouya mupfungwa dzedu. Chinhu chikuru ndechokuti node ine mukova uye kubuda.

kupinda - iyi ndiyo nzvimbo iyo node inogamuchira data. Mifananidzo yekupinda mapoinzi anogara ari kuruboshwe rwenodhi.

Buda - ino ndiyo nzvimbo iyo mhedzisiro yekushanda kwenode inodzoserwa. Iwo anobuda mifananidzo mapoinzi anogara ari kurudyi rwenode.

Dzimwe node hadzina zvekupinza. Node dzakadaro dzinogadzira mhedzisiro mukati. Semuenzaniso, node inogara iripo kana sensor node: ivo havadi data kubva kune dzimwe node kuti vataure mhedzisiro.

Mamwe ma node, pane zvinopesana, haana zvinobuda. Aya ndiwo ma node anoratidza, semuenzaniso, actuators (relays kana chimwe chinhu chakafanana). Ivo vanogamuchira data asi havaite computational mhedzisiro inowanikwa kune dzimwe node.

Mukuwedzera, kune zvakare yakasarudzika yekutaura node. Haina chazvinoita, haina zvekupinza kana zvinobuda. Chinangwa chayo ndechekuve tsananguro padhayagiramu.

Chii chaitika"chiitiko"?" Chiitiko ndiko kubuda kwedata idzva mune chero node. Semuenzaniso, zviitiko zvinosanganisira: shanduko mune yekuisa mamiriro (node chiyamuro), kugamuchira data kubva kune imwe mudziyo (node MQTT ΠΈ UDP), kupera kwenguva yakatarwa yenguva (node Nguva ΠΈ Delay) zvichingoenda zvakadaro.

Zviitiko ndezvei? Hongu, kuti uone kuti ndeipi node itsva data yakasimuka uye nyika dzinoda kuchinjwa maererano nekugamuchira data itsva. Chiitiko chacho, sokunge zvakadaro, "chinopfuura" pamwe chete neketani yemanodhi kusvikira yapfuura node dzose dzine mamiriro ezvinhu anoda kuongororwa uye kuchinjwa.

Manodhi ese anogona kukamurwa kuita mapoka maviri.
Ngatishevedze ma node anogona kugadzira zviitiko "active nodes".
Tichadaidza node dzisingakwanise kugadzira zviitiko "passive nodes".

Kana node ikaburitsa chiitiko (kureva kuti, data nyowani rinoonekwa pakubuda kwayo), ipapo mune yakajairika mamiriro echeni yese yemanodhi akabatana nekubuda kwechiitiko jenareta node inoshanduka.

Kuti zvijeke, funga nezvemuenzaniso uri mumufananidzo.

ShIoTiny: Node, Zvisungo, uye Zviitiko kana Zvimiro zveZvirongwa zvekudhirowa

Manodhi anoshanda pano ndeeInput1, Input2 uye Input3. Manodhi asara anongoita. Ngatitarisei zvinoitika kana imwe kana imwe yekuisa yakavharwa. Kuti zvive nyore, mhedzisiro inopfupikiswa mutafura.

ShIoTiny: Node, Zvisungo, uye Zviitiko kana Zvimiro zveZvirongwa zvekudhirowa

Sezvauri kuona, kana chiitiko chikaitika, ketani inovakwa kubva kune sosi node yechiitiko kusvika kumagumo node. Mamiriro emanode ayo asingawire mucheni haachinje.

Mubvunzo wepamutemo unomuka: chii chichaitika kana zviitiko zviviri kana kuti zvakati wandei zvikaitika panguva imwe chete?

Semunhu anoda basa raGleb Anfilov, ndinoedzwa kutumira mubvunzi anoda kuziva kubhuku rake "Escape from Surprise." Iyi i "dzidziso yehukama kune vadiki", inotsanangura zvakanaka kuti "pamwe chete" zvinorevei uye kuti ungararama sei nazvo.

Asi zvinenge zvese zviri nyore: kana zviitiko zviviri kana zvakati wandei zvikaitika, maketani ese kubva kune yega yega chiitiko sosi anovakwa akatevedzana uye anogadziriswa achichinjana, uye hapana zvishamiso zvinoitika.

Mubvunzo unotevera wepamutemo kubva kumuverengi anoda kuziva ndewekuti chii chichaitika kana node dzakabatana mumhete? Kana, sezvavanotaura pakati pevakomana vako vakangwara, suma mhinduro. Ndiko kuti, batanidza kubuda kweimwe yenodhi kune yekupinza kweiyo node yapfuura kuitira kuti kubuda kweiyo node kunokanganisa mamiriro ekuisa kwayo. Mupepeti haakubvumiri kuti ubatanidze zvakananga kuburitsa kwenode kune yayo yekuisa. ElDraw. Asi zvisina kunanga, sezviri mumufananidzo pazasi, izvi zvinogona kuitwa.

Saka chii chichaitika munyaya iyi? Mhinduro ichave yakanyanya "chaiyo": zvichienderana nekuti ndeapi node. Ngatitarisei muenzaniso mumufananidzo.

ShIoTiny: Node, Zvisungo, uye Zviitiko kana Zvimiro zveZvirongwa zvekudhirowa

Kana mainput contacts eInput1 avhurwa, iyo yekumusoro yenode A i 0. Kubuda kwenode A zvakare 0. Kubuda kwenode B ndeye 1. Uye, pekupedzisira, iyo yepasi yekupinza node A ndeye 1. Zvese zviri clear. Uye kune avo vasina kujeka, tarisa pazasi kuti uwane tsananguro yekuti "AND" uye "NOD" inoshanda sei.

Zvino isu tinovhara mabikirwo eInput1 yekupinda, kureva kuti, isu tinoisa imwe kune yekumusoro yekuisa node A. Vaya vanoziva zvemagetsi vanoziva kuti isu tichawana classic jenareta redunhu tichishandisa logic zvinhu. Uye mune dzidziso, dunhu rakadaro rinofanira kusingaperi kuburitsa kutevedzana 1-0-1-0-1-0… pakubuda kwezvinhu A uye B. uye 0-1-0-1-0-1-…. Mushure mezvose, chiitiko chacho chinofanira kugara chichichinja mamiriro emanode A uye B, achimhanya mudenderedzwa 2-3-2-3-...!

Asi chaizvoizvo izvi hazviitiki. Dunhu rinowira mune yakasarudzika mamiriro - kana relay icharamba yakabatidzwa kana kuvharwa, kana pamwe zvishoma buzz on uye kudzima kakawanda mumutsara. Izvo zvese zvinoenderana nemamiriro ekunze ari kumaodzanyemba pole yeMars. Uye ndosaka izvi zvichiitika.

Chiitiko kubva node Input1 inoshandura mamiriro enode A, ipapo node B, zvichingodaro mudenderedzwa kakawanda. Chirongwa chinoona "kutenderera" kwechiitiko uye nekumanikidza kumisa carnival iyi. Mushure meizvi, shanduko mumamiriro emanodhi A uye B anovharirwa kusvikira chiitiko chitsva chaitika. Iyo nguva iyo chirongwa chinosarudza "mira kutenderera mumadenderedzwa!" - kazhinji, zvinoenderana nezvinhu zvakawanda uye zvinogona kutariswa zvisina tsarukano.

Ngwarira paunobatanidza mapfundo mumhete - mhedzisiro yacho haizogara ichionekwa! Iva nepfungwa yakanaka yekuti chii uye nei uri kuita!

Zvichiri kuita here kugadzira jenareta pamanodhi anowanikwa kwatiri? Hongu unokwanisa! Asi izvi zvinoda node inogona kugadzira zviitiko pachayo. Uye pane node yakadaro - iyi ndiyo "inononoka mutsara". Ngationei kuti jenareta ine nguva yemasekonzi matanhatu inoshanda sei mumufananidzo uri pazasi.

ShIoTiny: Node, Zvisungo, uye Zviitiko kana Zvimiro zveZvirongwa zvekudhirowa

Chinhu chakakosha chejenareta node A - mutsara wekunonoka. Kana iwe ukashandura iyo yekupinza mamiriro emutsetse wekunonoka kubva 0 kusvika 1, ipapo 1 haizooneki pane yakabuda nekukasira, asi mushure menguva yakatarwa. Muchiitiko chedu i 3 seconds. Nenzira imwecheteyo, kana iwe ukashandura iyo yekupinza mamiriro emutsetse wekunonoka kubva pa1 kuenda ku0, ipapo 0 painobuda ichaonekwa mushure memasekonzi matatu akafanana. Nguva yekunonoka inoiswa mugumi chesekondi. Kureva kuti kukosha 3 zvinoreva masekonzi matatu.

Chinhu chakakosha chemutsara wekunonoka ndechekuti inogadzira chiitiko mushure mekunge nguva yekunonoka yapera.

Ngatitorei kuti pakutanga kubudiswa kwemutsara wekunonoka kwaiva 0. Mushure mokupfuura node B - inverter - iyi 0 inoshanduka kuva 1 uye inoenda kune kupinza kwemutsara wekunonoka. Hapana chinoitika ipapo ipapo. Pakubuda kwemutsara wekunonoka, icharamba iri 0, asi kuverenga pasi kwekunonoka kunotanga. 3 seconds kupfuura. Uye ipapo mutsara wekunonoka unoburitsa chiitiko. Pakubuda kwayo inoratidzika 1. Ichi chikwata, mushure mokupfuura node B - inverter - inoshanduka kuva 0 uye inoenda kune kupinza kwemutsara wekunonoka. Mamwe masekondi matatu anopfuura ... uye maitiro anodzokorora. Kureva kuti masekonzi matatu ega ega mamiriro ekunonoka kubuda kwemutsara anochinja kubva pa3 kuenda pa3 uyezve kubva pa0 kuenda ku1. Iyo relay inodzvanya. Jenareta iri kushanda. Iyo pulse nguva ndeye 1 seconds (0 seconds painobuda zero uye 6 seconds pane inobuda imwe).

Asi, mumasekete chaiwo, kazhinji hapana chikonzero chekushandisa muenzaniso uyu. Kune akakosha timer node ayo zvakakwana uye pasina ekunze anobatsira kugadzira kutevedzana kwemapulses nenguva yakapihwa. Nguva ye "zero" uye "imwe" mumapulses aya yakaenzana nehafu yenguva.

Kuseta zviito zvenguva nenguva, shandisa timer node.

Ndinocherechedza kuti zviratidzo zvakadai sedhijitari, apo nguva ye "zero" uye "imwe" yakaenzana, inonzi "meander".

Ndinotarisira kuti ndajekesa mubvunzo zvishoma pamusoro pekuti zviitiko zvinoparadzirwa sei pakati pemanodhi uye chii chisingafaniri kuita?

Mhedziso uye mareferensi

Chinyorwa chakazove chipfupi, asi chinyorwa ichi mhinduro kumibvunzo yakamuka maererano nemanodhi uye zviitiko.

Sezvo firmware inokura uye mienzaniso mitsva ichioneka, ini ndichanyora nezve maitiro ekuronga ShIoTiny zvinyorwa zviduku chero bedzi zvichange zvichifadza kuvanhu.

Sekare, dhayagiramu, firmware, mienzaniso, tsananguro yezvikamu uye zvese zvimwe zvose zviri pano.

Mibvunzo, mazano, kutsoropodza - enda pano: [email inodzivirirwa]

Source: www.habr.com

Voeg