Programu inayoonekana ya Sonoff Basic

Programu inayoonekana ya Sonoff Basic
Nakala kuhusu jinsi ya kuunda kidhibiti cha mantiki kinachoweza kupangwa kutoka kwa kifaa cha bei nafuu cha Kichina. Kifaa kama hicho kitapata matumizi yake katika otomatiki ya nyumbani na kama madarasa ya vitendo katika sayansi ya kompyuta ya shule.
Kwa kumbukumbu, kwa chaguo-msingi programu ya Sonoff Basic inafanya kazi na programu ya simu kupitia huduma ya wingu ya Kichina; baada ya marekebisho yaliyopendekezwa, mwingiliano wote zaidi na kifaa hiki utawezekana kwenye kivinjari.

Sehemu ya I. Kuunganisha Sonoff kwa huduma ya MGT24

Hatua ya 1: Unda jopo la kudhibiti

Jisajili kwenye tovuti mgt24 (ikiwa bado haijasajiliwa) na uingie kwa kutumia akaunti yako.
IngiaProgramu inayoonekana ya Sonoff Basic

Ili kuunda jopo la kudhibiti kwa kifaa kipya, bofya kitufe cha "+".
Mfano wa kuunda paneliProgramu inayoonekana ya Sonoff Basic

Mara tu kidirisha kitakapoundwa, kitaonekana kwenye orodha yako ya paneli.

Katika kichupo cha "Mipangilio" cha kidirisha kilichoundwa, pata sehemu za "Kitambulisho cha Kifaa" na "Ufunguo wa Uidhinishaji"; katika siku zijazo, maelezo haya yatahitajika wakati wa kusanidi kifaa cha Sonoff.
Mfano wa kichupoProgramu inayoonekana ya Sonoff Basic

Hatua ya 2. Onyesha upya kifaa

Kutumia matumizi XTCOM_UTIL pakua firmware PLC Sonoff Msingi kwa kifaa, kwa hili utahitaji kibadilishaji cha USB-TTL. Hapa maelekezo ΠΈ Maagizo ya video.

Hatua ya 3. Usanidi wa kifaa

Omba nguvu kwenye kifaa, baada ya taa ya LED kuwaka, bonyeza kitufe na ushikilie hadi taa ianze kuwaka mara kwa mara sawasawa.
Kwa wakati huu, mtandao mpya wa wi-fi unaoitwa "PLC Sonoff Basic" utaonekana, unganisha kompyuta yako kwenye mtandao huu.
Ufafanuzi wa dalili ya LED

Kiashiria cha LED
Hali ya Kifaa

kuangaza mara mbili mara mbili
hakuna muunganisho wa router

huangaza mfululizo
uhusiano imara na router

kuangaza kwa sare mara kwa mara
hali ya ufikiaji wa wi-fi

kuzimwa
Hakuna usambazaji wa umeme

Fungua kivinjari cha Mtandao na uweke maandishi "192.168.4.1" kwenye upau wa anwani, nenda kwenye ukurasa wa mipangilio ya mtandao wa kifaa.

Jaza sehemu kama ifuatavyo:

  • "Jina la mtandao" na "Nenosiri" (ili kuunganisha kifaa kwenye kipanga njia chako cha nyumbani cha Wi-Fi).
  • "Kitambulisho cha Kifaa" na "Ufunguo wa Uidhinishaji" (ili kuidhinisha kifaa kwenye huduma ya MGT24).

Mfano wa kuweka vigezo vya mtandao wa kifaaProgramu inayoonekana ya Sonoff Basic

Hifadhi mipangilio na uwashe upya kifaa.
Hapa Maagizo ya video.

Hatua ya 4. Kuunganisha vitambuzi (si lazima)

Firmware ya sasa inasaidia hadi vihisi joto vinne vya ds18b20. Hapa Maagizo ya video kwa ajili ya ufungaji wa sensorer. Inaonekana, hatua hii itakuwa ngumu zaidi, kwani itahitaji mikono ya moja kwa moja na chuma cha soldering.

Sehemu ya II. Programu ya kuona

Hatua ya 1: Unda Maandishi

Inatumika kama mazingira ya programu Vizuizi, mazingira ni rahisi kujifunza, kwa hivyo huna haja ya kuwa mtayarishaji wa programu ili kuunda hati rahisi.

Niliongeza vizuizi maalum vya kuandika na kusoma vigezo vya kifaa. Kigezo chochote kinapatikana kwa jina. Kwa vigezo vya vifaa vya mbali, majina ya kiwanja hutumiwa: "parameter@device".
Orodha kunjuzi ya chaguoProgramu inayoonekana ya Sonoff Basic

Mfano wa hali ya kuwasha na kuzima mzigo kwa mzunguko (1Hz):
Programu inayoonekana ya Sonoff Basic

Mfano wa hati inayolandanisha uendeshaji wa vifaa viwili tofauti. Yaani, relay ya kifaa lengo hurudia uendeshaji wa relay ya kifaa kijijini.
Programu inayoonekana ya Sonoff Basic

Hali ya thermostat (bila hysteresis):
Programu inayoonekana ya Sonoff Basic

Ili kuunda maandishi magumu zaidi, unaweza kutumia vigezo, vitanzi, kazi (pamoja na hoja) na miundo mingine. Sitaelezea haya yote kwa undani hapa; tayari kuna mengi kwenye wavu. nyenzo za elimu kuhusu Blockly.

Hatua ya 2: Mpangilio wa Hati

Nakala huendelea kila wakati, na mara tu inapofikia mwisho wake, huanza tena. Katika kesi hii, kuna vizuizi viwili ambavyo vinaweza kusitisha hati kwa muda, "kuchelewesha" na "kusimamisha".
Kizuizi cha "kuchelewesha" kinatumika kwa ucheleweshaji wa millisecond au microsecond. Kizuizi hiki hudumisha muda wa muda, kuzuia uendeshaji wa kifaa kizima.
Kizuizi cha "pause" kinatumika kwa ucheleweshaji wa pili (au chini), na haizuii utekelezaji wa michakato mingine kwenye kifaa.
Ikiwa hati yenyewe ina kitanzi kisicho na mwisho, mwili ambao hauna "pause", mkalimani huanzisha pause fupi kwa uhuru.
Ikiwa safu ya kumbukumbu iliyotengwa imeisha, mkalimani ataacha kutekeleza hati kama hiyo isiyo na nguvu (kuwa mwangalifu na utendakazi unaojirudia).

Hatua ya 3: Utatuzi wa Hati

Ili kutatua hati ambayo tayari imepakiwa kwenye kifaa, unaweza kuendesha ufuatiliaji wa programu hatua kwa hatua. Hii inaweza kuwa muhimu sana wakati tabia ya hati iligeuka kuwa tofauti na kile mwandishi alikusudia. Katika kesi hii, ufuatiliaji huruhusu mwandishi kupata haraka chanzo cha shida na kurekebisha kosa kwenye hati.

Hali ya kuhesabu kipengele katika hali ya utatuzi:
Programu inayoonekana ya Sonoff Basic

Chombo cha kurekebisha ni rahisi sana na kina vifungo vitatu kuu: "kuanza", "hatua moja mbele" na "kuacha" (hebu pia tusisahau kuhusu "kuingia" na "kutoka" mode ya kufuta). Mbali na ufuatiliaji wa hatua kwa hatua, unaweza kuweka sehemu ya kuvunja kwenye kizuizi chochote (kwa kubofya kwenye kizuizi).
Ili kuonyesha maadili ya sasa ya vigezo (sensorer, relays) kwenye mfuatiliaji, tumia kizuizi cha "chapisha".
Hapa muhtasari wa video kuhusu kutumia debugger.

Sehemu kwa wadadisi. Nini chini ya kofia?

Ili maandishi yafanye kazi kwenye kifaa kinacholengwa, mkalimani wa bytecode na kiunganishi kilicho na maagizo 38 yalitengenezwa. Msimbo wa chanzo wa Blockly una jenereta maalum ya msimbo iliyojengwa ndani yake ambayo inabadilisha vizuizi vya kuona kuwa maagizo ya kusanyiko. Baadaye, programu hii ya mkusanyiko inabadilishwa kuwa bytecode na kuhamishiwa kwa kifaa kwa utekelezaji.
Usanifu wa mashine hii ya kawaida ni rahisi sana na hakuna uhakika fulani katika kuielezea; kwenye mtandao utapata vifungu vingi kuhusu kubuni mashine rahisi zaidi.
Kawaida mimi hutenga ka 1000 kwa safu ya mashine yangu ya kawaida, ambayo inatosha kuhifadhi. Kwa kweli, marudio ya kina yanaweza kumaliza safu yoyote, lakini hakuna uwezekano wa kuwa na matumizi yoyote ya vitendo.

Bytecode inayotokana ni compact kabisa. Kwa mfano, bytecode ya kuhesabu factorial sawa ni byte 49 tu. Hii ndio fomu yake ya kuona:
Programu inayoonekana ya Sonoff Basic

Na hii ndio programu yake ya mkusanyiko:

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

Ikiwa fomu ya kusanyiko ya uwakilishi haina thamani yoyote ya vitendo, basi kichupo cha "javascrit", kinyume chake, kinatoa sura inayojulikana zaidi kuliko vizuizi vya kuona:

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

window.alert(factorial(10));

Kuhusu utendaji. Nilipoendesha script rahisi zaidi ya flasher, nilipata wimbi la mraba 47 kHz kwenye skrini ya oscilloscope (kwa kasi ya saa ya processor ya 80 MHz).
Programu inayoonekana ya Sonoff BasicProgramu inayoonekana ya Sonoff Basic
Nadhani hii ni matokeo mazuri, angalau kasi hii ni karibu mara kumi kuliko Lua ΠΈ Espruino.

Sehemu ya mwisho

Kwa muhtasari, nitasema kwamba matumizi ya scripts inaruhusu sisi si tu kupanga mantiki ya uendeshaji wa kifaa tofauti, lakini pia inafanya uwezekano wa kuunganisha vifaa kadhaa katika utaratibu mmoja, ambapo vifaa vingine vinaathiri tabia ya wengine.
Pia kumbuka kuwa njia iliyochaguliwa ya kuhifadhi hati (moja kwa moja kwenye vifaa vyenyewe, na sio kwenye seva) hurahisisha ubadilishaji wa vifaa vilivyo tayari kufanya kazi kwa seva nyingine, kwa mfano kwa Raspberry ya nyumbani, hapa. maelekezo.

Ni hayo tu, nitafurahi kusikia ushauri na ukosoaji wenye kujenga.

Chanzo: mapenzi.com

Kuongeza maoni