2.0.9KB RAM ๋ฐ 32KB ํ๋์๋ฅผ ๊ฐ์ถ ESP2 ๋ฐ Arduino Nano ๋ณด๋๋ฅผ ํฌํจํ์ฌ ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ์ ๊ฐ์ด ๋ฆฌ์์ค๊ฐ ์ ํ๋ ์์คํ ์์ ์ฌ์ฉํ๊ธฐ ์ํ Elk 30 JavaScript ์์ง์ ์๋ก์ด ๋ฆด๋ฆฌ์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ ๊ณต๋๋ ๊ฐ์๋จธ์ ์ ๋์์ํค๊ธฐ ์ํด์๋ 100๋ฐ์ดํธ์ ๋ฉ๋ชจ๋ฆฌ์ 20KB์ ์ ์ฅ๊ณต๊ฐ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ C ์ธ์ด๋ก ์์ฑ๋์์ผ๋ฉฐ GPLv2 ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค. ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๋ ค๋ฉด C ์ปดํ์ผ๋ฌ๋ก ์ถฉ๋ถํฉ๋๋ค. ์ถ๊ฐ ์ข ์์ฑ์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ IoT ์ฅ์น Mongoose OS, mJS JavaScript ์์ง ๋ฐ ๋ด์ฅํ Mongoose ์น ์๋ฒ(Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung ๋ฐ Qualcomm๊ณผ ๊ฐ์ ํ์ฌ์ ์ ํ์ ์ฌ์ฉ๋จ)์ฉ ์ด์ ์ฒด์ ๊ฐ๋ฐ์์ ์ํด ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค. ).
Elk์ ์ฃผ์ ๋ชฉ์ ์ ๋ค์ํ ์๋ํ ์์ ์ ์ํํ๋ JavaScript๋ก ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ์ฉ ํ์จ์ด๋ฅผ ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ด ์์ง์ C/C++ ์ ํ๋ฆฌ์ผ์ด์ ์ JavaScript ํธ๋ค๋ฌ๋ฅผ ๋ด์ฅํ๋ ๋ฐ์๋ ์ ํฉํฉ๋๋ค. ์ฝ๋์์ ์์ง์ ์ฌ์ฉํ๋ ค๋ฉด ์์ค ํธ๋ฆฌ์ elk.c ํ์ผ์ ๋ฐฐ์นํ๊ณ elk.h ํค๋ ํ์ผ์ ํฌํจ์ํจ ํ js_eval ํธ์ถ์ ์ฌ์ฉํ์ธ์. JavaScript ์คํฌ๋ฆฝํธ์์ C/C++ ์ฝ๋์ ์ ์๋ ํจ์๋ฅผ ํธ์ถํ ์ ์์ผ๋ฉฐ ๊ทธ ๋ฐ๋์ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. JavaScript ์ฝ๋๋ ๋ฐ์ดํธ์ฝ๋๋ฅผ ์์ฑํ์ง ์๊ณ ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ฌ์ฉํ์ง ์๋ ์ธํฐํ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ๋ณธ ์ฝ๋์ ๊ฒฉ๋ฆฌ๋ ๋ณดํธ๋ ํ๊ฒฝ์์ ์คํ๋ฉ๋๋ค.
Elk๋ Ecmascript 6 ์ฌ์์ ์์ ํ์ ์งํฉ์ ๊ตฌํํ์ง๋ง ์์
์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ ๋ฐ ์ถฉ๋ถํฉ๋๋ค. ํนํ ๊ธฐ๋ณธ ์ฐ์ฐ์ ๋ฐ ์ ํ ์งํฉ์ ์ง์ํ์ง๋ง ๋ฐฐ์ด, ํ๋กํ ํ์
, this, new ๋ฐ delete ์์ ์ง์ํ์ง ์์ต๋๋ค. var ๋ฐ const ๋์ let์ ์ฌ์ฉํ๊ณ , do ๋์ switch ๋ฐ for๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ ๊ณต๋์ง ์์ต๋๋ค. Date, Regexp, Function, String ๋ฐ Number ๊ฐ์ฒด๋ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru