ShioTiny: nodes, fifandraisana ary hetsika na endri-javatra amin'ny programa fanaovana sary

ShioTiny: nodes, fifandraisana ary hetsika na endri-javatra amin'ny programa fanaovana sary

Hevi-dehibe na ny momba ity lahatsoratra ity

Ny lohahevitry ny lahatsoratra dia fandaharana visual PLC ShioTiny ho an'ny trano marani-tsaina voalaza eto: ShioTiny: automation kely, Internet momba ny zavatra na "enim-bolana alohan'ny fialan-tsasatra".

Fohy tokoa hevitra toy ny toerana, fifandraisana, zava-mitranga, ary koa ny endri-javatra amin'ny famenoana sy ny fanatanterahana programa hita maso amin'ny Sary ESP8266, izay fototry ny PLC ShioTiny.

Fampidirana na fanontaniana momba ny fandaminana

Ao amin'ny lahatsoratra teo aloha momba ny fivoarana dia nanome topimaso fohy momba ny fahaiza-manaon'ny controller aho ShioTiny.

Hafahafa ihany fa tena liana tokoa ny vahoaka ary nametraka fanontaniana be dia be tamiko. Nisy namana sasany avy hatrany dia nanolotra ny hividy controller tamiko. Tsia, tsy manohitra ny fitadiavam-bola kely aho, fa ny feon'ny fieritreretako dia tsy mamela ahy hivarotra zavatra izay mbola tsy misy dikany amin'ny resaka rindrambaiko.

Noho izany, nandefa ny binary firmware sy ny diagrama fitaovana aho tao amin'ny GitHub: firmware + toromarika fohy indrindra + kisary + ohatra.

Ankehitriny dia afaka mandrehitra ny ESP-07 ny tsirairay ary milalao miaraka amin'ny firmware. Raha misy olona tena maniry ny solaitra mitovy amin'ny sary, dia manana maromaro amin'izy ireo aho. Manorata amin'ny mailaka [email voaaro]. Saingy, araka ny filazan'i Ogurtsov tsy hay hadinoina hoe: "Tsy tompon'andraikitra amin'ny zavatra rehetra aho!"

Noho izany, andeha hojerentsika hoe: inona no "node"(node) ary"hetsika"? Ahoana ny fanatanterahana ny programa?

Toy ny mahazatra, andao hanomboka amin'ny filaharana: amin'ny alàlan'ny fampidinana ny programa.

Ahoana ny fametrahana ny programa

Andeha isika hanomboka amin'ny zavatra mitranga rehefa manindry bokotra iray isika Upload amin'ny mpamoaka lahatsoratra ElDraw ary ny fandaharam-pizarantsika, misy efamira tsara tarehy, dia manidina ao amin'ilay fitaovana.

Voalohany, mifototra amin'ny kisary nosavaintsika, ny famaritana azy amin'ny endrika lahatsoratra dia namboarina.
Faharoa, dia manamarina raha mifandray amin'ny outputs ny fampidirana node rehetra. Tsy tokony hisy fidirana "mihantona". Raha tsikaritra ny fampidirana toy izany, dia tsy hampidirina ao amin'ny ShIoTiny ny faritra ary haneho fampitandremana mifanaraka amin'izany ny tonian-dahatsoratra.

Raha mandeha tsara ny zava-drehetra, dia alefan'ny tonian-dahatsoratra amin'ny ShIoTiny ny famaritana lahatsoratra momba ny fizaran-tany. Mazava ho azy fa nesorina aloha ny faritra misy ao amin'ny ShIoTiny. Tehirizina ao amin'ny fitadidiana FLASH ny famaritana lahatsoratra.

Teny an-dalana, raha te hanaisotra ny fizaran-tany amin'ny fitaovana iray ianao, dia ampidiro ao anatiny fotsiny ny faritra tsy misy na inona na inona (tsy misy singa node tokana).

Raha vao tafiditra ao amin'ny ShIoTiny PLC ny programa circuit manontolo dia manomboka "manatanteraka". Inona no dikan'izany?

Mariho fa ny dingana amin'ny fametahana circuit avy amin'ny fitadidiana FLASH rehefa mandeha ny herinaratra ary rehefa mahazo circuit avy amin'ny tonian-dahatsoratra dia mitovy.

Voalohany, noforonina araka ny famaritana azy ireo zavatra node.
Avy eo dia misy fifandraisana eo amin'ny nodes. Izany hoe, rohy avy amin'ny outputs amin'ny inputs sy ny inputs amin'ny outputs dia avoaka.

Ary aorian'izany rehetra izany dia manomboka ny tsingerin'ny famonoana programa lehibe.

Nanoratra nandritra ny fotoana ela aho, fa ny dingana iray manontolo - manomboka amin'ny "fametrahana" ny fizaran-tany avy amin'ny fahatsiarovana FLASH ka hatramin'ny fanombohana ny tsingerin'ny lehibe - dia maka ampahany amin'ny segondra ho an'ny faritra misy 60-80 nodes.

Ahoana no fiasan'ny loop lehibe? Tena tsotra. Miandry ny fisehoany aloha izy zava-mitranga amin'ny node sasany, dia manodina izany hetsika izany. Ary toy izany tsy misy farany. Eny, na mandra-pampakatra tetika vaovao ao amin'ny ShioTiny.

Efa imbetsaka aho no nanonona zavatra toy izany zava-mitranga, toerana и fifandraisana. Inona anefa izany raha jerena ny logiciel? Hiresaka momba izany isika anio.

Nodes, fifandraisana ary hetsika

Jereo fotsiny ireo ohatra amin'ny programa fizaran-tany ho an'ny ShioTinymba hahatakarana fa ny kisary dia ahitana singa roa ihany - nodes (na singa) sy ny fifandraisana eo amin'izy ireo.

node, fa eny na singa circuit dia fanehoana virtoaly ny sasany asa ambonin'ny data. Mety ho fandidiana arithmetika izany, fandidiana lojika, na fandidiana rehetra tonga ao an-tsaintsika. Ny tena zava-dehibe dia ny node dia manana fidirana sy fivoahana.

teny - io no toerana andraisan'ny node data. Ny sary fampidirana dia teboka izay eo amin'ny ilany havia hatrany amin'ny node.

fivoahana - io no toerana ahazoana ny vokatry ny fiasan'ny node. Ny sary mivoaka dia teboka izay hita eo amin'ny ilany havanana amin'ny node.

Ny nodes sasany dia tsy misy fidirana. Ny nodes toy izany dia miteraka vokatra anatiny. Ohatra, node tsy tapaka na node sensor: tsy mila data avy amin'ny node hafa izy ireo mba hitaterana ny valiny.

Ny nodes hafa, mifanohitra amin'izany, dia tsy misy vokatra. Ireo nodes izay mampiseho, ohatra, actuators (relays na zavatra mitovy). Manaiky angona izy ireo fa tsy miteraka vokatra kajy izay azon'ny nodes hafa.

Ankoatr'izay dia misy ihany koa ny node fanehoan-kevitra tokana. Tsy manao na inona na inona, tsy misy inputs na outputs. Ny tanjony dia ny ho fanazavana eo amin'ny kisary.

Misy inona "hetsika"? hetsika dia ny fiposahan'ny angona vaovao amin'ny node rehetra. Ohatra, ny hetsika dia misy: fiovan'ny toetry ny fidirana (node fahan'ny), mandray angona avy amin'ny fitaovana hafa (nodes MQTT и UDP), fahataperan'ny fe-potoana voafaritra (nodes ora и fahatarana) sy ny sisa.

Inona no atao hoe hetsika? Eny, mba hamaritana hoe aiza no misy angon-drakitra vaovao nipoitra ary ny toetry ny nodes mila ovaina mifandraika amin'ny fandraisana ny angona vaovao. Ny hetsika, toy ny hoe, "mandalo" eo amin'ny rojo ny nodes mandra-mandalony ny nodes rehetra izay ny toe-javatra mila hojerena sy hanova.

Ny nodes rehetra dia azo zaraina ho sokajy roa.
Andao hiantso ny nodes izay afaka miteraka hetsika "nodes mavitrika".
Hantsoinay ny nodes izay tsy afaka mamorona hetsika "nodes passive".

Rehefa mamorona hetsika ny node iray (izany hoe, ny angona vaovao dia miseho amin'ny famoahana azy), dia amin'ny tranga ankapobeny dia miova ny toetry ny rojo vy rehetra mifandray amin'ny famoahana ny node mpamokatra hetsika.

Mba hanazavana izany, dia diniho ny ohatra eo amin’ilay sary.

ShioTiny: nodes, fifandraisana ary hetsika na endri-javatra amin'ny programa fanaovana sary

Ny nodes mavitrika eto dia Input1, Input2 ary Input3. Ny nodes sisa dia passive. Andeha hojerentsika izay mitranga rehefa mihidy ny fampidirana iray na hafa. Ho fanamorana, fintinina ao anaty tabilao ny valiny.

ShioTiny: nodes, fifandraisana ary hetsika na endri-javatra amin'ny programa fanaovana sary

Araka ny hitanao, rehefa misy zava-mitranga, dia misy rojo aorina avy amin'ny node loharanon'ny hetsika mankany amin'ny node farany. Ny toetry ny nodes izay tsy latsaka ao amin'ny rojo dia tsy miova.

Mipetraka ny fanontaniana ara-dalàna: inona no hitranga raha misy tranga roa na maromaro miaraka?

Amin'ny maha-tia ny sangan'i Gleb Anfilov, dia alaim-panahy handefa mpanontaniana liana amin'ny bokiny “Escape from Surprise” aho. Ity dia "théorie de relativité ho an'ny madinika", izay manazava tsara ny dikan'ny hoe "miara-miaina" sy ny fomba iainany.

Saingy amin'ny ankapobeny dia tsotra kokoa ny zava-drehetra: rehefa misy fisehoan-javatra roa na maromaro aza, ny rojo rehetra avy amin'ny loharanon-javatra tsirairay dia amboarina sy amboarina tsikelikely, ary tsy misy fahagagana mitranga.

Ny fanontaniana ara-dalàna manaraka avy amin'ny mpamaky liana dia inona no hitranga raha ampifandraisina amin'ny peratra ny node? Na, araka ny lazain'izy ireo amin'ireto lehilahy hendry anao ireto, ampidiro hevitra. Izany hoe, ampifandraiso amin'ny fampidirana ny node teo aloha ny fivoahan'ny iray amin'ireo node mba hisy fiantraikany amin'ny toetry ny fampidirana azy ny toetry ny fivoahana amin'ity node ity. Ny tonian-dahatsoratra dia tsy hamela anao hampifandray mivantana ny fivoahan'ny node amin'ny fampidirana azy. ElDraw. Saingy ankolaka, toy ny amin'ny sary etsy ambany, dia azo atao izany.

Inona àry no hitranga amin’ity raharaha ity? Ny valiny dia ho tena "faritra": arakaraka ny nodes. Andeha hojerentsika ny ohatra eo amin’ilay sary.

ShioTiny: nodes, fifandraisana ary hetsika na endri-javatra amin'ny programa fanaovana sary

Rehefa misokatra ny fifandraisana fidirana amin'ny Input1, ny fidirana ambony amin'ny node A dia 0. Ny fivoahan'ny node A dia 0 ihany koa. mazava. Ary ho an'ireo izay tsy mazava dia jereo eto ambany ny famaritana ny fomba fiasan'ny "AND" sy "TSY" nodes.

Ankehitriny dia manakatona ny fifandraisana amin'ny fampidirana Input1 isika, izany hoe, mampihatra ny iray amin'ny fidirana ambony amin'ny node A. Ireo izay zatra amin'ny elektronika dia mahafantatra fa raha ny marina, dia hahazo ny kilasika generator circuit mampiasa singa lojika. Ary amin'ny teoria, ny fizaran-tany toy izany dia tokony hamokatra tsy misy farany ny filaharana 1-0-1-0-1-0… amin'ny famoahana ny singa A sy B. ary 0-1-0-1-0-1-…. Rehefa dinihina tokoa, ny hetsika dia tsy maintsy manova tsy tapaka ny toetry ny nodes A sy B, mihazakazaka amin'ny faribolana 2-3-2-3-...!

Saingy raha ny marina dia tsy mitranga izany. Ny fizaran-tany dia hianjera amin'ny toe-javatra kisendrasendra - na ny fampitana dia hijanona na hivoaka, na mety hitabataba kely sy miala imbetsaka misesy. Izany rehetra izany dia miankina amin'ny toetr'andro any amin'ny tendrony atsimon'i Mars. Ary izany no mahatonga izany.

Ny hetsika avy amin'ny node Input1 dia manova ny toetry ny node A, avy eo ny node B, ary ny toy izany ao anaty faribolana imbetsaka. Ny fandaharan'asa dia mahita ny "looping" amin'ny hetsika ary manakana an-keriny ity karnavaly ity. Aorian'izany dia voasakana ny fiovan'ny toetry ny node A sy B mandra-pahatongan'ny hetsika vaovao. Ny fotoana nanapahan'ny fandaharana ny "atsaharo ny fihodinana boribory!" - amin'ny ankapobeny dia miankina amin'ny lafin-javatra maro ary azo raisina ho kisendrasendra.

Mitandrema rehefa mampifandray ny knot amin'ny peratra - tsy ho hita foana ny vokany! Manàna hevitra tsara momba ny inona sy ny antony ataonao!

Mbola azo atao ve ny manangana generator amin'ireo node misy antsika? Eny, azonao atao! Fa izany dia mitaky node izay afaka mamorona hetsika ho azy. Ary misy node toy izany - izany no "tsipika fahatarana". Andeha hojerentsika ny fomba fiasan'ny gropy iray misy fe-potoana 6 segondra eo amin'ny sary etsy ambany.

ShioTiny: nodes, fifandraisana ary hetsika na endri-javatra amin'ny programa fanaovana sary

Ny singa fototra amin'ny mpamokatra dia node A - ny tsipika fanemorana. Raha manova ny toetry ny fidirana amin'ny tsipika fahatarana amin'ny 0 mankany 1 ianao, dia tsy hiseho avy hatrany ny 1, fa aorian'ny fotoana voafaritra. Aminay dia 3 segondra izany. Toy izany koa, raha manova ny toetry ny fidirana amin'ny tsipika fahatarana amin'ny 1 mankany 0 ianao, dia hiseho ny 0 amin'ny vokatra rehefa afaka 3 segondra. Ny fotoana fahatarana dia napetraka ao anatin'ny ampahafolon'ny segondra. Izany hoe ny sanda 30 dia midika hoe 3 segondra.

Ny endri-javatra manokana amin'ny tsipika fahatarana dia ny famoronana hetsika rehefa tapitra ny fotoana fahatarana.

Andeha hojerentsika fa tamin'ny voalohany ny famoahana ny tsipika fahatarana dia 0. Rehefa avy nandalo ny node B - ny inverter - ity 0 ity dia mivadika ho 1 ary mankany amin'ny fidirana amin'ny tsipika fanemorana. Tsy misy zavatra mitranga avy hatrany. Amin'ny famoahana ny tsipika fahatarana dia hijanona 0 izany, fa ny fanisana ny fotoana fahatarana dia hanomboka. 3 segondra lasa. Ary avy eo ny tsipika fahatarana dia miteraka hetsika. Amin'ny famoahana azy dia miseho 1. Ity vondrona ity, rehefa avy nandalo ny node B - ny inverter - dia mivadika ho 0 ary mandeha amin'ny fidirana amin'ny tsipika fanemorana. Mandalo 3 segondra indray... dia miverimberina ny dingana. Izany hoe isaky ny 3 segondra dia miova avy amin'ny 0 ka hatramin'ny 1 ny toetry ny fivoahana andalana fahatarana ary avy eo amin'ny 1 ka hatramin'ny 0. Mikitika ny relay. Miasa ny mpamokatra. Ny fe-potoana pulse dia 6 segondra (3 segondra amin'ny famoahana zero ary 3 segondra amin'ny famoahana iray).

Saingy, amin'ny faritra tena izy, matetika dia tsy ilaina ny mampiasa an'io ohatra io. Misy nodes manokana fameram-potoana izay tonga lafatra sy tsy misy fanampiana avy any ivelany mamorona filaharan'ny pulses amin'ny fe-potoana nomena. Ny faharetan'ny "aotra" sy ny "iray" amin'ireo pulses ireo dia mitovy amin'ny antsasaky ny fe-potoana.

Mba hametrahana hetsika tsindraindray dia ampiasao node fameram-potoana.

Marihiko fa ny famantarana nomerika toy izany, izay mitovy ny faharetan'ny "aotra" sy ny "iray", dia antsoina hoe "meander".

Manantena aho fa nanazava kely ny fanontaniana momba ny fomba fampielezana ny hetsika eo anelanelan'ny nodes sy ny tsy tokony hatao?

Fehiny sy references

Nanjary fohy ny lahatsoratra, fa ity lahatsoratra ity dia valin'ny fanontaniana nipoitra momba ny nodes sy ny hetsika.

Rehefa mivoatra ny firmware ary miseho ireo ohatra vaovao dia hanoratra momba ny fomba fandaharana aho ShioTiny lahatsoratra kely raha mbola hahaliana ny olona.

Toy ny teo aloha, diagram, firmware, ohatra, famaritana ny singa sy ny zavatra rehetra eto ny ambiny.

Fanontaniana, soso-kevitra, tsikera - mandehana eto: [email voaaro]

Source: www.habr.com

Add a comment