O le poloketi elk e atiaʻe se masini JavaScript faʻapitoa mo microcontrollers

O loʻo maua se faʻasalalauga fou o le elk 2.0.9 JavaScript engine, e faʻatatau i le faʻaogaina i luga o punaʻoa faʻaogaina faiga e pei o microcontrollers, e aofia ai ESP32 ma Arduino Nano laupapa ma 2KB RAM ma 30KB Flash. Ina ia fa'agaoioia le masini fa'apitoa ua saunia, 100 bytes o le manatua ma le 20 KB o le avanoa e teu ai e lava. O le fa'ailoga o le poloketi o lo'o tusia i le gagana C ma tufatufaina i lalo ole laisene GPLv2. Ina ia fausia le poloketi, ua lava le C compiler - e leai ni faʻalagolago faʻaopoopo e faʻaaogaina. O le poloketi o loʻo atiaʻe e le au atiaʻe o le faʻaogaina o masini mo IoT masini Mongoose OS, le mJS JavaScript engine ma le Mongoose web server (faʻaaogaina i oloa mai kamupani e pei o Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung ma Qualcomm. ).

O le faʻamoemoe autu o Elk o le fatuina lea o firmware mo microcontrollers i le JavaScript e faʻatino ai galuega eseese. E talafeagai foi le afi mo le faʻapipiʻiina o tagata e faʻaaogaina le JavaScript i totonu ole C/C++ talosaga. Ina ia faʻaoga le afi i lau code, naʻo le tuʻu o le faila elk.c i le punavai autu, faʻapipiʻi le faila ulutala elk.h ma faʻaoga le js_eval call. E fa'atagaina e vala'au galuega fa'amatala i le C/C++ code mai fa'amaumauga JavaScript, ma le isi itu. O le code JavaScript e faʻatinoina i totonu o se siosiomaga puipuia e vavae ese mai le numera autu e faʻaaoga ai se faʻaliliuupu e le faʻatupuina le bytecode ma e le faʻaogaina le faʻaogaina o mafaufauga faʻamalosi.

O loʻo faʻaaogaina e Elk se laʻititi laʻititi o le Ecmascript 6 faʻamatalaga, ae lava mo le fatuina o tusitusiga galue. Aemaise lava, e lagolagoina se seti faʻavae o faʻalapotopotoga ma ituaiga, ae le lagolagoina le faʻasologa, faʻataʻitaʻiga, lenei, fou, ma faʻamalo faʻamatalaga. E fautuaina e fa'aoga le let nai lo le var ma le const, ma a'o le faia, sui ma mo. Leai se faletusi masani ua saunia, i.e. e leai se aso, Regexp, Galuega, String ma Numera mea faitino.

puna: opennet.ru

Faaopoopo i ai se faamatalaga