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].

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

undefined

Первая официальная отладочная плата называлась 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 распространяется под открытыми лицензиями, различные его части лицензированы следующим образом:

Примечания

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