Sonoff Basic์„ ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Sonoff Basic์„ ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ
์ €๋ ดํ•œ ์ค‘๊ตญ ์žฅ์น˜์—์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅํ•œ ๋…ผ๋ฆฌ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ธฐ์‚ฌ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์žฅ์น˜๋Š” ํ™ˆ ์ž๋™ํ™”์™€ ํ•™๊ต ์ปดํ“จํ„ฐ ๊ณผํ•™์˜ ์‹ค์Šต ์ˆ˜์—… ๋ชจ๋‘์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ฐธ๊ณ ๋กœ Sonoff Basic ํ”„๋กœ๊ทธ๋žจ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ค‘๊ตญ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋ฉฐ ์ œ์•ˆ๋œ ์ˆ˜์ • ํ›„์—๋Š” ์ด ์žฅ์น˜์™€์˜ ๋ชจ๋“  ์ถ”๊ฐ€ ์ƒํ˜ธ ์ž‘์šฉ์ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.

์„น์…˜ I. Sonoff๋ฅผ MGT24 ์„œ๋น„์Šค์— ์—ฐ๊ฒฐ

1๋‹จ๊ณ„: ์ œ์–ดํŒ ๋งŒ๋“ค๊ธฐ

์‚ฌ์ดํŠธ์— ๋“ฑ๋ก mgt24 (์•„์ง ๋“ฑ๋กํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ) ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธํ•˜์„ธ์š”.
๋กœ๊ทธ์ธSonoff Basic์„ ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์ƒˆ ์žฅ์น˜์— ๋Œ€ํ•œ ์ œ์–ดํŒ์„ ๋งŒ๋“ค๋ ค๋ฉด โ€œ+โ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์„ธ์š”.
ํŒจ๋„ ์ƒ์„ฑ ์˜ˆSonoff Basic์„ ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

ํŒจ๋„์ด ์ƒ์„ฑ๋˜๋ฉด ํŒจ๋„ ๋ชฉ๋ก์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑ๋œ ํŒจ๋„์˜ "์„ค์ •" ํƒญ์—์„œ "์žฅ์น˜ ID" ๋ฐ "์ธ์ฆ ํ‚ค" ํ•„๋“œ๋ฅผ ์ฐพ์œผ์‹ญ์‹œ์˜ค. ํ–ฅํ›„ Sonoff ์žฅ์น˜๋ฅผ ์„ค์ •ํ•  ๋•Œ ์ด ์ •๋ณด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
ํƒญ ์˜ˆSonoff Basic์„ ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

2๋‹จ๊ณ„. ์žฅ์น˜๋ฅผ ๋‹ค์‹œ ํ”Œ๋ž˜์‹œํ•˜์„ธ์š”.

์œ ํ‹ธ๋ฆฌํ‹ฐ ์‚ฌ์šฉ XTCOM_UTIL ํŽŒ์›จ์–ด ๋‹ค์šด๋กœ๋“œ PLC Sonoff ๊ธฐ๋ณธ ์žฅ์น˜์— ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด USB-TTL ๋ณ€ํ™˜๊ธฐ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ๊ต์ˆ˜ ะธ ๋น„๋””์˜ค ๊ต์œก.

3๋‹จ๊ณ„. ์žฅ์น˜ ์„ค์ •

์žฅ์น˜์— ์ „์›์„ ๊ณต๊ธ‰ํ•˜๊ณ  LED๊ฐ€ ์ผœ์ง„ ํ›„ LED๊ฐ€ ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ณ ๋ฅด๊ฒŒ ๊นœ๋ฐ•์ด๊ธฐ ์‹œ์ž‘ํ•  ๋•Œ๊นŒ์ง€ ๋ฒ„ํŠผ์„ ๊ธธ๊ฒŒ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.
์ด ์ˆœ๊ฐ„ "PLC Sonoff Basic"์ด๋ผ๋Š” ์ƒˆ๋กœ์šด Wi-Fi ๋„คํŠธ์›Œํฌ๊ฐ€ ๋‚˜ํƒ€๋‚˜๊ณ  ์ปดํ“จํ„ฐ๋ฅผ ์ด ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
LED ํ‘œ์‹œ ์„ค๋ช…

LED ํ‘œ์‹œ
์žฅ์น˜ ์ƒํƒœ

์ฃผ๊ธฐ์ ์œผ๋กœ ์ด์ค‘ ๊นœ๋ฐ•์ž„
๋ผ์šฐํ„ฐ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค

๋Š์ž„์—†์ด ๋น›๋‚œ๋‹ค
๋ผ์šฐํ„ฐ์™€ ์—ฐ๊ฒฐ์ด ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ฃผ๊ธฐ์ ์ธ ๊ท ์ผ ๊นœ๋ฐ•์ž„
Wi-Fi ์•ก์„ธ์Šค ํฌ์ธํŠธ ๋ชจ๋“œ

๊บผ์ง„
์ „์› ๊ณต๊ธ‰ ์žฅ์น˜ ์—†์Œ

์ธํ„ฐ๋„ท ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ด๊ณ  ์ฃผ์†Œ ํ‘œ์‹œ์ค„์— "192.168.4.1"์ด๋ผ๋Š” ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•œ ํ›„ ์žฅ์น˜์˜ ๋„คํŠธ์›Œํฌ ์„ค์ • ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜์„ธ์š”.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•„๋“œ๋ฅผ ์ฑ„์šฐ์‹ญ์‹œ์˜ค.

  • "๋„คํŠธ์›Œํฌ ์ด๋ฆ„" ๋ฐ "๋น„๋ฐ€๋ฒˆํ˜ธ"(๊ธฐ๊ธฐ๋ฅผ ๊ฐ€์ •์šฉ Wi-Fi ๋ผ์šฐํ„ฐ์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด).
  • "์žฅ์น˜ ID" ๋ฐ "์ธ์ฆ ํ‚ค"(MGT24 ์„œ๋น„์Šค์—์„œ ์žฅ์น˜๋ฅผ ์ธ์ฆํ•˜๊ธฐ ์œ„ํ•ด).

์žฅ์น˜ ๋„คํŠธ์›Œํฌ ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ค์ • ์˜ˆSonoff Basic์„ ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์„ค์ •์„ ์ €์žฅํ•˜๊ณ  ์žฅ์น˜๋ฅผ ์žฌ๋ถ€ํŒ…ํ•˜์‹ญ์‹œ์˜ค.
์—ฌ๊ธฐ์— ๋น„๋””์˜ค ๊ต์œก.

4๋‹จ๊ณ„. ์„ผ์„œ ์—ฐ๊ฒฐ(์˜ต์…˜)

ํ˜„์žฌ ํŽŒ์›จ์–ด๋Š” ์ตœ๋Œ€ 18๊ฐœ์˜ ds20bXNUMX ์˜จ๋„ ์„ผ์„œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ๋น„๋””์˜ค ๊ต์œก ์„ผ์„œ ์„ค์น˜์šฉ. ๋ถ„๋ช…ํžˆ ์ด ๋‹จ๊ณ„๋Š” ์ง์„  ํŒ”๊ณผ ๋‚ฉ๋•œ ์ธ๋‘๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์žฅ ์–ด๋ ค์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์„น์…˜ II. ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

1๋‹จ๊ณ„: ์Šคํฌ๋ฆฝํŠธ ์ƒ์„ฑ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์œผ๋กœ ์‚ฌ์šฉ๋จ ๋ง‰์—ฐํ•˜๊ฒŒ, ํ™˜๊ฒฝ์€ ๋ฐฐ์šฐ๊ธฐ ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ„๋‹จํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์žฅ์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์“ฐ๊ณ  ์ฝ๊ธฐ ์œ„ํ•œ ํŠน์ˆ˜ ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์ด๋ฆ„์œผ๋กœ ์•ก์„ธ์Šค๋ฉ๋‹ˆ๋‹ค. ์›๊ฒฉ ์žฅ์น˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์—๋Š” "parameter@device"๋ผ๋Š” ๋ณตํ•ฉ ์ด๋ฆ„์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
์˜ต์…˜ ๋“œ๋กญ๋‹ค์šด ๋ชฉ๋กSonoff Basic์„ ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๋ถ€ํ•˜๋ฅผ ์ผœ๊ณ  ๋„๋Š” ์ฃผ๊ธฐ(1Hz)์— ๋Œ€ํ•œ ์˜ˆ์ œ ์‹œ๋‚˜๋ฆฌ์˜ค:
Sonoff Basic์„ ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๋‘ ๊ฐœ์˜ ๊ฐœ๋ณ„ ์žฅ์น˜์˜ ์ž‘๋™์„ ๋™๊ธฐํ™”ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํƒ€๊ฒŸ ์žฅ์น˜์˜ ๋ฆด๋ ˆ์ด๋Š” ์›๊ฒฉ ์žฅ์น˜์˜ ๋ฆด๋ ˆ์ด ๋™์ž‘์„ ๋ฐ˜๋ณตํ•œ๋‹ค.
Sonoff Basic์„ ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์˜จ๋„ ์กฐ์ ˆ๊ธฐ ์‹œ๋‚˜๋ฆฌ์˜ค(ํžˆ์Šคํ…Œ๋ฆฌ์‹œ์Šค ์—†์Œ):
Sonoff Basic์„ ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๋” ๋ณต์žกํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋ณ€์ˆ˜, ๋ฃจํ”„, ํ•จ์ˆ˜(์ธ์ˆ˜ ํฌํ•จ) ๋ฐ ๊ธฐํƒ€ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์ด ๋ชจ๋“  ๊ฒƒ์„ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ์ธํ„ฐ๋„ท์— ๊ฝค ๋งŽ์€ ๋‚ด์šฉ์ด ์žˆ์Šต๋‹ˆ๋‹ค. Blockly์— ๊ด€ํ•œ ๊ต์œก ์ž๋ฃŒ.

2๋‹จ๊ณ„: ์Šคํฌ๋ฆฝํŠธ ์ˆœ์„œ

์Šคํฌ๋ฆฝํŠธ๋Š” ์ง€์†์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฉฐ ๋์— ๋„๋‹ฌํ•˜์ž๋งˆ์ž ๋‹ค์‹œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ผ์‹œ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ธ”๋ก์€ โ€œdelayโ€์™€ โ€œpauseโ€ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
"์ง€์—ฐ" ๋ธ”๋ก์€ ๋ฐ€๋ฆฌ์ดˆ ๋˜๋Š” ๋งˆ์ดํฌ๋กœ์ดˆ ์ง€์—ฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ธ”๋ก์€ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์„ ์—„๊ฒฉํ•˜๊ฒŒ ์œ ์ง€ํ•˜์—ฌ ์ „์ฒด ์žฅ์น˜์˜ ์ž‘๋™์„ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.
"pause" ๋ธ”๋ก์€ ๋‘ ๋ฒˆ์งธ(๋˜๋Š” ๊ทธ ์ดํ•˜) ์ง€์—ฐ์— ์‚ฌ์šฉ๋˜๋ฉฐ ์žฅ์น˜์˜ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์„ ์ฐจ๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์Šคํฌ๋ฆฝํŠธ ์ž์ฒด์— ๋ฌดํ•œ ๋ฃจํ”„๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๊ณ  ๋ณธ๋ฌธ์— "์ผ์‹œ ์ค‘์ง€"๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์งง์€ ์ผ์‹œ ์ค‘์ง€๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ ์Šคํƒ์ด ๊ณ ๊ฐˆ๋˜๋ฉด ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ์ „๋ ฅ์„ ๋งŽ์ด ์†Œ๋ชจํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์„ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค(์žฌ๊ท€ ํ•จ์ˆ˜์— ์ฃผ์˜ํ•˜์„ธ์š”).

3๋‹จ๊ณ„: ์Šคํฌ๋ฆฝํŠธ ๋””๋ฒ„๊น…

์ด๋ฏธ ์žฅ์น˜์— ๋กœ๋“œ๋œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋””๋ฒ„๊น…ํ•˜๋ ค๋ฉด ํ”„๋กœ๊ทธ๋žจ ์ถ”์ ์„ ๋‹จ๊ณ„๋ณ„๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์Šคํฌ๋ฆฝํŠธ์˜ ๋™์ž‘์ด ์ž‘์„ฑ์ž์˜ ์˜๋„์™€ ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ํŒ๋ช…๋  ๋•Œ ๋งค์šฐ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ถ”์ ์„ ํ†ตํ•ด ์ž‘์„ฑ์ž๋Š” ๋ฌธ์ œ์˜ ์›์ธ์„ ๋น ๋ฅด๊ฒŒ ์ฐพ๊ณ  ์Šคํฌ๋ฆฝํŠธ์˜ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋””๋ฒ„๊ทธ ๋ชจ๋“œ์—์„œ ๊ณ„์Šน ๊ณ„์‚ฐ ์‹œ๋‚˜๋ฆฌ์˜ค:
Sonoff Basic์„ ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๋””๋ฒ„๊ทธ ๋„๊ตฌ๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•˜๋ฉฐ "์‹œ์ž‘", "ํ•œ ๋‹จ๊ณ„ ์•ž์œผ๋กœ" ๋ฐ "์ค‘์ง€"๋ผ๋Š” ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๋ฒ„ํŠผ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค(๋””๋ฒ„๊ทธ ๋ชจ๋“œ "์ž…๋ ฅ" ๋ฐ "์ข…๋ฃŒ"๋„ ์žŠ์ง€ ๋งˆ์„ธ์š”). ๋‹จ๊ณ„๋ณ„ ์ถ”์  ์™ธ์—๋„ ๋ธ”๋ก์„ ํด๋ฆญํ•˜์—ฌ ๋ชจ๋“  ๋ธ”๋ก์— ์ค‘๋‹จ์ ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ชจ๋‹ˆํ„ฐ์— ๋งค๊ฐœ๋ณ€์ˆ˜(์„ผ์„œ, ๋ฆด๋ ˆ์ด)์˜ ํ˜„์žฌ ๊ฐ’์„ ํ‘œ์‹œํ•˜๋ ค๋ฉด "์ธ์‡„" ๋ธ”๋ก์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
์—ฌ๊ธฐ์— ๊ฐœ์š” ๋น„๋””์˜ค ๋””๋ฒ„๊ฑฐ ์‚ฌ์šฉ์— ๋Œ€ํ•ด.

ํ˜ธ๊ธฐ์‹ฌ์„ ์œ„ํ•œ ์„น์…˜. ํ›„๋“œ ์•„๋ž˜์—๋Š” ๋ฌด์—‡์ด ์žˆ๋‚˜์š”?

์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋Œ€์ƒ ์žฅ์น˜์—์„œ ์ž‘๋™ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ”์ดํŠธ์ฝ”๋“œ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์™€ 38๊ฐœ์˜ ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋Š” ์–ด์…ˆ๋ธ”๋Ÿฌ๊ฐ€ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Blockly์˜ ์†Œ์Šค ์ฝ”๋“œ์—๋Š” ์‹œ๊ฐ์  ๋ธ”๋ก์„ ์–ด์…ˆ๋ธ”๋ฆฌ ์ง€์นจ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํŠน์ˆ˜ ์ฝ”๋“œ ์ƒ์„ฑ๊ธฐ๊ฐ€ ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์–ด์„œ ์ด ์–ด์…ˆ๋ธ”๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์€ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜๋˜์–ด ์‹คํ–‰์„ ์œ„ํ•ด ์žฅ์น˜๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.
์ด ๊ฐ€์ƒ ๋จธ์‹ ์˜ ์•„ํ‚คํ…์ฒ˜๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•˜๋ฉฐ ์„ค๋ช…ํ•  ํŠน๋ณ„ํ•œ ์š”์ ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท์—์„œ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๊ฐ€์ƒ ๋จธ์‹  ์„ค๊ณ„์— ๋Œ€ํ•œ ๋งŽ์€ ๊ธฐ์‚ฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ๋ณดํ†ต ๊ฐ€์ƒ ๋จธ์‹ ์˜ ์Šคํƒ์— 1000๋ฐ”์ดํŠธ๋ฅผ ํ• ๋‹นํ•˜๋Š”๋ฐ, ์ด๋Š” ์—ฌ์œ ์žˆ๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก , ๊นŠ์€ โ€‹โ€‹์žฌ๊ท€๋Š” ๋ชจ๋“  ์Šคํƒ์„ ์†Œ์ง„์‹œํ‚ฌ ์ˆ˜ ์žˆ์ง€๋งŒ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•  ๊ฐ€๋Šฅ์„ฑ์€ ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋Š” ๋งค์šฐ ๊ฐ„๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋™์ผํ•œ ๊ณ„์Šน์„ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐ”์ดํŠธ์ฝ”๋“œ๋Š” 49๋ฐ”์ดํŠธ์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ์  ํ˜•ํƒœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
Sonoff Basic์„ ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ๊ทธ์˜ ์–ด์…ˆ๋ธ”๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค:

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

ํ‘œํ˜„์˜ ์–ด์…ˆ๋ธ”๋ฆฌ ํ˜•์‹์— ์‹ค์งˆ์ ์ธ ๊ฐ€์น˜๊ฐ€ ์—†์œผ๋ฉด ๋ฐ˜๋Œ€๋กœ "javascrit" ํƒญ์ด ์‹œ๊ฐ์  ๋ธ”๋ก๋ณด๋‹ค ๋” ์นœ์ˆ™ํ•œ ๋ชจ์–‘์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

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

window.alert(factorial(10));

์„ฑ๋Šฅ์— ๊ด€ํ•ด์„œ. ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ”Œ๋ž˜์…” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ์˜ค์‹ค๋กœ์Šค์ฝ”ํ”„ ํ™”๋ฉด์— 47kHz ๊ตฌํ˜•ํŒŒ๊ฐ€ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค(ํ”„๋กœ์„ธ์„œ ํด๋Ÿญ ์†๋„ 80MHz).
Sonoff Basic์„ ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐSonoff Basic์„ ์œ„ํ•œ ์‹œ๊ฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ
๋‚˜๋Š” ์ด๊ฒƒ์ด ์ข‹์€ ๊ฒฐ๊ณผ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ ์–ด๋„ ์ด ์†๋„๋Š” ๊ฒƒ๋ณด๋‹ค ๊ฑฐ์˜ XNUMX๋ฐฐ ๋น ๋ฆ…๋‹ˆ๋‹ค. ๋ฃจ์•„ ะธ ์—์Šคํ”„๋ฃจ์ด๋…ธ.

๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„

์š”์•ฝํ•˜๋ฉด, ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ„๋„์˜ ์žฅ์น˜ ์ž‘๋™ ๋…ผ๋ฆฌ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ผ๋ถ€ ์žฅ์น˜๊ฐ€ ๋‹ค๋ฅธ ์žฅ์น˜์˜ ๋™์ž‘์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋‹จ์ผ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ์—ฌ๋Ÿฌ ์žฅ์น˜๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ ์„ ํƒํ•œ ์Šคํฌ๋ฆฝํŠธ ์ €์žฅ ๋ฐฉ๋ฒ•(์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ ์žฅ์น˜ ์ž์ฒด์— ์ง์ ‘)์€ ์ด๋ฏธ ์ž‘๋™ ์ค‘์ธ ์žฅ์น˜๋ฅผ ๋‹ค๋ฅธ ์„œ๋ฒ„(์˜ˆ: ๊ฐ€์ •์šฉ Raspberry)๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. ๊ต์ˆ˜.

๊ทธ๊ฒŒ ๋‹ค์•ผ, ์กฐ์–ธ๊ณผ ๊ฑด์„ค์ ์ธ ๋น„ํŒ์„ ๋“ฃ๊ณ  ๊ธฐ๋ปํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€