Uhlelo olubonakalayo lwe-Sonoff Basic

Uhlelo olubonakalayo lwe-Sonoff Basic
I-athikili emayelana nendlela yokudala isilawuli se-logic esihlelekayo kusuka kudivayisi eshibhile yama-Chinese. Idivayisi enjalo izothola ukusetshenziswa kwayo kokubili ku-automation yasekhaya kanye namakilasi asebenzayo esikoleni sesayensi yekhompyutha.
Ukuze uthole ireferensi, ngokuzenzakalelayo uhlelo lwe-Sonoff Basic lusebenza nohlelo lokusebenza lweselula ngesevisi yamafu yesiShayina; ngemva koshintsho oluhlongozwayo, konke okunye ukusebenzisana nale divayisi kuzokwenzeka esipheqululini.

Isigaba I. Ixhuma i-Sonoff kusevisi ye-MGT24

Isinyathelo 1: Dala iphaneli yokulawula

Bhalisa kusayithi mgt24 (uma ungabhalisiwe) bese ungena usebenzisa i-akhawunti yakho.
Ngena ngemvumeUhlelo olubonakalayo lwe-Sonoff Basic

Ukuze udale iphaneli yokulawula yedivayisi entsha, chofoza inkinobho ethi "+".
Isibonelo sokudala iphaneliUhlelo olubonakalayo lwe-Sonoff Basic

Uma iphaneli selidaliwe, lizovela ohlwini lwakho lwamaphaneli.

Kuthebhu ethi "Setha" yephaneli edaliwe, thola izinkambu "I-ID Yedivayisi" kanye "Nokhiye Wokugunyaza"; ngokuzayo, lolu lwazi luzodingeka lapho usetha idivayisi ye-Sonoff.
Isibonelo sethebhuUhlelo olubonakalayo lwe-Sonoff Basic

Isinyathelo 2. Khanyisa kabusha idivayisi

Ukusebenzisa uhlelo XTCOM_UTIL landa i-firmware PLC Sonoff Basic kudivayisi, kulokhu uzodinga isiguquli se-USB-TTL. Lapha incwadi и Imiyalo yevidiyo.

Isinyathelo 3. Ukusethwa kwedivayisi

Faka amandla kudivayisi, ngemva kokuthi i-LED ikhanyisiwe, cindezela inkinobho bese uyibamba icindezelwe kuze kube yilapho i-LED iqala ukukhanya ngezikhathi ezithile ngokulinganayo.
Ngalesi sikhathi, kuzovela inethiwekhi entsha ye-wi-fi ebizwa ngokuthi “PLC Sonoff Basic”, xhuma ikhompuyutha yakho kule nethiwekhi.
Incazelo yenkomba ye-LED

Isibonisi se-LED
Isimo Sedivayisi

ukukhanya okuphindwe kabili ngezikhathi ezithile
akukho uxhumano kumzila

kukhanya njalo
uxhumano lusungulwe nge-router

iyunifomu ekhanyayo ngezikhathi ezithile
imodi yephoyinti lokufinyelela i-wi-fi

icinyiwe
Akukho ukunikezwa kwamandla

Vula isiphequluli se-inthanethi bese ufaka umbhalo othi “192.168.4.1” kubha yekheli, hamba ekhasini lezilungiselelo zenethiwekhi yedivayisi.

Gcwalisa izinkambu kanje:

  • “Igama lenethiwekhi” kanye “Nephasiwedi” (ukuxhuma idivayisi kumzila wakho we-wi-fi yasekhaya).
  • “I-ID Yedivayisi” kanye “Nokhiye Wokugunyaza” (ukugunyaza idivayisi kusevisi ye-MGT24).

Isibonelo sokusetha amapharamitha enethiwekhi yedivayisiUhlelo olubonakalayo lwe-Sonoff Basic

Londoloza izilungiselelo bese uqalisa kabusha idivayisi.
kuyinto Imiyalo yevidiyo.

Isinyathelo 4. Ukuxhuma izinzwa (kuyakhetheka)

I-firmware yamanje isekela izinzwa zokushisa ezifika kwezine ze-ds18b20. Lapha Imiyalo yevidiyo ukuze kufakwe izinzwa. Ngokusobala, lesi sinyathelo sizoba nzima kakhulu, njengoba sizodinga izingalo eziqondile kanye nensimbi ye-soldering.

Isigaba II. Uhlelo olubonakalayo

Isinyathelo 1: Dala Imibhalo

Isetshenziswa njengendawo yokuhlela Ngovimba, imvelo ifundeka kalula, ngakho-ke awudingi ukuba umhleli ukuze udale imibhalo elula.

Ngengeze amabhlogo akhethekile okubhala nokufunda amapharamitha wedivayisi. Noma iyiphi ipharamitha ifinyelelwa ngegama. Kumapharamitha wamadivayisi akude, amagama ahlanganisiwe asetshenziswa: “ipharamitha@device”.
Uhlu olwehliswayo lwezinkethoUhlelo olubonakalayo lwe-Sonoff Basic

Isibonelo sesimo sokuvula nokuvala umthwalo nge-cyclic (1Hz):
Uhlelo olubonakalayo lwe-Sonoff Basic

Isibonelo sombhalo ovumelanisa ukusebenza kwamadivayisi amabili ahlukene. Okungukuthi, i-relay yedivayisi eqondiwe iphinda ukusebenza kwe-relay yedivayisi ekude.
Uhlelo olubonakalayo lwe-Sonoff Basic

Isimo se-thermostat (ngaphandle kwe-hysteresis):
Uhlelo olubonakalayo lwe-Sonoff Basic

Ukuze udale imibhalo eyinkimbinkimbi, ungasebenzisa okuguquguqukayo, amalophu, imisebenzi (enezimpikiswano) nezinye izakhiwo. Ngeke ngikuchaze ngokuningiliziwe konke lokhu lapha; sekuvele kuningi kunetha. izinto zemfundo mayelana Blockly.

Isinyathelo sesi-2: Ukuhleleka Kwemibhalo

Iskripthi sisebenza ngokuqhubekayo, futhi ngokushesha nje lapho sifika ekupheleni, siqala futhi. Kulesi simo, kunamabhulokhi amabili angamisa okwesikhashana iskripthi, "ukubambezela" kanye "nokumisa kancane".
Ibhulokhi "yokulibazisa" isetshenziselwa ukubambezeleka kwe-millisecond noma i-microsecond. Le block igcina ngokuqinile isikhawu sesikhathi, ivimba ukusebenza kwayo yonke idivayisi.
Ibhulokhi "yokumisa okwesikhashana" isetshenziselwa ukubambezeleka kwesibili (noma ngaphansi), futhi ayivimbi ukwenziwa kwezinye izinqubo kudivayisi.
Uma iskripthi ngokwaso siqukethe iluphu engapheli, indikimba yayo engaqukathi "ikhefu", umhumushi ngokuzimela uqala ukumisa kancane.
Uma isitaki sememori esabelwe siphelile, umhumushi uzoyeka ukusebenzisa iskripthi esilambele amandla (qaphela imisebenzi ephindaphindayo).

Isinyathelo sesi-3: Ukulungisa iphutha Izikripthi

Ukuze ulungise isikripthi esesivele silayishwe kudivayisi, ungaqalisa uhlelo lokulandelela isinyathelo ngesinyathelo. Lokhu kungaba wusizo kakhulu lapho ukuziphatha kombhalo kuvela kuhlukile kulokho umlobi ayekuhlosile. Kulesi simo, ukulandelela kuvumela umbhali ukuthi athole ngokushesha umthombo wenkinga futhi alungise iphutha kusikripthi.

Isimo sokubala i-factorial kumodi yokususa iphutha:
Uhlelo olubonakalayo lwe-Sonoff Basic

Ithuluzi lokususa iphutha lilula kakhulu futhi liqukethe izinkinobho ezintathu eziyinhloko: "qala", "isinyathelo esisodwa phambili" kanye "nokumisa" (masingakhohlwa futhi mayelana nemodi yokususa iphutha elithi "ngena" kanye "nophuma". Ngokungeziwe ekulandeleni isinyathelo ngesinyathelo, ungasetha indawo yokuphumula kunoma iyiphi ibhulokhi (ngokuchofoza ibhulokhi).
Ukuze ubonise amanani wamanje wamapharamitha (izinzwa, ama-relays) kumonitha, sebenzisa ibhulokhi ethi "phrinta".
kuyinto ukubuka konke ividiyo mayelana nokusebenzisa i-debugger.

Isigaba sabafuna ukwazi. Yini ngaphansi kwesivalo?

Ukuze imibhalo isebenze kudivayisi eqondiwe, kwasungulwa umhumushi we-bytecode kanye nesihlanganisi esinemiyalelo engama-38. Ikhodi yomthombo kaBlockly inekhodi ekhethekile ekhiqiza amakhodi eyakhelwe kuyo eguqula amabhulokhi abonakalayo abe yimiyalelo yomhlangano. Kamuva, lolu hlelo lokuhlanganisa luguqulwa lube yi-bytecode futhi ludluliselwe kudivayisi ukuze lusetshenziswe.
Isakhiwo salo mshini we-virtual silula futhi akukho phuzu elithile ekulichazeni; ku-inthanethi uzothola izihloko eziningi mayelana nokuklama imishini elula kakhulu.
Ngivamise ukwaba amabhayithi angu-1000 esitaki somshini wami we-virtual, okwanele ukushiya. Yebo, ukuphindaphinda okujulile kungaqeda noma yisiphi isitaki, kodwa mancane amathuba okuthi kube nokusetshenziswa okungokoqobo.

I-bytecode ewumphumela ihlangene impela. Njengesibonelo, i-bytecode yokubala i-factorial efanayo ingamabhayithi angu-49 kuphela. Nansi indlela yayo yokubuka:
Uhlelo olubonakalayo lwe-Sonoff Basic

Futhi lolu uhlelo lwakhe lokuhlanganisa:

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

Uma indlela yokuhlanganisa yokumelela ingenalo inani elingokoqobo, khona-ke ithebhu ethi “javascrit”, ngokuphambene, inikeza ukubukeka okujwayeleke kakhulu kunamabhulokhi abonakalayo:

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

window.alert(factorial(10));

Mayelana nokusebenza. Lapho ngisebenzisa iskripthi esikhanyayo esilula, ngathola igagasi lesikwele elingu-47 kHz esikrinini se-oscilloscope (ngejubane lewashi leprosesa elingu-80 MHz).
Uhlelo olubonakalayo lwe-Sonoff BasicUhlelo olubonakalayo lwe-Sonoff Basic
Ngicabanga ukuthi lokhu kuwumphumela omuhle, okungenani lesi sivinini sishesha cishe izikhathi eziyishumi kune Lua и Espruino.

Ingxenye yokugcina

Ukufingqa, ngizosho ukuthi ukusetshenziswa kweskripthi kusivumela ukuthi singagcini nje ukuhlela umqondo wokusebenza kwedivayisi ehlukile, kodwa futhi kwenza kube nokwenzeka ukuxhuma amadivaysi amaningana kumshini owodwa, lapho amanye amadivaysi ethonya ukuziphatha kwabanye.
Ngiyaqaphela futhi ukuthi indlela ekhethiwe yokugcina imibhalo (ngokuqondile kumadivayisi ngokwawo, hhayi kuseva) yenza kube lula ukushintsha amadivaysi asevele esebenza kwenye iseva, ngokwesibonelo kuRaspberry wasekhaya, lapha. incwadi.

Yilokho kuphela, ngizojabula ukuzwa izeluleko nokugxeka okwakhayo.

Source: www.habr.com

Engeza amazwana