Visual programming rau Sonoff Basic

Visual programming rau Sonoff Basic
Ib tsab xov xwm hais txog yuav ua li cas los tsim ib tug programmable logic maub los ntawm ib tug pheej yig Suav ntaus ntawv. Xws li cov cuab yeej yuav pom nws siv ob qho tib si hauv tsev automation thiab ua cov chav kawm ua haujlwm hauv tsev kawm ntawv computer science.
Rau kev siv, los ntawm lub neej ntawd Sonoff Basic program ua haujlwm nrog daim ntawv thov mobile los ntawm kev pabcuam huab cua Suav; tom qab qhov kev hloov kho, tag nrho cov kev cuam tshuam ntxiv nrog cov cuab yeej no yuav ua tau hauv qhov browser.

Tshooj I. Txuas Sonoff rau qhov kev pabcuam MGT24

Kauj ruam 1: Tsim ib tug tswj vaj huam sib luag

Sau npe rau ntawm qhov chaw mgt 24 (yog tias tsis tau sau npe) thiab nkag mus siv koj tus account.
Nkag musVisual programming rau Sonoff Basic

Txhawm rau tsim lub vaj huam sib luag rau lub cuab yeej tshiab, nyem rau ntawm "+" khawm.
Piv txwv ntawm kev tsim vaj huam sib luagVisual programming rau Sonoff Basic

Thaum lub vaj huam sib luag tsim, nws yuav tshwm sim hauv koj daim ntawv teev cov vaj huam sib luag.

Hauv "Setup" tab ntawm lub vaj huam sib luag tsim, nrhiav "Device ID" thiab "Tswj Tso Cai" teb; yav tom ntej, cov ntaub ntawv no yuav xav tau thaum teeb tsa Sonoff ntaus ntawv.
Tab exampleVisual programming rau Sonoff Basic

Kauj ruam 2. Reflash lub cuab yeej

Kev siv lub tshuab hluav taws xob XTCOM_UTIL download tau lub firmware PLC Sonoff Basic rau lub cuab yeej, rau qhov no koj yuav xav tau USB-TTL converter. Ntawm no phau ntawv ΠΈ Video qhia.

Kauj ruam 3. Ntaus kev teeb tsa

Siv lub zog rau lub cuab yeej, tom qab lub teeb ci LED, nias lub pob thiab tuav nws kom txog thaum lub LED pib flash ib ntus.
Lub sijhawm no, lub network tshiab wi-fi hu ua "PLC Sonoff Basic" yuav tshwm sim, txuas koj lub computer rau lub network no.
Kev piav qhia ntawm LED qhov taw qhia

LED qhia
Ntaus xwm txheej

periodic ob flashing
tsis muaj kev sib txuas rau router

ci tsis tu ncua
kev sib txuas tau tsim nrog lub router

periodic uniform flashing
wi-fi access point hom

tua
Tsis muaj hluav taws xob

Qhib Internet browser thiab sau cov ntawv "192.168.4.1" nyob rau hauv qhov chaw nyob bar, mus rau lub cuab yeej network chaw teeb tsa nplooj ntawv.

Sau rau hauv cov teb raws li nram no:

  • "Network name" thiab "Password" (kom txuas lub cuab yeej rau koj lub tsev wi-fi router).
  • "Device ID" thiab "Kev tso cai yuam sij" (kom tso cai rau lub cuab yeej ntawm qhov kev pabcuam MGT24).

Piv txwv ntawm kev teeb tsa cov cuab yeej network parameterVisual programming rau Sonoff Basic

Txuag cov chaw thiab reboot lub cuab yeej.
nws yog Video qhia.

Kauj ruam 4. Txuas sensors (yeem)

Lub firmware tam sim no txhawb nqa txog li plaub ds18b20 kub sensors. Ntawm no Video qhia rau installation ntawm sensors. Thaj, cov kauj ruam no yuav yog qhov nyuaj tshaj plaws, raws li nws yuav tsum tau ncaj caj npab thiab ib tug soldering hlau.

Ntu II. Visual programming

Kauj ruam 1: Tsim Scripts

Siv raws li ib puag ncig programming Thaiv, ib puag ncig yooj yim kawm, yog li koj tsis tas yuav yog tus programmer los tsim cov ntawv sau yooj yim.

Kuv tau ntxiv cov block tshwj xeeb rau kev sau ntawv thiab nyeem cov khoom siv tsis tau. Txhua qhov parameter yog nkag los ntawm lub npe. Rau cov kev txwv ntawm cov chaw taws teeb, cov npe sib xyaw yog siv: "parameter@device".
Dropdown daim ntawv teev cov kev xaivVisual programming rau Sonoff Basic

Piv txwv scenario rau cyclic switching on thiab off load (1Hz):
Visual programming rau Sonoff Basic

Ib qho piv txwv ntawm ib tsab ntawv synchronizing kev ua haujlwm ntawm ob qho khoom siv sib cais. Namely, lub relay ntawm lub hom phiaj ntaus ntawv rov ua hauj lwm ntawm lub relay ntawm tej thaj chaw deb ntaus ntawv.
Visual programming rau Sonoff Basic

Scenario rau ntsuas kub (tsis muaj hysteresis):
Visual programming rau Sonoff Basic

Txhawm rau tsim cov ntawv sau ntau dua, koj tuaj yeem siv qhov sib txawv, voj, ua haujlwm (nrog kev sib cav) thiab lwm yam tsim. Kuv yuav tsis piav tag nrho cov no hauv kev nthuav dav ntawm no; twb muaj ntau heev hauv net. Cov ntaub ntawv kawm txog Blockly.

Kauj ruam 2: Order of Scripts

Cov ntawv sau tsis tu ncua, thiab sai li sai tau thaum nws mus txog qhov kawg, nws pib dua. Hauv qhov no, muaj ob qhov thaiv uas tuaj yeem ncua ib ntus ntawm tsab ntawv, "ncua sijhawm" thiab "pause".
Qhov thaiv "delay" yog siv rau ncua sijhawm millisecond lossis microsecond qeeb. Qhov thaiv no nruj me ntsis tswj lub sijhawm ncua sijhawm, thaiv kev ua haujlwm ntawm tag nrho cov cuab yeej.
Lub "pause" thaiv yog siv rau qhov thib ob (lossis tsawg dua) qeeb, thiab nws tsis thaiv kev ua tiav ntawm lwm cov txheej txheem hauv lub cuab yeej.
Yog tias tsab ntawv nws tus kheej muaj lub voj tsis kawg, lub cev uas tsis muaj "pause", tus neeg txhais lus ntawm nws tus kheej pib ib ntus luv.
Yog hais tias lub cim xeeb faib tag lawm, tus neeg txhais lus yuav tsum tsis txhob ua raws li tsab ntawv tshaib plab (ceev faj nrog cov haujlwm rov ua dua).

Kauj ruam 3: Debugging Scripts

Txhawm rau debug ib tsab ntawv uas twb tau muab tso rau hauv lub cuab yeej, koj tuaj yeem khiav qhov program taug qab ib kauj ruam. Qhov no tuaj yeem muaj txiaj ntsig zoo thaum tus cwj pwm ntawm tsab ntawv tau hloov mus rau qhov txawv ntawm qhov uas tus sau xav tau. Nyob rau hauv rooj plaub no, tracing tso cai rau tus sau sai sai nrhiav qhov chaw ntawm qhov teeb meem thiab kho qhov yuam kev hauv tsab ntawv.

Scenario rau xam factorial nyob rau hauv hom debug:
Visual programming rau Sonoff Basic

Lub cuab yeej debug yog yooj yim heev thiab muaj peb lub ntsiab nyees khawm: "pib", "ib kauj ruam rau pem hauv ntej" thiab "nres" (cia peb kuj tsis txhob hnov ​​qab txog "nkag mus" thiab "tawm" hom debug). Ntxiv nrog rau cov kauj ruam-los-kauj ruam taug qab, koj tuaj yeem teem caij so ntawm txhua qhov thaiv (los ntawm txhaj rau ntawm qhov thaiv).
Txhawm rau tso saib cov txiaj ntsig tam sim no ntawm cov tsis muaj (sensors, relays) hauv lub monitor, siv qhov thaiv "luam tawm".
nws yog saib video hais txog kev siv tus debugger.

Section rau cov xav paub. Hauv qab hood yog dab tsi?

Txhawm rau kom cov ntawv sau ua haujlwm ntawm lub hom phiaj ntaus ntawv, tus neeg txhais lus bytecode thiab kev sib sau ua ke nrog 38 cov lus qhia tau tsim. Blockly's code code muaj lub tshuab hluav taws xob tshwj xeeb tsim rau hauv nws uas hloov cov duab thaiv rau hauv cov lus qhia sib dhos. Tom qab ntawd, qhov kev pab cuam assembler no tau hloov mus rau hauv bytecode thiab xa mus rau lub cuab yeej rau kev ua tiav.
Lub architecture ntawm lub tshuab virtual no yooj yim heev thiab tsis muaj qhov tshwj xeeb hauv kev piav qhia nws; hauv Is Taws Nem koj yuav pom ntau cov ntawv hais txog kev tsim cov tshuab virtual uas yooj yim tshaj plaws.
Kuv feem ntau faib 1000 bytes rau pawg ntawm kuv lub tshuab virtual, uas yog txaus rau spare. Tau kawg, qhov kev rov qab sib sib zog nqus tuaj yeem tso tawm txhua pawg, tab sis lawv tsis zoo li yuav muaj kev siv tswv yim.

Cov txiaj ntsig bytecode yog qhov sib txuam heev. Raws li ib qho piv txwv, cov bytecode rau xam tib lub factorial tsuas yog 49 bytes. Nov yog nws daim ntawv pom:
Visual programming rau Sonoff Basic

Thiab qhov no yog nws qhov kev pab cuam assembler:

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

Yog tias daim ntawv sib sau ua ke ntawm kev sawv cev tsis muaj qhov ua tau zoo, ces "javascript" tab, ntawm qhov tsis sib xws, muab qhov kev paub zoo dua li cov duab thaiv:

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

window.alert(factorial(10));

Hais txog kev ua haujlwm. Thaum kuv khiav cov ntawv flasher yooj yim tshaj plaws, kuv tau txais 47 kHz square nthwv dej ntawm lub vijtsam oscilloscope (ntawm lub moos processor ceev ntawm 80 MHz).
Visual programming rau Sonoff BasicVisual programming rau Sonoff Basic
Kuv xav tias qhov no yog qhov txiaj ntsig zoo, tsawg kawg qhov kev nrawm no yuav luag kaum zaus sai dua Lua ΠΈ Espruino.

Qhov kawg

Txhawm rau kom ua tiav, kuv yuav hais tias kev siv cov ntawv tso cai rau peb tsis yog tsuas yog ua haujlwm rau lub laj thawj ntawm kev ua haujlwm ntawm ib lub cuab yeej sib cais, tab sis kuj tseem ua rau nws muaj peev xwm txuas tau ntau yam khoom siv rau hauv ib qho kev siv tshuab, uas qee cov cuab yeej cuam tshuam rau tus cwj pwm ntawm lwm tus.
Kuv kuj tseem nco ntsoov tias txoj kev xaiv khaws cia cov ntawv sau ncaj qha (tshwj xeeb hauv cov khoom siv lawv tus kheej, thiab tsis yog ntawm lub server) ua kom yooj yim hloov cov khoom siv uas twb tau ua haujlwm rau lwm tus neeg rau zaub mov, piv txwv li rau lub tsev Raspberry, ntawm no phau ntawv.

Qhov ntawd yog txhua yam, kuv yuav zoo siab tau hnov ​​​​cov lus qhia thiab kev thuam tsim nyog.

Tau qhov twg los: www.hab.com

Ntxiv ib saib