์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ Python๊ณผ ์œ ์‚ฌํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ธ Snek 1.6 ์ถœ์‹œ

ํ™œ๋™์ ์ธ ๋ฐ๋น„์•ˆ ๊ฐœ๋ฐœ์ž์ด์ž X.Org ํ”„๋กœ์ ํŠธ์˜ ๋ฆฌ๋”์ด์ž XRender, XComposite ๋ฐ XRandR์„ ํฌํ•จํ•œ ๋งŽ์€ X ํ™•์žฅ์˜ ์ฐฝ์‹œ์ž์ธ Keith Packard๋Š” Python ์–ธ์–ด์˜ ๋‹จ์ˆœํ™”๋œ ๋ฒ„์ „์œผ๋กœ ์ž๋ฆฌ์žก์€ Snek 1.6 ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์ƒˆ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉํ•˜๋„๋ก ์กฐ์ •๋จ MicroPython ๋ฐ CircuitPython์„ ์‚ฌ์šฉํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•œ ๋ฆฌ์†Œ์Šค๊ฐ€ ์—†๋Š” ์‹œ์Šคํ…œ. Snek์€ Python ์–ธ์–ด์— ๋Œ€ํ•œ ์™„์ „ํ•œ ์ง€์›์„ ์ฃผ์žฅํ•˜์ง€๋Š” ์•Š์ง€๋งŒ 2KB์˜ RAM, 32KB์˜ ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ 1KB์˜ EEPROM์„ ๊ฐ–์ถ˜ ์นฉ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” GPLv3 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. Linux, Windows ๋ฐ macOS์šฉ ๋นŒ๋“œ๊ฐ€ ์ค€๋น„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Snek์€ Python์˜ ์˜๋ฏธ์™€ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์ œํ•œ๋œ ๊ธฐ๋Šฅ ํ•˜์œ„ ์ง‘ํ•ฉ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์„ค๊ณ„ ๋ชฉํ‘œ ์ค‘ ํ•˜๋‚˜๋Š” ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Snek ํ”„๋กœ๊ทธ๋žจ์€ ์ „์ฒด Python 3 ๊ตฌํ˜„์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Snek์€ Arduino, Feather/Metro M0 Express, Adafruit Crickit, Adafruit ItsyBitsy, Lego๋ฅผ ํฌํ•จํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ์ž„๋ฒ ๋””๋“œ ์žฅ์น˜๋กœ ํฌํŒ…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. EV3 ๋ฐ ยตduino๋Š” GPIO ๋ฐ ๋‹ค์–‘ํ•œ ์ฃผ๋ณ€ ์žฅ์น˜์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋™์‹œ์— ์ด ํ”„๋กœ์ ํŠธ๋Š” Snek ๋˜๋Š” CircuitPython๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค๊ณ„๋˜๊ณ  LEGO ๋ถ€ํ’ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๋ด‡์„ ๊ฐ€๋ฅด์น˜๊ณ  ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ์ž์ฒด ๊ฐœ๋ฐฉํ˜• ๋งˆ์ดํฌ๋กœ ์ปจํŠธ๋กค๋Ÿฌ Snekboard(0KB ํ”Œ๋ž˜์‹œ ๋ฐ 256KB RAM์„ ๊ฐ–์ถ˜ ARM Cortex M32)๋„ ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค. Snekboard ์ œ์ž‘์„ ์œ„ํ•œ ๊ธฐ๊ธˆ์€ ํฌ๋ผ์šฐ๋“œ ํŽ€๋”ฉ์„ ํ†ตํ•ด ๋ชจ๊ธˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Snek์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋ ค๋ฉด Mu ์ฝ”๋“œ ํŽธ์ง‘๊ธฐ(์ง€์›์šฉ ํŒจ์น˜) ๋˜๋Š” Curses ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์„ฑ๋˜๊ณ  ์ฝ”๋“œ ํŽธ์ง‘ ๋ฐ USB ํฌํŠธ๋ฅผ ํ†ตํ•ด ์žฅ์น˜์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ž์ฒด ์ฝ˜์†” ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ Snekde๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์ฆ‰์‹œ eeprom ์žฅ์น˜์— ํ”„๋กœ๊ทธ๋žจ์„ ์ €์žฅํ•˜๊ณ  ์žฅ์น˜์—์„œ ์ฝ”๋“œ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).

์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ:

  • ๋ช…์‹œ์  ENQ/ACK ๊ธฐ๋ฐ˜ ๋™๊ธฐํ™”์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์šด์˜ ์ฒด์ œ ์ธก์—์„œ ํ๋ฆ„ ์ œ์–ด๋ฅผ ์ง€์›ํ•  ํ•„์š” ์—†์ด ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ๋ฆ„ ์ œ์–ด.
  • LEGO EV3 ๋ณด๋“œ์šฉ ํฌํŠธ๊ฐ€ ํฌ๊ฒŒ ๊ฐœ์„ ๋˜์–ด ๋‹ค๋ฅธ ์žฅ์น˜ ์ˆ˜์ค€์˜ ์ง€์›์ด ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค.
  • ATmega1284 SoC๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” Narrow 1284 ๋ณด๋“œ์šฉ ํฌํŠธ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ATmega328p๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” Seeed Grove ์ดˆ๋ณด์ž ํ‚คํŠธ์šฉ ํฌํŠธ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • USB-C๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋œ SAMD21 ๊ธฐ๋ฐ˜ Seeeduino XIAO ๋ณด๋“œ์šฉ ํฌํŠธ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • 4809KB RAM์ด ์žฅ์ฐฉ๋œ ATmega6 ๊ธฐ๋ฐ˜ Arduino Nano Every ๋ณด๋“œ์šฉ ํฌํŠธ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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