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
Kupinda kune iyo system
Kugadzira control panel yechishandiso chitsva, tinya bhatani "+".
Muenzaniso wekugadzira pani
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 muenzaniso
Danho 2. Reflash mudziyo
Kushandisa chishandiso
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 parameters
Sevha zvigadziriso uye wotangazve mudziyo.
zviri
Nhanho 4. Kubatanidza masensa (optional)
Iyo yazvino firmware inotsigira anosvika mana ds18b20 tembiricha sensors. Here
Chikamu II. Visual programming
Danho 1: Gadzira Zvinyorwa
Inoshandiswa senzvimbo yekuronga
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 yezvasarudzo
Muenzaniso wemamiriro ekuita cyclic switching on and off the load (1Hz):
Muenzaniso wechinyorwa chinoyananisa kushanda kwemidziyo miviri yakasiyana. Sezvineiwo, relay yechishandiso chakanangwa inodzokorora kushanda kweiyo relay yemudziyo uri kure.
Chimiro che thermostat (pasina hysteresis):
Kuti ugadzire zvinyorwa zvakaoma, unogona kushandisa zvinoshanduka, zvishwe, mabasa (ane nharo) nezvimwe zvinovaka. Ini handisi kuzotsanangura zvese izvi zvakadzama pano; patova nezvakawanda paInternet.
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:
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
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:
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).
Ini ndinofunga ichi mhedzisiro yakanaka, ingangoita iyi sipidhi inomhanya zvakapetwa kagumi kupfuura
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.
Ndizvo chete, ndichafara kunzwa mazano uye kutsoropodza kunovaka.
Source: www.habr.com