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]
Примечания
- ↑ 1 2 The Espruino Open Source Project on Open Hub: Languages Page — 2006.
- ↑ Espruino Performance Notes (англ.). www.espruino.com. Дата обращения: 4 июня 2018. Архивировано 18 сентября 2025 года.
- ↑ Espruino Features (англ.). www.espruino.com. Дата обращения: 4 июня 2018. Архивировано 9 сентября 2025 года.
- ↑ Make Boards Guide 2017.. — Make Books, 2017. — P. 33. — ISBN 9781680453423.
- ↑ 1 2 Espruino: The Challenges of Running an Open Source Hardware and Software Company (англ.), Make: DIY Projects and Ideas for Makers (1 июня 2017). Архивировано 1 июня 2017 года. Дата обращения: 1 июня 2018.
- ↑ A JavaScript interpreter for ARM 'micros (англ.), Hackaday (5 октября 2012). Архивировано 7 августа 2025 года. Дата обращения: 1 июня 2018.
- ↑ Espruino: JavaScript for Things (амер. англ.). Kickstarter. Дата обращения: 4 июня 2018. Архивировано 28 июня 2025 года.
- ↑ The JavaScript of Things (англ.), Hackaday (3 сентября 2013). Архивировано 5 сентября 2013 года. Дата обращения: 1 июня 2018.
- ↑ Javascript by the Pico (англ.), Make: DIY Projects and Ideas for Makers (11 ноября 2014). Архивировано 14 ноября 2014 года. Дата обращения: 4 июня 2018.
- ↑ Make Angetestet: Pixl.js - Espruino-Bastelboard mit Bluetooth und Display (неопр.). Make. Дата обращения: 4 июня 2018. Архивировано 6 мая 2018 года.
- ↑ Make Boards Guide 2017.. — Make Books, 2017. — P. 35. — ISBN 9781680453423.
- ↑ Node.js for Embedded Systems.. — Oreilly & Associates Inc, 2015. — P. 45. — ISBN 9781491928967.
- ↑ Espruino For You Sir - Scargill's Tech Blog (англ.), Scargill's Tech Blog (11 апреля 2017). Архивировано 19 мая 2025 года. Дата обращения: 4 июня 2018.
- ↑ Tutorials and Examples - Espruino (англ.). www.espruino.com. Дата обращения: 4 июня 2018. Архивировано 8 сентября 2025 года.
- ↑ Williams, Gordon. Making things smart : easy embedded JavaScript programming for making everyday objects into intelligent machines. — First. — San Francisco, CA, 2017. — ISBN 9781680451894.
- ↑ Espruino Documentation (англ.). Дата обращения: 4 июня 2018. Архивировано 16 сентября 2025 года.
- ↑ Espruino Web IDE. www.espruino.com. Дата обращения: 28 мая 2019. Архивировано 22 сентября 2017 года.
- ↑ Using Alternative Terminal Apps - Espruino. www.espruino.com. Дата обращения: 28 мая 2019. Архивировано 19 апреля 2025 года.
- ↑ espruino/Espruino (англ.). GitHub. Дата обращения: 4 июня 2018. Архивировано 20 декабря 2024 года.
- ↑ 1 2 espruino/EspruinoDocs (англ.). GitHub. Дата обращения: 4 июня 2018. Архивировано 19 июня 2023 года.
- ↑ espruino/EspruinoBoard (англ.). GitHub. Дата обращения: 4 июня 2018. Архивировано 8 июля 2025 года.