เป‚เบ„เบ‡เบเบฒเบ™ elk เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ JavaScript เบ—เบตเปˆเบซเบ™เบฒเปเบซเบ™เป‰เบ™เบชเปเบฒเบฅเบฑเบš microcontrollers

เบกเบตเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเปƒเบซเบกเปˆเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ JavaScript elk 2.0.9, เป€เบžเบทเปˆเบญเปเบ™เปƒเบชเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เป€เบŠเบฑเปˆเบ™ microcontrollers, เบฅเบงเบกเบ—เบฑเบ‡เบเบฐเบ”เบฒเบ™ ESP32 เปเบฅเบฐ Arduino Nano เบ—เบตเปˆเบกเบต 2KB RAM เปเบฅเบฐ 30KB Flash. เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ‡ virtual เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰, 100 bytes เบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐ 20 KB เบ‚เบญเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเปเบกเปˆเบ™เบžเบฝเบ‡เบžเป. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เบ‚เบฝเบ™เป€เบ›เบฑเบ™เบžเบฒเบชเบฒ C เปเบฅเบฐเปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” GPLv2. เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™, C compiler เปเบกเปˆเบ™เบžเบฝเบ‡เบžเป - เบšเปเปˆเบกเบตเบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เป‚เบ„เบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™ IoT Mongoose OS, เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ mJS JavaScript เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒ Mongoose เบเบฑเบ‡ (เปƒเบŠเป‰เปƒเบ™เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบˆเบฒเบเบšเปเบฅเบดเบชเบฑเบ”เป€เบŠเบฑเปˆเบ™ Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung เปเบฅเบฐ Qualcomm. ).

เบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡ Elk เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เป€เบŸเบตเบกเปเบงเบชเปเบฒเบฅเบฑเบš microcontrollers เปƒเบ™ JavaScript เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบงเบฝเบเบ‡เบฒเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ•เปˆเบฒเบ‡เป†. เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบเบฑเบ‡เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบฑเบ‡เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™ JavaScript เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ C/C++. เป€เบžเบทเปˆเบญเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเปƒเบ™เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เบžเบฝเบ‡เปเบ•เปˆเบงเบฒเบ‡เป„เบŸเบฅเปŒ elk.c เปƒเบ™เบ•เบปเป‰เบ™เปเบซเบผเปˆเบ‡, เบ›เบฐเบเบญเบšเบกเบตเป„เบŸเบฅเปŒเบชเปˆเบงเบ™เบซเบปเบงเบ‚เบญเบ‡ elk.h เปเบฅเบฐเปƒเบŠเป‰เบเบฒเบ™เป‚เบ— js_eval. เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป‚เบ—เบซเบฒเบซเบ™เป‰เบฒเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เปƒเบ™เบฅเบฐเบซเบฑเบ” C / C ++ เบˆเบฒเบ script JavaScript, เปเบฅเบฐเปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™. เบฅเบฐเบซเบฑเบ” JavaScript เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเบˆเบฒเบเบฅเบฐเบซเบฑเบ”เบซเบผเบฑเบเป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเปเบ›เบžเบฒเบชเบฒเบ—เบตเปˆเบšเปเปˆเบชเป‰เบฒเบ‡ bytecode เปเบฅเบฐเบšเปเปˆเปƒเบŠเป‰เบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง.

Elk เบ›เบฐเบ•เบดเบšเบฑเบ”เบŠเบธเบ”เบเปˆเบญเบเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ‚เบญเบ‡เบ‚เปเป‰เบเปเบฒเบ™เบปเบ” Ecmascript 6, เปเบ•เปˆเบžเบฝเบ‡เบžเปเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบชเบฐเบ„เบดเบšเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบ, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบกเบฑเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบŠเบธเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เปเบฅเบฐเบ›เบฐเป€เบžเบ”, เปเบ•เปˆเบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ arrays, prototypes, เบ™เบตเป‰, เปƒเบซเบกเปˆ, เปเบฅเบฐเบฅเบถเบš expressions. เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เปƒเบŠเป‰ let เปเบ—เบ™ var เปเบฅเบฐ const, เปเบฅเบฐเปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”, เบชเบฐเบซเบผเบฑเบšเปเบฅเบฐเบชเปเบฒเบฅเบฑเบš. เบšเปเปˆเบกเบตเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰, i.e. เบšเปเปˆเบกเบต Date, Regexp, Function, String เปเบฅเบฐ Number objects.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™