ํ๋์ ์ธ ๋ฐ๋น์ ๊ฐ๋ฐ์์ด์ 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 ๋ณด๋์ฉ ํฌํธ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru