JavaScript в микроконтроллере

Лёгкий, гибкий, выразительный JavaScript может исполнять не только ваш браузер, но и микроконтроллер. Благодаря open source ядру Espruino и открытой среде программирования, вы можете создавать сложные электронные устройства действительно просто.

Железо

Iskra JS — флагманская плата Амперки со встроенным интерпретатором JavaScript.

Построена на микроконтроллере Cortex-M4. 168 МГц, оперативная память на 5000 переменных JS, 1 МБ флеш-памяти для хранения программы.

Совместима по компоновке со стандартом Arduino Uno R3: можно использовать модули и платы расширения Arduino.

Йодо — набор из Iskra JS, модулей, конструктива и книги. Набор учит собирать и программировать собственные устройства на JavaScript и платформе Iskra JS.

Книга включает 25 мини-проектов и необходимую теорию.

Среда программирования

Espruino Web IDE — штатная среда для программирования, обновления и отладки плат Iskra JS и Espruino.

Работает на всех настольных операционных системах. Устанавливается в 2 клика.

Документация

Стандартный JavaScript

Классы и объекты, уникальные для Espruino и Iskra JS

  • E — утилитарные функции Espruino;
  • Pin — работа с портами ввода-вывода (пинами);
  • File — чтение и запись файлов;
  • SPI — работа с интерфейсом SPI;
  • I2C — работа с интерфейсом TWI/I²C;
  • Serial — работа с интерфейсом UART;
  • OneWire — работа с шиной 1-Wire.

Встроенные библиотеки Espruino и Iskra JS

  • crypto — работа с криптографией;
  • Flash — прямые чтение и запись флеш-памяти контроллера;
  • fs — работы с файловой системой карт памяти.

Подгружаемые библиотеки

По умолчанию библиотеки модулей Амперки работают только при подключении к интернету. Если вы планируете прошивать плату Iskra JS без выхода в сеть, необходимо настроить ваш компьютер.

MDN

MDN (Mozilla Development Network) — обширная документация по JavaScript на русском языке. Большая часть информации применима к программированию микроконтроллеров. Отличия от стандарта — в минорных деталях.

Espruino

Англоязычные материалы на официальном сайте платформы: