Асинхронная Arduino c JavaScript - Espruino

Всем доброго времени суток.


Начну с простого вопроса. Хотели бы вы иметь полностью асинхронную ардуинку с интерпретатором JavaScript и при том иметь возможность открывать скетч прямо с платы? Мне бы хотелось, например. Это дает невероятные возможности как в разработке так и в исполнении кода.


Сегодня при гуглении интерпретатора JS для ардуинки я забрел на сайт Espruino. Оказалось что я нашел нечто большее чем искал.

Асинхронная Arduino c JavaScript - Espruino Arduino, Espruino, Javascript, Микроконтроллеры, Длиннопост

Очередной клон ардуино? Вовсе нет. В данных платах используются процессоры STM32F103RCT6 ARM Cortex M3 и STM32F401CDU6 ARM Cortex M4. Это дает неплохие возможности для разработки.


В первую очередь меня заинтересовала заявленная возможность использовать JS вместо C++. JS компактней и более ориентирован на простую и быструю разработку. К примеру кусок кода который будет моргать светодиодом будет выглядеть так:


var l;

setInterval( function () {

digitalWrite(LED1,l=!l); 

},200);


Никакого единого loop() и монструозных функций. Можно использовать объекты и цепочки вызовов с return.


Из того что на плате стоит интерпретатор выливается следующий огромный плюс. Можно использовать родные для JS setTimeout и setInterval вместо delay, а это дает нам асинхронность выполнения кода т.к. при delay плата тупо прерывает работу на заданное количество мс в случае с setInterval и setTimeout просто запускается таймер и продолжается работа процессора.


Но при чем тут Arduino хотите спросить вы? Да при том что небезызвестная нам Амперка выпускает Espruino в форм-факторе Arduino и большая часть шилдов и датчиков с ней совместима. Благо что все либы на C++.

Асинхронная Arduino c JavaScript - Espruino Arduino, Espruino, Javascript, Микроконтроллеры, Длиннопост

Сама платка.

Асинхронная Arduino c JavaScript - Espruino Arduino, Espruino, Javascript, Микроконтроллеры, Длиннопост

Распиновка.


Что хочется добавить. Плата интересная но стоит прилично в чем явно проигрывает ардуине. Из минусов языка это нестрогая типизация переменных. Из плюсов - проект опенсорсный и ядро шьется на другие микрухи. Еще одним минусом является конская стоимость этого чуда на али.


В ближайшее время постараюсь заказать это чудо "российской сборки" и запилить на нем что-нибудь.


Для желающих более подробно ознакомиться с Искрой или Espruino добавляю ссылки.

https://geektimes.ru/company/amperka/blog/273664/ - очень подробно про эспруино и искру.

http://www.espruino.com/ - родной сайт эспруино.


Надеюсь хоть кому-то этот пост будет интересен.)

Arduino & Pi

1.4K постов20.6K подписчиков

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу