He ʻatikala e pili ana i ke ʻano o ka hana ʻana i kahi mea hoʻokele logic programmable mai kahi mea hana Kina. E ʻike ʻia kēlā ʻano mea hoʻohana ma ka home automation a ma ke ʻano he papa hana i ka ʻepekema kamepiula kula.
No ka hōʻike ʻana, hana ka papahana Sonoff Basic me kahi polokalamu kelepona ma o kahi lawelawe kapuaʻi Kina; ma hope o ka hoʻololi ʻana i manaʻo ʻia, hiki ke hoʻopili hou ʻia me kēia hāmeʻa ma ka polokalamu kele pūnaewele.
Mahele I. Hoʻohui iā Sonoff i ka lawelawe MGT24
KaʻAnuʻu Hana 1: E hana i kahi papa mana
E kākau inoa ma ka pūnaewele
ʻEʻe i ka ʻōnaehana
No ka hana ʻana i kahi papa mana no kahi mea hou, kaomi i ke pihi "+".
Ka laʻana o ka hana ʻana i kahi pā
Ke hana ʻia ka panel, e ʻike ʻia i kāu papa inoa o nā panela.
Ma ka ʻaoʻao "Setup" o ka panel i hana ʻia, e ʻimi i nā kahua "Device ID" a me "Kūpono Mana"; i ka wā e hiki mai ana, e koi ʻia kēia ʻike i ka wā e hoʻonohonoho ai i ka mea Sonoff.
Laʻana pā
KaʻAnuʻu 2. Hoʻoula hou i ka mea hana
Ke hoʻohana nei i ka pono
KaʻAnuʻu 3. Hoʻonohonoho mea hana
E hoʻopili i ka mana i ka hāmeʻa, ma hope o ka hoʻomālamalama ʻana o nā kukui LED, e kaomi i ke pihi a paʻa a paʻa a hiki i ka hoʻomaka ʻana o ka LED e uila i kēlā me kēia manawa.
I kēia manawa, e puka mai ana kahi pūnaewele wi-fi hou i kapa ʻia ʻo "PLC Sonoff Basic", e hoʻopili i kāu kamepiula i kēia pūnaewele.
Ka wehewehe ʻana i ka hōʻailona LED
Hōʻike LED
Kūlana Mea Hana
ʻōpaʻa pālua manawa
ʻaʻohe pili i ka router
alohi mau
pili i hoʻokumu ʻia me ka router
ʻālohilohi ʻaʻahu like ʻole
mode wahi komo wi-fi
pio
ʻAʻohe lako mana
E wehe i kahi polokalamu kele pūnaewele a hoʻokomo i ka kikokikona "192.168.4.1" i ka pahu helu, e hele i ka ʻaoʻao hoʻonohonoho hoʻonohonoho pūnaewele.
E hoopiha i na kahua penei:
- "Inoa pūnaewele" a me "Password" (no ka hoʻopili ʻana i ka hāmeʻa i kāu kelepona wi-fi home).
- "Id Device" a me "Ke kī ʻae" (e ʻae i ka hāmeʻa ma ka lawelawe MGT24).
Ka laʻana o ka hoʻonohonoho ʻana i nā ʻāpana ʻupena
E mālama i nā hoʻonohonoho a hoʻomaka hou i ka hāmeʻa.
he mea
KaʻAnuʻu 4. Hoʻohui i nā mea ʻike (koho)
Kākoʻo ka firmware o kēia manawa a hiki i ʻehā mau ʻike wela ds18b20. Eia
Pauku II. Hoʻolālā ʻike
KaʻAnuʻu 1: E hana i nā Scripts
Hoʻohana ʻia ma ke ʻano he papahana papahana
Ua hoʻohui au i nā poloka kūikawā no ke kākau ʻana a me ka heluhelu ʻana i nā ʻāpana hāmeʻa. Loaʻa ʻia kekahi ʻāpana ma ka inoa. No nā palena o nā mea mamao, hoʻohana ʻia nā inoa hui: "parameter@device".
Ka papa inoa o nā koho
Laʻana hiʻohiʻona no ka hoʻololi ʻana a hoʻopau i ka ukana (1Hz):
He laʻana o kahi hōʻailona e hoʻonohonoho ana i ka hana o ʻelua mau mea ʻokoʻa. ʻO ia hoʻi, ʻo ka relay o ka mea i manaʻo ʻia e hana hou i ka hana o ka relay o ka mea mamao.
Hōʻike no ka thermostat (me ka ʻole o ka hysteresis):
No ka hana ʻana i nā palapala paʻakikī, hiki iā ʻoe ke hoʻohana i nā mea hoʻololi, nā puka lou, nā hana (me nā hoʻopaʻapaʻa) a me nā mea hana ʻē aʻe. ʻAʻole wau e wehewehe kikoʻī i kēia mau mea āpau ma ʻaneʻi; ua nui loa ma ka ʻupena.
KaʻAnuʻu Hana 2: Hoʻonohonoho o nā Palapala
Holo mau ka palapala, a hiki i kona hopena, hoʻomaka hou. I kēia hihia, ʻelua mau poloka e hiki ke hoʻomaha iki i ka palapala, "hoʻopaneʻe" a "hoʻomaha".
Hoʻohana ʻia ka poloka "lohi" no nā lohi millisecond a i ʻole microsecond. Mālama pono kēia poloka i ka manawa manawa, ke kāohi ʻana i ka hana o ka hāmeʻa holoʻokoʻa.
Hoʻohana ʻia ka poloka "pause" no ka lua (a i ʻole ka liʻiliʻi) lohi, ʻaʻole ia e pale i ka hoʻokō ʻana i nā kaʻina hana ʻē aʻe i ka hāmeʻa.
Inā loaʻa i ka ʻatikala ponoʻī kahi loop palena ʻole, ʻaʻole i loaʻa ka "pause" i ke kino, hoʻomaka ka mea unuhi ʻōlelo i kahi hoʻomaha pōkole.
Inā pau ka waihona hoʻomanaʻo i hoʻokaʻawale ʻia, e hoʻōki ka unuhi ʻōlelo i ka hoʻokō ʻana i kahi palapala pōloli mana (e akahele me nā hana recursive).
KaʻAnuʻu Hana 3: Debugging Scripts
No ka hoʻopau ʻana i kahi palapala i hoʻouka ʻia i loko o ka hāmeʻa, hiki iā ʻoe ke holo i kahi ʻōkuhi papahana i kēlā me kēia pae. Hiki ke hoʻohana nui ʻia kēia inā ʻokoʻa ke ʻano o ka palapala mai ka mea a ka mea kākau i manaʻo ai. Ma kēia hihia, hiki i ka mea kākau ke ʻimi koke i ke kumu o ka pilikia a hoʻoponopono i ka hewa o ka palapala.
ʻO ke ʻano no ka helu ʻana i ka factorial ma ke ʻano debug:
He mea maʻalahi loa ka mea hana debug a loaʻa i ʻekolu mau pihi nui: "hoʻomaka", "hoʻokahi kapuaʻi i mua" a me "kū" (ʻaʻole hoʻi e poina e pili ana i ke ʻano "komo" a me ka "puka" debug mode). Ma waho aʻe o ka ʻimi ʻana i kēlā me kēia ʻanuʻu, hiki iā ʻoe ke hoʻonohonoho i kahi breakpoint ma kekahi poloka (ma ke kaomi ʻana i ka poloka).
No ka hōʻike ʻana i nā waiwai o kēia manawa o nā ʻāpana (sensors, relays) i ka nānā, e hoʻohana i ka poloka "print".
he mea
Māhele no ka poʻe hoihoi. He aha ka mea ma lalo o ke kapa?
I mea e hana ai nā palapala ma ka mea i hoʻopaʻa ʻia, ua kūkulu ʻia kahi unuhi unuhi bytecode a me kahi hui pū me nā ʻōlelo aʻoaʻo 38. Loaʻa i ka code kumu o Blockly kahi mea hoʻomohala code kūikawā i kūkulu ʻia i loko e hoʻololi i nā poloka ʻike i nā ʻōlelo aʻoaʻo. A laila, hoʻololi ʻia kēia polokalamu assembler i bytecode a hoʻoili ʻia i ka hāmeʻa no ka hoʻokō.
He mea maʻalahi ka hoʻolālā o kēia mīkini virtual a ʻaʻohe wahi kikoʻī e wehewehe ai; ma ka Pūnaewele e ʻike ʻoe i nā ʻatikala he nui e pili ana i ka hoʻolālā ʻana i nā mīkini virtual maʻalahi.
Hoʻokaʻawale pinepine au i 1000 bytes no ka hoʻopaʻa ʻana o kaʻu mīkini virtual, i lawa ia e mālama. ʻO kaʻoiaʻiʻo, hiki i nā recursions hohonu ke hoʻopau i kekahi stack, akā ʻaʻole paha lākou e hoʻohana pono.
ʻO ka hopena bytecode he paʻakikī loa. ʻO kahi laʻana, ʻo ka bytecode no ka helu ʻana i ka factorial like he 49 bytes wale nō. ʻO kēia kona ʻano hiʻona:
A eia kāna polokalamu hoʻohui:
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
Inā ʻaʻohe waiwai kūpono o ke ʻano hui o ka hōʻike ʻana, a laila ʻo ka ʻaoʻao "javascrit", ma kahi ʻē aʻe, hāʻawi i kahi hiʻohiʻona maʻamau ma mua o nā poloka ʻike.
function factorial(num) {
if (num > 1) {
return num + factorial(num - 1);
}
return 1;
}
window.alert(factorial(10));
E pili ana i ka hana. I koʻu holo ʻana i ka hōʻailona flasher maʻalahi loa, ua loaʻa iaʻu kahi nalu square 47 kHz ma ka pale oscilloscope (ma ka wikiwiki o ka uaki ʻo 80 MHz).
Manaʻo wau he hopena maikaʻi kēia, ʻoi aku ka liʻiliʻi o kēia wikiwiki he ʻumi mau manawa ʻoi aku ka wikiwiki
ʻO ka hope loa
I ka hōʻuluʻulu ʻana, e ʻōlelo wau ʻo ka hoʻohana ʻana i nā palapala e hiki ai iā mākou ke hoʻolālā wale i ka loiloi o ka hana ʻana o kahi hāmeʻa kaʻawale, akā hiki nō hoʻi ke hoʻohui i kekahi mau mea i loko o kahi mīkini hoʻokahi, kahi e hoʻohuli ai kekahi mau mea i ka ʻano o nā mea ʻē aʻe.
Hoʻomaopopo hoʻi au i ke ala i koho ʻia no ka mālama ʻana i nā palapala (pololei i loko o nā polokalamu ponoʻī, ʻaʻole ma ka server) e maʻalahi i ka hoʻololi ʻana o nā mea hana i hana ʻia i kahi kikowaena ʻē aʻe, no ka laʻana i kahi Raspberry home, ma aneʻi
ʻO ia wale nō, hauʻoli wau i ka lohe ʻana i nā ʻōlelo aʻo a me nā ʻōlelo hoʻohewa.
Source: www.habr.com