95

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

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


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


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

Очередной клон ардуино? Вовсе нет. В данных платах используются процессоры 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++.

Сама платка.

Распиновка.


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


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


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

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

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


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

Arduino & Pi

1.5K постов20.9K подписчика

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

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

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

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

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

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

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

Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий

некоторая засада в том, что сторонних библиотек не так много пока. на тот же LCD keypad shield нету аналога LiquidCrystal ну и т.д. Да, наверное есть аналог, тот же LCD можно без кнопок простой заюзать, но всё же добавляет рамки.


ЗЫ: заказал от амперки их Troyka Shield, уж больно видится подключение переферии без макеток(на али такого не нашёл)

раскрыть ветку (7)
0
Автор поста оценил этот комментарий

Как я понял тройка шилд это макетка + пины от ардуины. Если так то есть proto shield с бредбордом и пинами от ардуины и sensor shield если нужны все выводы в качестве шилда.


На тему библиотек конечно скажу то что еще не все либы адаптированы для работы с этим интерпретатором. Но если поковырять родные либы и вытащить хвосты для этого интерпретатора то все будет ок.


На тему LCD вот пост на оф сайте http://www.espruino.com/Onboard+LCD

На тему клавиатур http://www.espruino.com/KeyPad

раскрыть ветку (6)
0
Автор поста оценил этот комментарий

или вот пришла мне сегодня искра, и как её подключать к шаговику?

вот инструкция

http://wiki.amperka.ru/js:stepper

что куда воткнуть? неясно. ясно что нужен какой-то драйвер L293D (http://ru.aliexpress.com/item/Big-Discount-Motor-Drive-Shield-L293D-for-Arduino-Duemilanove-Mega-UNO-Free-Shipping-Dropshipping/1877616176.html этот подойдет?) а у меня только такой набор http://ru.aliexpress.com/item/Smart-Electronics-28BYJ-48-5V-4-Phase-DC-Gear-Stepper-Motor-With-ULN2003-Driver-Board-for/32314913056.html , который с обычной ардуиной работает на раз и примеров тыща. вот и гадай методом тыка (

раскрыть ветку (4)
0
Автор поста оценил этот комментарий
Оф дока с примерами как к ULN2003 так и к L293D.
http://www.espruino.com/Stepper+Motors
раскрыть ветку (3)
0
Автор поста оценил этот комментарий
Да, на это я первым делом наткнулся. Там вообще все примеры без схем и не очень ясны, там более в рамках позиционирования эспруины как платы с низким порогом входа за счет того что джаваскрипт и все такое. Скорее наоборот, ты уже шаришь в ардуине и в данном случае ручной подаче питания на катушки шаговика и теперь можно поиграться с тем же на js.
раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Нене. тут все управление через драйвер идет.

Вот еще на сайте Амперки инфа http://wiki.amperka.ru/js:stepper

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Так фишка в том, что это описан какой-то апмерковский драйвер, где эти D и S контакты у драйвера. Кстати у него макс ток чтото типа 1.2а да и цена кусается. Если брать какойнить nema 17 на 1.5а, то этот драйвер не катит и нужен драйвер для этого шаговика и на нем скорее всего 4 контакта, для такой схемы уже не заюзаешь код с ссылки и нужно слать нолики единички на эти контакты, чтобы вращать двигатель. Опять же я к тому, что порог вхождения человека на искру снижается при закупке тонны девайсов от амперки, при попытке шага в сторону - нужно разбираться как работает то или иное устройство(с примерами для уно) и адаптировать это под js.
0
Автор поста оценил этот комментарий

мне, как человеку далеому от С ковырять родные либы видится сомнительным занятием :)

кстати на русском и доступно для начинающих написаны вики на амперке http://wiki.amperka.ru/

так же на сколько я понял они участвовали в переводах книг по ардуине, "Arduino, датчики и сети для связи устройств" и "Изучаем Arduino" Блюма - грамотный подход.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества