Visual programming ho an'ny Sonoff Basic

Visual programming ho an'ny Sonoff Basic
Lahatsoratra momba ny fomba hamoronana controller logic programmable amin'ny fitaovana sinoa mora vidy. Ny fitaovana toy izany dia hahita ny fampiasana azy amin'ny automation an-trano sy amin'ny kilasy azo ampiharina amin'ny siansa informatika an-tsekoly.
Ho fanondroana, amin'ny alΓ lan'ny default ny programa Sonoff Basic dia miasa amin'ny fampiharana finday amin'ny alΓ lan'ny serivisy rahona sinoa; aorian'ny fanovana natolotra dia ho azo atao ao amin'ny navigateur ny fifandraisana hafa rehetra amin'ity fitaovana ity.

Fizarana I. Mampifandray ny Sonoff amin'ny serivisy MGT24

Dingana 1: Mamorona tontonana fanaraha-maso

Misoratra anarana amin'ny tranokala mgt24 (raha mbola tsy nisoratra anarana) ary midira mampiasa ny kaontinao.
Member LoginVisual programming ho an'ny Sonoff Basic

Mba hamoronana tontonana fanaraha-maso ho an'ny fitaovana vaovao, tsindrio ny bokotra "+".
Ohatra amin'ny famoronana tontonanaVisual programming ho an'ny Sonoff Basic

Rehefa noforonina ny tontonana dia hiseho ao amin'ny lisitry ny tontonana izany.

Ao amin'ny tabilao "Setup" amin'ny tontonana noforonina, tadiavo ny saha "Device ID" sy "Fanomezan-dΓ lana"; amin'ny ho avy dia takiana izany fampahalalana izany rehefa manangana ny fitaovana Sonoff.
Ohatra tabVisual programming ho an'ny Sonoff Basic

Dingana 2. Reflash ny fitaovana

Mampiasa ny utility XTCOM_UTIL alaivo ny firmware PLC Sonoff Basic amin'ny fitaovana, mila mpanova USB-TTL ianao. Eto fampianarana ΠΈ Video fampianarana.

Dingana 3. Fametrahana fitaovana

Ampiharo hery amin'ny fitaovana, aorian'ny famirapiratan'ny LED, tsindrio ny bokotra ary tazony tsindriana mandra-panombohan'ny LED mitselatra tsindraindray.
Amin'izao fotoana izao dia hiseho ny tambajotra wi-fi vaovao antsoina hoe "PLC Sonoff Basic", mampifandray ny solosainao amin'ity tambajotra ity.
Fanazavana ny famantarana LED

LED famantarana
Satan'ny fitaovana

tselatra indroa misesy
tsy misy fifandraisana amin'ny router

mamirapiratra tsy tapaka
fifandraisana napetraka amin'ny router

fanamiana tsindraindray tselatra
Wi-fi access point mode

faty
Tsy misy famatsiana herinaratra

Sokafy ny navigateur Internet ary ampidiro ny lahatsoratra "192.168.4.1" ao amin'ny bara adiresy, mankanesa any amin'ny pejin'ny firafitry ny tambajotra.

Fenoy toy izao ny saha:

  • "Anaran'ny tambazotra" sy "Password" (mampifandray ny fitaovana amin'ny router wi-fi ao an-tranonao).
  • "ID fitaovana" sy "fanalahidin'ny fanomezan-dΓ lana" (mba hanomezana alalana ny fitaovana amin'ny serivisy MGT24).

Ohatra amin'ny fametrahana ny mason'ny tambajotran'ny fitaovanaVisual programming ho an'ny Sonoff Basic

Tehirizo ny fanovana ary avereno indray ny fitaovana.
izany Video fampianarana.

Dingana 4. Mampifandray sensor (tsy voatery)

Ny firmware ankehitriny dia manohana hatramin'ny efatra ds18b20 sensor mari-pana. Eto Video fampianarana ho an'ny fametrahana sensor. Toa ity dingana ity no ho sarotra indrindra, satria mitaky sandry mahitsy sy vy fametahana.

Fizarana II. Visual programming

Dingana 1: Mamorona Scripts

Ampiasaina ho tontolo iainana fandaharana sakanana, mora ianarana ny tontolo iainana, ka tsy mila programmer ianao vao mamorona script tsotra.

Nanampy sakana manokana ho an'ny fanoratana sy famakiana ny mari-pamantarana fitaovana aho. Ny paramètre rehetra dia idirana amin'ny anarana. Ho an'ny mari-pamantarana amin'ny fitaovana lavitra, dia ampiasaina ny anarana iombonana: "parameter@fitaovana".
Lisitr'ireo safidyVisual programming ho an'ny Sonoff Basic

Ohatra scenario momba ny fampidinana sy famonoana ny entana (1Hz):
Visual programming ho an'ny Sonoff Basic

Ohatra iray amin'ny script mampifanaraka ny fiasan'ny fitaovana roa misaraka. Izany hoe, ny fampitana ny fitaovana kendrena dia mamerina ny fiasan'ny fampitana ny fitaovana lavitra.
Visual programming ho an'ny Sonoff Basic

Scenario momba ny thermostat (tsy misy hysteresis):
Visual programming ho an'ny Sonoff Basic

Mba hamoronana sora-baventy sarotra kokoa dia azonao atao ny mampiasa variables, loops, functions (miaraka amin'ny arguments) ary fananganana hafa. Tsy holazaiko amin'ny antsipiriany eto izany rehetra izany; efa betsaka ny eto amin'ny net. fitaovana fanabeazana momba ny Blockly.

Dingana 2: Filaharan'ny Scripts

Ny script dia mandeha tsy tapaka, ary raha vao tonga amin'ny farany izy dia manomboka indray. Amin'ity tranga ity, misy sakana roa izay afaka mampiato vonjimaika ny script, "fahatarana" sy "fiatoana".
Ny sakana "fahatarana" dia ampiasaina amin'ny fahatarana millisecond na microsecond. Ity sakana ity dia mitazona mafy ny elanelan'ny fotoana, manakana ny fiasan'ny fitaovana iray manontolo.
Ny sakana "pause" dia ampiasaina amin'ny fahatarana faharoa (na latsaka), ary tsy manakana ny fanatanterahana ny dingana hafa ao amin'ny fitaovana.
Raha ny script mihitsy no misy tadivavarana tsy manam-petra, ny vatany dia tsy misy "pause", ny mpandika teny dia manomboka fiatoana fohy.
Raha lany ny fitahirizana natokana ho an'ny fitadidiana, dia hijanona ny mpandika teny amin'ny fampiasana sora-baventy mangetaheta toy izany (mitandrema amin'ny fiasa miverimberina).

Dingana 3: Debugging Scripts

Mba hanesorana ny script izay efa nampidirina tao amin'ny fitaovana, dia azonao atao ny mampandeha tsikelikely ny programa. Tena ilaina tokoa izany raha toa ka tsy mitovy amin'ny tian'ny mpanoratra ny fihetsiky ny script. Amin'ity tranga ity, ny fanaraha-maso dia ahafahan'ny mpanoratra mahita haingana ny loharanon'ny olana ary manitsy ny lesoka ao amin'ny script.

Scenario amin'ny fanisana factorial amin'ny fomba debug:
Visual programming ho an'ny Sonoff Basic

Ny fitaovana debug dia tena tsotra ary misy bokotra lehibe telo: "manomboka", "dingana iray mandroso" ary "ajanony" (aza adino koa ny mode debug "miditra" sy "mivoaka". Ho fanampin'ny fanaraha-maso tsikelikely, azonao atao ny mametraka teboka fiatoana amin'ny sakana rehetra (amin'ny fipihana ny sakana).
Mba hampisehoana ny soatoavina amin'izao fotoana izao ny masontsivana (sensors, relays) ao amin'ny Monitor, mampiasa ny "printy" sakana.
izany video overview momba ny fampiasana ny debugger.

Fizarana ho an'ny liana. Inona no ao ambanin'ny sarony?

Mba hahafahan'ny script miasa amin'ny fitaovana kendrena, dia novolavolaina ny mpandika teny bytecode sy ny assembler misy toromarika 38. Ny kaody loharanon'i Blockly dia manana mpamorona kaody manokana napetraka ao anatiny izay mamadika ireo sakana hita maso ho torolalana amin'ny fivoriambe. Avy eo, io programa assembler io dia avadika ho bytecode ary afindra amin'ny fitaovana hovonoina.
Ny maritrano an'ity milina virtoaly ity dia tsotra ary tsy misy teboka manokana amin'ny famaritana azy; amin'ny Internet dia hahita lahatsoratra maro momba ny famolavolana milina virtoaly tsotra indrindra ianao.
Matetika aho dia manome 1000 bytes ho an'ny stack ny milina virtoaly, izay ampy ho an'ny fitsitsiana. Mazava ho azy fa ny recursions lalina dia afaka mandreraka ny stack rehetra, saingy tsy azo ampiasaina izy ireo.

Ny bytecode vokarina dia somary mirindra. Ohatra, ny bytecode amin'ny kajy ny factorial mitovy dia 49 bytes ihany. Ity ny endriny hita maso:
Visual programming ho an'ny Sonoff Basic

Ary ity ny programa assembler azy:

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

Raha toa ka tsy manana sanda azo ampiharina ny endriky ny fivorian'ny solontena, dia ny tabilao "javascrit", mifanohitra amin'izany, dia manome endrika mahazatra kokoa noho ny sakana hita maso:

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

window.alert(factorial(10));

Momba ny fampisehoana. Rehefa nihazakazaka ny script flasher tsotra indrindra aho dia nahazo onjam-peo 47 kHz teo amin'ny efijery oscilloscope (amin'ny hafainganam-pandehan'ny famantaranandro 80 MHz).
Visual programming ho an'ny Sonoff BasicVisual programming ho an'ny Sonoff Basic
Heveriko fa vokatra tsara izany, farafaharatsiny ity hafainganam-pandeha ity dia efa ho avo folo heny noho ny lua ΠΈ Espruino.

Fizarana farany

Raha fintinina, dia lazaiko fa ny fampiasana ny script dia mamela antsika tsy hanao fandaharana ny lojikan'ny fiasan'ny fitaovana misaraka, fa koa mamela ny mampifandray fitaovana maro ho iray rafitra, izay misy fitaovana misy fiantraikany ny fitondran-tenan'ny hafa.
Marihiko ihany koa fa ny fomba fitehirizana scripts (mivantana ao amin'ny fitaovana, fa tsy amin'ny mpizara) dia manamora ny fifindrana ireo fitaovana efa miasa amin'ny mpizara hafa, ohatra amin'ny Raspberry an-trano, eto. fampianarana.

Izay ihany, faly aho mandre torohevitra sy fanakianana manorina.

Source: www.habr.com

Add a comment