Visual programming yeSonoff Basic

Visual programming yeSonoff Basic
Chinyorwa nezve maitiro ekugadzira programmable logic controller kubva kune yakachipa Chinese mudziyo. Chishandiso chakadaro chinowana kushandiswa kwayo zvese mudzimba otomatiki uye semakirasi anoshanda muchikoro sainzi yekombuta.
Nekureva, nekusarudzika iyo Sonoff Basic chirongwa chinoshanda nenharembozha kuburikidza neChinese Cloud sevhisi; mushure mekugadziriswa kwakarongwa, kumwe kupindirana kwese nemudziyo uyu kunogoneka mubrowser.

Chikamu I. Kubatanidza Sonoff kune iyo MGT24 sevhisi

Danho 1: Gadzira control panel

Bhalisa pane saiti mgt24 (kana isati yanyoreswa) uye pinda uchishandisa account yako.
Kupinda kune iyo systemVisual programming yeSonoff Basic

Kugadzira control panel yechishandiso chitsva, tinya bhatani "+".
Muenzaniso wekugadzira paniVisual programming yeSonoff Basic

Kana pani yagadzirwa, ichaonekwa mune yako runyorwa rwemapaneru.

Mu "Setup" tebhu yepaneru yakagadzirwa, tsvaga iyo "Chigadzirwa ID" uye "Authorization Key" minda; mune ramangwana, ruzivo urwu ruchadikanwa pakumisikidza Sonoff mudziyo.
Tab muenzanisoVisual programming yeSonoff Basic

Danho 2. Reflash mudziyo

Kushandisa chishandiso XTCOM_UTIL download firmware PLC Sonoff Basic kune mudziyo, nekuda kweizvi iwe uchada USB-TTL inoshandura. Here manual ΠΈ Vhidhiyo mirayiridzo.

Danho 3. Device setup

Isa simba kumudziyo, mushure mekunge LED yavhenekera, dzvanya bhatani uye ribate rakadzvanya kudzamara iyo LED yatanga kupenya nguva nenguva zvakafanana.
Panguva ino, itsva wi-fi network inonzi "PLC Sonoff Basic" ichaonekwa, batanidza komputa yako kune iyi network.
Tsanangudzo yechiratidzo che LED

Chiratidzo che LED
Device Status

periodic kaviri kupenya
hapana chinongedzo kune router

rinoramba richipenya
kubatana kwakasimbiswa ne router

periodic yunifomu inopenya
wi-fi yekupinda nzvimbo modhi

kudzimwa
Hapana magetsi

Vhura Internet browser uye isa zvinyorwa "192.168.4.1" mubhadha yekero, enda kune peji yezvigadziriso zvetiweki.

Zadzai minda sezvizvi:

  • "Network zita" uye "Password" (kubatanidza mudziyo kune yako Wi-Fi router).
  • "Chigadzirwa ID" uye "Mvumo kiyi" (kubvumidza chishandiso pane MGT24 sevhisi).

Muenzaniso wekuseta mudziyo network parametersVisual programming yeSonoff Basic

Sevha zvigadziriso uye wotangazve mudziyo.
zviri Vhidhiyo mirayiridzo.

Nhanho 4. Kubatanidza masensa (optional)

Iyo yazvino firmware inotsigira anosvika mana ds18b20 tembiricha sensors. Here Vhidhiyo mirayiridzo yekuisa masensa. Sezviri pachena, danho iri richava rakanyanya kuoma, sezvo richizoda maoko akatwasuka uye simbi yesimbi.

Chikamu II. Visual programming

Danho 1: Gadzira Zvinyorwa

Inoshandiswa senzvimbo yekuronga Zvakavanzika, nharaunda iri nyore kudzidza, saka haufanirwe kuve mugadziri wekugadzira zvinyorwa zviri nyore.

Ndakawedzera mabhuroko akasarudzika ekunyora nekuverenga ma paramita emudziyo. Chero parameter inowanikwa nemazita. Kune ma parameter ezvishandiso zviri kure, mazita emubatanidzwa anoshandiswa: "parameter@device".
Dropdown list yezvasarudzoVisual programming yeSonoff Basic

Muenzaniso wemamiriro ekuita cyclic switching on and off the load (1Hz):
Visual programming yeSonoff Basic

Muenzaniso wechinyorwa chinoyananisa kushanda kwemidziyo miviri yakasiyana. Sezvineiwo, relay yechishandiso chakanangwa inodzokorora kushanda kweiyo relay yemudziyo uri kure.
Visual programming yeSonoff Basic

Chimiro che thermostat (pasina hysteresis):
Visual programming yeSonoff Basic

Kuti ugadzire zvinyorwa zvakaoma, unogona kushandisa zvinoshanduka, zvishwe, mabasa (ane nharo) nezvimwe zvinovaka. Ini handisi kuzotsanangura zvese izvi zvakadzama pano; patova nezvakawanda paInternet. zvedzidzo nezveBlockly.

Danho rechipiri: Kurongeka kweMagwaro

Iyo script inomhanya ichienderera, uye painongosvika kumagumo kwayo, inotanga zvakare. Muchiitiko ichi, pane zvivharo zviviri zvinogona kumbomira script, "kunonoka" uye "kumbomira".
Iyo "kunonoka" block inoshandiswa kune millisecond kana microsecond kunonoka. Ichi chivharo chinonyatso chengetedza nguva yenguva, ichivharira kushanda kwechigadzirwa chose.
Iyo "pause" block inoshandiswa kwechipiri (kana zvishoma) kunonoka, uye haivharidzi kuitwa kwemamwe maitiro mumudziyo.
Kana iyo script pachayo iine loop isingaperi, iyo muviri wayo usina "kumbomira", muturikiri anozvimiririra anotanga kumbomira kupfupi.
Kana iyo yakagoverwa memory stack ikapera, muturikiri anomira kuita script ine nzara yakadaro (chenjera nekudzokorora mabasa).

Danho rechitatu: Debugging Scripts

Kugadzirisa script yakatoiswa mumudziyo, unogona kumhanyisa chirongwa chekutevera nhanho nhanho. Izvi zvinogona kubatsira zvakanyanya kana maitiro echinyorwa akave akasiyana neaida munyori. Muchiitiko ichi, kutsvaga kunobvumira munyori kuti akurumidze kutsvaga panobva dambudziko uye kugadzirisa kukanganisa mune script.

Mamiriro ekuverenga factorial mune debug mode:
Visual programming yeSonoff Basic

Chishandiso chekugadzirisa chiri nyore uye chine mabhatani makuru matatu: "tanga", "nhanho imwe kumberi" uye "mira" (ngatirege kukanganwa nezve "pinda" uye "kubuda" debug mode). Kuwedzera kune nhanho-ne-nhanho yekutevera, unogona kuseta nzvimbo yekuzorora pane chero block (nekudzvanya pane block).
Kuti uratidze hunhu hwazvino hwema parameter (sensors, relays) mumonitor, shandisa iyo "print" block.
zviri pamusoro vhidhiyo nezve kushandisa debugger.

Chikamu chevanoda kuziva. Chii chiri pasi pehood?

Kuitira kuti zvinyorwa zvishande pachishandiswa chakanangwa, muturikiri webytecode uye muunganidzi ane 38 mirayiridzo yakagadzirwa. Blockly's source code ine yakasarudzika kodhi jenareta yakavakirwa mairi inoshandura mabhuroki anooneka kuita mirairo yegungano. Zvadaro, iyi assembler program inoshandurwa kuita bytecode uye yoendeswa kune mudziyo kuti uitwe.
Mavakirwo emuchina uyu chaiwo akareruka uye hapana imwe pfungwa pakuitsanangura; paInternet iwe unowana zvinyorwa zvakawanda nezve kugadzira akareruka chaiwo machina.
Ini ndinowanzo kugovera 1000 bytes kune stack yemuchina wangu chaiwo, unokwana kusarura. Ehe, kudzokororwa kwakadzika kunogona kupedza chero stack, asi haafanire kuve nechero kushandiswa kunoshanda.

Iyo inoguma bytecode yakanyatso compact. Semuenzaniso, iyo bytecode yekuverenga iyo yakafanana factorial inongova 49 bytes. Ichi ndicho chimiro chayo chekuona:
Visual programming yeSonoff Basic

Uye iyi ndiyo purogiramu yake yekuunganidza:

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

Kana iyo fomu yegungano yekumiririra isina chero yakakosha kukosha, saka iyo "javascrit" tebhu, pane zvinopesana, inopa kutaridzika kwakajairwa kupfuura zvidhinha zvinoonekwa:

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

window.alert(factorial(10));

Pamusoro pekuita. Pandakamhanyisa chinyorwa chakareruka chekupenya, ndakawana 47 kHz square wave pachiratidziro cheoscilloscope (pa processor wachi yekumhanya ye80 MHz).
Visual programming yeSonoff BasicVisual programming yeSonoff Basic
Ini ndinofunga ichi mhedzisiro yakanaka, ingangoita iyi sipidhi inomhanya zvakapetwa kagumi kupfuura Lua ΠΈ Espruino.

Chikamu chekupedzisira

Kupfupisa, ini ndichataura kuti kushandiswa kwezvinyorwa kunotibvumira kwete chete kuronga logic yekushanda kwechigadziro chakasiyana, asi zvakare chinoita kuti zvikwanise kubatanidza michina yakawanda mune imwe nzira, apo mamwe madivayiri anokanganisa maitiro evamwe.
Ini zvakare ndinocherekedza kuti nzira yakasarudzwa yekuchengetedza zvinyorwa (zvakananga mumidziyo pachayo, uye kwete paseva) inorerutsa kuchinjika kwezvishandiso zvatove kushanda kune imwe sevha, semuenzaniso kune imba Raspberry, pano. manual.

Ndizvo chete, ndichafara kunzwa mazano uye kutsoropodza kunovaka.

Source: www.habr.com

Voeg