Iskra JS — плата для разработки электронных проектов, которая понимает JavaScript. Плата сочетает в себе привычный форм-фактор Ардуино и гибкость популярного языка web-программирования.
Плата построена на 32-битном процессоре ARM Cortex M4. На борту предусмотрен мегабайт флеш-памяти для хранения интерпретатора JS и программного кода. В отличие от скетчей на C++, код не компилируется, а интерпретируется непосредственно процессором платы. Это упрощает отладку и даёт возможность управлять платой непосредственно из консоли. Да и код программы можно посмотреть на любом компьютере, достаточно всего одной команды dump. Это полезно в учебных проектах и совместной работы над проектами.
JavaScript намного дружелюбнее к разработчику, чем C++. Можно сосредоточиться на сути проекта, а не на архитектуре микроконтроллера, борьбе за память и такты.
Привычный ардуинщикам C++ плотно привязан к железу. JavaScript призывает отказаться от использования низкоуровневых функций. Для популярных железок написаны модули, которые позволяют оперировать терминами устройства, а не электрических сигналов. Поэтому больше не придётся задавать режим пина — функции сделают это за вас.
Забудьте о задании типа переменной. В JavaScript он устанавливается автоматически, а по ходу программы переменная может даже поменять свой тип.
JS умеет работать асинхронно. В Ардуино часто используется функция задержки — delay. Микроконтроллер крутит пустой цикл, впустую расходуя ресурсы и не давая выполнить другие блоки кода. В JS предусмотрены сразу четыре функции, которые позволяют работать с кодом ассинхронно. Например мигать светодиодами независимо друг от друга — каждым со своей частотой. А если текущие задачи выполнены, микроконтроллер перейдёт в режим сна и проснётся, только когда появится работа. Это существенно экономит заряд аккумулятора в автономных проектах.
Отличается и работа с библиотеками. В отличие от arduino IDE вам не придётся вручную копировать файлы для новых модулей и функций. Просто укажите название библиотеки функцией requre — она загрузит код из памяти компьютера, а если там его нет, найдёт необходимую библиотеку в интернете.
Плата физически совместима с популярной периферией. Мы вывели контактные колодки по стандартной компоновке Arduino Rev 3. Вы без проблем подключите популярные шилды и модули.
Вам доступны 26 пинов общего назначения (GPIO), 4 последовательных порта, 3 I²C-шины и 2 интерфейса SPI.
Для подключения к компьютеру предусмотрен разъём micro-USB. Он используется для прошивки и питания платы. А ещё через него можно подключить Iskra JS к компьютеру как HID-устройство, то есть эмулировать работу клавиатур, мышей, джойстиков и другого оборудования.
Для питания платформы используйте порт micro-USB, контакт Vin или внешний разъём 2,1 мм. По microUSB плата потребляет 5 вольт, поэтому подойдёт любой зарядник от смартфона. Рекомендуемое напряжение при питании через гнездо или пины от 7 до 15 В. Поэтому в качестве источника питания можно использовать сетевой адаптер или сборку из аккумуляторов.
Если вам важны скорость и комфорт разработки, совместимость с шилдами, сенсорами и другими электронными модулями, Iskra JS — оптимальный выбор.