Espruino
Espruino — это проект с открытым исходным кодом, реализующий интерпретатор JavaScript для одноплатных микроконтроллеров. Разработан для устройств с очень малым объёмом оперативной памяти — начиная от 8 КиБ[2]. Espruino поддерживает большую часть спецификации ECMAScript ES5 и отдельные функции стандарта ES6, полезные во встроенных системах[3].
Что важно знать
| Espruino | |
|---|---|
| Тип | открытое программное обеспечение и Движок JavaScript |
| Разработчик | Gordon Williams |
| Написана на | Си[1] |
| Первый выпуск | 2012 |
| Репозиторий | github.com/espruino/Espr… |
| Лицензия | MPL 2.0 |
| Сайт | espruino.com |
| Espruino web-based IDE | |
|---|---|
| Тип | открытое программное обеспечение и Движок JavaScript |
| Разработчик | Gordon Williams |
| Написана на | Си[1] |
| Первый выпуск | 2012 |
| Репозиторий | github.com/espruino/Espr… |
| Лицензия | Apache License 2.0 |
| Сайт | espruino.com/ide/ |
Обзор
Проект 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
Программное обеспечение
Лицензия
Весь проект Espruino распространяется под открытыми лицензиями, различные его части лицензированы следующим образом:
- Прошивка Espruino — Mozilla Public License, версия 2.0[19]
- Примеры кода Espruino — MIT License[20]
- Документация Espruino — Creative Commons Attribution-ShareAlike 3.0[20]
- Файлы дизайна аппаратного обеспечения — Creative Commons Attribution-ShareAlike 3.0[21]


