Espruino

Espruino — это проект с открытым исходным кодом, реализующий интерпретатор JavaScript для одноплатных микроконтроллеров. Разработан для устройств с очень малым объёмом оперативной памяти — начиная от 8 КиБ[2]. Espruino поддерживает большую часть спецификации ECMAScript ES5 и отдельные функции стандарта ES6, полезные во встроенных системах[3].

Что важно знать

Обзор

Проект Espruino был создан Гордоном Уильямсом в 2012 году как попытка сделать разработку микроконтроллеров по-настоящему мультиплатформенной[4][5]. Изначально прошивка Espruino не была открытой, но предлагалась для бесплатного скачивания для микроконтроллеров STM32[6]. В 2013 году проект стал открытым после успешной кампании на Kickstarter[7] по созданию платы для запуска прошивки[8]. С момента выпуска первой оригинальной платы Espruino появилось несколько официальных плат, включая миниатюрную Espruino Pico в формате USB-брелока[9], плату Espruino WiFi с поддержкой Wi-Fi, устройство Puck.js с интегрированным Bluetooth и Pixl.js[10] с встроенным ЖК-дисплеем и поддержкой шилдов Arduino. Espruino выступает операционной системой для смарт-часов BangleJS и BangleJS2. Помимо официальных плат, Espruino поддерживает работу примерно на 40 других типах отладочных плат[5][11], включая ESP8266[12][13].

Для Espruino подготовлен обширный справочный материал, включая более 100 учебных руководств[14], а также книгу «Making Things Smart»[15], содержащую практические проекты для микроконтроллеров на базе Espruino.

Для максимальной экономии памяти код в Espruino исполняется напрямую из исходного текста внутри парсера, без использования AST или промежуточного байткода[16].

Аппаратная часть

Первая официальная отладочная плата называлась Original Espruino. Впоследствии появились платы самых разных форм-факторов: Espruino Pico, Espruino WiFi, Puck.js и Pixl.js. Также выпускается плата расширения с модулем Bluetooth LE MDBT42Q, тем же самым, что используется в Puck.js и Pixl.js.

Программное обеспечение

Программы для Espruino пишутся на языке JavaScript. IDE Espruino доступна как веб-приложение, приложение Google Chrome и в виде отдельной программы для Windows[17]. Среди альтернативных способов программирования плат Espruino — использование терминальных программ вроде PuTTY для Windows[18].

Лицензия

Весь проект Espruino распространяется под открытыми лицензиями, различные его части лицензированы следующим образом:

Примечания