Udweliso lwenkqubo olubonakalayo lwe Sonoff Basic

Udweliso lwenkqubo olubonakalayo lwe Sonoff Basic
Inqaku elimalunga nendlela yokwenza isilawuli sengqiqo ecwangcisiweyo kwisixhobo samaTshayina esitshiphu. Isixhobo esinjalo siya kufumana ukusetyenziswa kwayo kokubini kwi-automation yasekhaya kunye neeklasi ezisebenzayo kwisayensi yekhompyuter yesikolo.
Ukwenzela ireferensi, ngokungagqibekanga inkqubo yeSiseko yeSonoff isebenza kunye nesicelo esiphathwayo ngenkonzo yelifu yaseTshayina; emva kohlengahlengiso olucetywayo, lonke unxibelelwano oluqhubekayo nesi sixhobo luyakwenzeka kwibhrawuza.

Icandelo I. Ukuqhagamshela iSonoff kwinkonzo ye-MGT24

Inyathelo 1: Yenza ipaneli yolawulo

Bhalisa kwisiza mgt24 (ukuba awukabhaliswanga) kwaye ungene usebenzisa iakhawunti yakho.
NgenaUdweliso lwenkqubo olubonakalayo lwe Sonoff Basic

Ukwenza indawo yolawulo yesixhobo esitsha, cofa kwiqhosha elithi "+".
Umzekelo wokudala iphaneliUdweliso lwenkqubo olubonakalayo lwe Sonoff Basic

Nje ukuba indawo yolawulo yenziwe, iya kuvela kuluhlu lwakho lweephaneli.

Kwithebhu ethi "Setup" yephaneli eyenziweyo, fumana i-ID yesixhobo kunye ne "Isitshixo soGunyaziso" amasimi; kwixesha elizayo, olu lwazi luya kufuneka xa ucwangcisa isixhobo seSonoff.
Umzekelo wethebhuUdweliso lwenkqubo olubonakalayo lwe Sonoff Basic

Inyathelo 2. Hlaziya isixhobo kwakhona

Ukusebenzisa isixhobo XTCOM_UTIL khuphela i-firmware PLC Sonoff Basic kwisixhobo, kuba oku uya kufuna isiguquli se-USB-TTL. Apha ncwadana ΠΈ Umyalelo wevidiyo.

Inyathelo 3. Ukuseta isixhobo

Faka amandla kwisixhobo, emva kokukhanyisa kwe-LED, cofa iqhosha kwaye ulibambe licofe de i-LED iqalise ukudanyaza ngamaxesha athile ngokulinganayo.
Ngeli xesha, inethiwekhi entsha ye-wi-fi ebizwa ngokuba yi-"PLC Sonoff Basic" iya kuvela, qhagamshela ikhompyutha yakho kule nethiwekhi.
Inkcazo yesalathisi se-LED

Isibonakaliso se-LED
Ubume besixhobo

ukudanyaza kabini ngamaxesha
akukho nxibelelwano kwi-router

likhanya rhoqo
uqhagamshelo lusekiwe nge-router

ukudanyaza kweyunifomu ngamaxesha athile
imowudi yendawo yokufikelela kwi-wi-fi

icinyiwe
Akukho mbane

Vula isikhangeli se-Intanethi kwaye ufake umbhalo othi "192.168.4.1" kwibha yedilesi, yiya kwiphepha lesethingi yenethiwekhi yesixhobo.

Gcwalisa iindawo ngolu hlobo lulandelayo:

  • "Igama lenethiwekhi" kunye "nePassword" (ukudibanisa isixhobo kwirutha ye-wi-fi yasekhaya).
  • β€œI-ID yesixhobo” kunye β€œneqhosha logunyaziso” (ukugunyazisa isixhobo kwinkonzo ye-MGT24).

Umzekelo wokuseta iiparamitha zenethiwekhi yesixhoboUdweliso lwenkqubo olubonakalayo lwe Sonoff Basic

Gcina useto kwaye uqalise kwakhona isixhobo.
kuyinto Umyalelo wevidiyo.

Inyathelo 4. Ukuqhagamshela izixhobo zoluvo (ukhetho)

I-firmware yangoku ixhasa ukuya kuthi ga kwi-ds18b20 izinzwa zobushushu ezine. Apha Umyalelo wevidiyo ukufakwa kwabenzi boluvo. Kubonakala ukuba, eli nyathelo liya kuba linzima kakhulu, njengoko liya kufuna iingalo ezichanekileyo kunye nentsimbi ye-soldering.

Icandelo II. Udweliso lwenkqubo olubonakalayo

Inyathelo 1: Yenza izikripthi

Isetyenziswa njengendawo yokucwangcisa Ibhlokile, okusingqongileyo kulula ukufunda, ngoko akuyomfuneko ukuba ube ngumdwelisi wenkqubo ukwenza izikripthi ezilula.

Ndongeze iibhloko ezikhethekileyo zokubhala nokufunda iiparamitha zesixhobo. Nayiphi na iparameter ifikeleleka ngegama. Kwiiparameters zezixhobo ezikude, amagama ahlanganisiweyo asetyenziswa: "iparameter@device".
Uluhlu oluhlayo lokhethoUdweliso lwenkqubo olubonakalayo lwe Sonoff Basic

Umzekelo wemeko yokuvula nokucima umthwalo ngomjikelo (1Hz):
Udweliso lwenkqubo olubonakalayo lwe Sonoff Basic

Umzekelo weskripthi esingqamanisa ukusebenza kwezixhobo ezibini ezahlukeneyo. Oko kukuthi, i-relay yesixhobo ekujoliswe kuyo iphinda ukusebenza kogqithiso lwesixhobo esikude.
Udweliso lwenkqubo olubonakalayo lwe Sonoff Basic

Imeko ye-thermostat (ngaphandle kwe-hysteresis):
Udweliso lwenkqubo olubonakalayo lwe Sonoff Basic

Ukwenza izikripthi ezinzima ngakumbi, ungasebenzisa izinto eziguquguqukayo, iilophu, imisebenzi (kunye neengxabano) kunye nezinye izakhiwo. Andizukuchaza yonke le nto ngokweenkcukacha apha; sele kuninzi kakhulu kwi-Intanethi. imathiriyeli yemfundo malunga neBlockly.

Inyathelo 2: Ulandelelwano lwezikripthi

Iskripthi siqhuba ngokuqhubekayo, kwaye ngokukhawuleza ukuba sifikelele ekupheleni, siqala kwakhona. Kule meko, kukho iibhloko ezimbini ezinokumisa okwethutyana iskripthi, "ukulibazisa" kunye "nokumisa".
Ibhloko "yokulibazisa" isetyenziselwa ukulibaziseka kwe-millisecond okanye i-microsecond. Le block igcina ngokungqongqo ixesha lokuphumla, ivalela ukusebenza kwesixhobo sonke.
Ibhloko "yekhefu" isetyenziselwa ukulibaziseka kwesibini (okanye ngaphantsi), kwaye ayithinteli ukuphunyezwa kwezinye iinkqubo kwisixhobo.
Ukuba iskripthi ngokwaso siqulethe i-loop engapheliyo, umzimba wayo ongenayo "ikhefu", itoliki iqalisa ngokuzimeleyo ikhefu elifutshane.
Ukuba uvimba wenkumbulo owabelweyo uphelile, itoliki iya kuyeka ukwenza umbhalo olambayo onjalo (lumkela imisebenzi ephindaphindayo).

Inyathelo 3: Ukulungisa iimpazamo kwiscripts

Ukulungisa iscript esele silayishiwe kwisixhobo, ungaqhuba inkqubo yokulandelela inyathelo ngenyathelo. Oku kunokuba luncedo kakhulu xa indlela yokuziphatha yeskripthi ibonakala yahlukile kwinto ecetywa ngumbhali. Kule meko, ukulandelela kuvumela umbhali ukuba afumane ngokukhawuleza umthombo wengxaki kwaye alungise impazamo kwiskripthi.

Imeko yokubala i-factorial kwimo ye-debug:
Udweliso lwenkqubo olubonakalayo lwe Sonoff Basic

Isixhobo sokucoca silula kakhulu kwaye siquka amaqhosha amathathu aphambili: "ukuqala", "inyathelo elinye phambili" kunye "nokuyeka" (masingakulibali malunga "nokungena" kunye "nokuphuma" kwimodi yokucoca). Ukongeza ekulandeleni inyathelo ngenyathelo, unokuseta indawo yokuphumla kuyo nayiphi na ibhloko (ngokuchofoza kwibhloko).
Ukubonisa amaxabiso angoku eparameters (iinzwa, iirelays) kwimonitha, sebenzisa ibhloko "yokushicilela".
kuyinto Isishwankathelo sevidiyo malunga nokusebenzisa i-debugger.

Icandelo labanomdla. Yintoni phantsi kwe-hood?

Ukuze izikripthi zisebenze kwisixhobo ekujoliswe kuso, itoliki ye-bytecode kunye ne-assembler enemiyalelo engama-38 yaphuhliswa. Ikhowudi yomthombo kaBlockly inejenereyitha yekhowudi ekhethekileyo eyakhelwe kuyo eguqula iibhloko ezibonakalayo zibe yimiyalelo yendibano. Emva koko, le nkqubo yokuhlanganisa iguqulwa ibe yi-bytecode kwaye idluliselwe kwisixhobo ukuze iphunyezwe.
Uyilo lwalo matshini wenyani lulula kwaye akukho nqaku lithile lokuluchaza; kwi-Intanethi uya kufumana amanqaku amaninzi malunga nokuyila abona matshini balula benyani.
Ndidla ngokunikezela nge-1000 ye-bytes kwi-stack yomatshini wam wenyani, owaneleyo ukuba angagcinwa. Ewe kunjalo, ukuphindaphinda okunzulu kunokuphelisa nasiphi na isitakhi, kodwa akunakwenzeka ukuba nokusetyenziswa okusebenzayo.

I-bytecode enesiphumo ixinene kakhulu. Njengomzekelo, i-bytecode yokubala i-factorial efanayo yi-49 bytes kuphela. Le yimbonakalo yayo:
Udweliso lwenkqubo olubonakalayo lwe Sonoff Basic

Kwaye le yinkqubo yakhe yokuhlanganisa:

shift -1
ldi 10
call factorial, 1
print
exit
:factorial
ld_arg 0
ldi 1
gt
je 8
ld_arg 0
ld_arg 0
ldi 1
sub
call factorial, 1
mul
ret
ldi 1
ret

Ukuba indibano yokumelwa ayinalo naliphi na ixabiso elisebenzayo, ke ithebhu ye "javascrit", ngokuchaseneyo, inika inkangeleko eqhelekileyo kuneebhloko ezibonakalayo:

function factorial(num) {
  if (num > 1) {
    return num + factorial(num - 1);
  }
  return 1;
}

window.alert(factorial(10));

Ngokumalunga nokusebenza. Xa ndibaleka esona sikripthi silula, ndafumana i47 kHz square wave kwiscreen se-oscilloscope (ngesantya sewotshi ye80 MHz).
Udweliso lwenkqubo olubonakalayo lwe Sonoff BasicUdweliso lwenkqubo olubonakalayo lwe Sonoff Basic
Ndicinga ukuba esi sisiphumo esihle, ubuncinane esi santya siphantse siphindwe kalishumi kunoko Inyanga ΠΈ Espruino.

Inxalenye yokugqibela

Ukushwankathela, ndiza kuthetha ukuba ukusetyenziswa kwezikripthi kusivumela ukuba singagcini nje ukucwangcisa ingqiqo yokusebenza kwesixhobo esahlukileyo, kodwa kwenza kube lula ukudibanisa izixhobo ezininzi kwindlela enye, apho ezinye izixhobo zichaphazela ukuziphatha kwabanye.
Ndikwaqaphela ukuba indlela ekhethiweyo yokugcina izikripthi (ngokuthe ngqo kwizixhobo ngokwazo, kwaye kungekhona kumncedisi) yenza lula ukutshintsha izixhobo esele zisebenza kwenye iseva, umzekelo kwiRaspberry yasekhaya, apha. ncwadana.

Kuphelele apho, ndingavuya ukuva iingcebiso kunye nokugxekwa okwakhayo.

umthombo: www.habr.com

Yongeza izimvo