Как стать автором
Обновить

Комментарии 38

НЛО прилетело и опубликовало эту надпись здесь
Если бы задача была в низком энергопотреблении лучше было бы брать L0, на сколько я помню он сейчас у STM самый низкопотребляющих из Cortex M3.

Ну и тот еще вопрос в комюнити. Если у ардуины комюнити создавалось годами у mbed тоже сейчас бурно развивается — то тут — пока не ясно.

В общем как обычно — будем посмотреть :)
Там, где есть javascript, появление комьюнити обычно не заставляет себя ждать)
Это конечно да, популярность будет. Но вот у того же stm32 с эмуляцией arduino через libmaple все отлично, но не взлетело пока… А что интересно здесь с компилятором javascript. Кто-нибудь читал как они хотят выполнять js на микроконтроллере?

Хотя стоимость www.st.com/web/catalog/mmc/FM141/SC1169/SS1577/LN1810/PF259598# около 4$, частота 84MHz и объемы памяти очень расточительны для embedded устройства
Переформулирую вопрос) Как исполняется javascript на микроконтроллере? Есть open source среда разработки и компилятор/интерпретатор?
Как исполняется javascript на микроконтроллере?


Ну как исполняется — как javascript. Например, в первом релизе интерпретатора фаза компиляции или построения AST отсутствовала, код исполнялся «прямо из строки», и частота мигания светодиода зависела от количества пробелов в коде. Это уже пофиксили, но думаю много других джавоскриптизмов осталось (как например отсутствие целого типа в языке и костыли чтобы это обойти конкретно в Espruino).

Есть open source среда разработки и компилятор/интерпретатор?


Язык интерпретируемый, компиляция в байткод происходит при интерпретации. Если вы о том, можно ли компилировать в байткод на хосте и грузить байткод на target — сначала было нельзя (см. выше), сейчас не знаю. Среда разработки? Vim/emacs, не? Если «не», то взгляд на github.com/espruino показывает, что есть аж две:

EspruinoWebIDE
The Espruino Web IDE — A Chrome Web App for programming Espruino

EspruinoOrion
Plugin for Eclipse Orion + Espruino

Я детально Espruino не смотрел, потому что — правильно! — javascript. Слава богу, после появления MicroPython необходимость в этом отпала (я сам подбивал автора MicroPython открыть код как можно скорей, чтобы спасти людей от необходимости ковыряться с javascript или lua, если требуется unbloated встраиваемый скриптовый язык).
Учитывая, что проекту пара лет, долго ждать, чтобы посмотреть, не надо, вот форум: forum.espruino.com/

People 468
Online now 3
Conversations 730
Comments 5,939
Интересно, насколько дрыганье ножкой через JS медленнее, чем на С?

Мое глубокое имхо: не уверен, что в мире встраиваемых систем нужен язык, в котором поведение интереснее, чем в С/С++.
Это не мир встраиваемых систем. Рассматривайте это как обычный девайс — кирпичик, который можно заставить что-то делать простыми манипуляциями. Собственно, как и ардуина.
Сейчас кто-то на этом помигает светодиодом, потом прикрутит допустим датчик температуры и влажности, потом дисплей, потом возомнит себя великим прогером-эмбедером и будет ставить гигагерцовые камни с явой для своей метеостанции. Хотя все то же самое делается с пол-пинка на каком-нить pic12 на 4мгц и 128 байт памяти, только на ассемблере разумеется. Пускай, у меня просто будет так же, но дешевле -)
Ну так ардуйня — это заболевание.
потом возомнит себя великим прогером-эмбедером и будет ставить гигагерцовые камни с явой для своей метеостанции

Ну так это их проблемы. Некоторые мнят себя крутыми админами, сумев пробросить порт на роутере по видео с ютуба, и всё в этом духе.

Я хоть и не перевариваю ардуину и всё подобное, но видя, как люди решают свои небольшие задачи с помощью неё, как радуются, когда это начинает работать, мнение своё поменял. Но очень бесит, когда с помощью этого начинают проектировать серьёзные вещи: ардуину туда, ардуину сюда, вот у нас уже система из пяти ардуин, куча проводов и это как-то работает. Ага, делаем сайт и завтра начинаем продавать, загребая бабло. А по факту нужна какая-нибудь копеечная тинька и сдвиговый регистр.
Ага, делаем сайт и завтра начинаем продавать, загребая бабло. А по факту нужна какая-нибудь копеечная тинька и сдвиговый регистр.

Первое — ключевое.
Без разницы на чем это работает. Второе станет важно только тогда когда потребуется оптимизация.
В этом и суть.
Когда кто-то сделает универсальную платформу и примеры ее применения — сразу набегает толпа снобов и начинает поливать грязью, дескать, все то же самое можно сделать на маленьком мк и будет работать. Да, работать будет. Но когда встанет вопрос о том что нужно не только отображать на экранчике какие-то данные, но еще и передавать их. А потом окажется что еще и по WiFi.
И ситуация типичная. Стоимость того самого маленького мк на несколько порядков меньше стоимости всего комплекса, зачем экономили непонятно. Расширяться некуда, проект завис в непонятном состоянии, чтобы переписать все это на новую платформу с ассемблера потребуется время.
Я такое уже видел несколько раз. На начальном этапе есть большое искушение сделать «красиво» и с минимальными затратами. Но потом это выходит боком.
ИМХО, конечно же.
Не совсем так. Если сначала мигали светодиодом, а потом потребовался экран и WiFi, то значит была ошибка в самом подходе к проектированию: не учли необходимость расширения в будущем. Да, это опять ошибка новичков. Более дальновидные впендюрят какой-нибудь SoC на линуксе, и пусть он мигает до лучших времён.
Поверьте, изначально сложно понять как проект будет развиваться дальше. Но затачивать все супероптимально на конкретную задачу — имхо бред. Выйграть в стоимости не получится существенно. При этом поддерживать сложно ну и все что я описал.
SoC идеальный вариант.
Просто, меня сильно смущает что выше отписалось несколько «тру программистов мк», облили грязью тех кто делает на ардуине или более высокоуровневых платформах «с гигагерцовыми процессорами», оправдывая это фразой«у меня дешевле» и народ их поддерживает.
Нет, я немного «по середине». Ардуину, по моему мнению, лучше использовать не разработчикам (даже для прототипирования), а обычным домашним изобретателям, когда МК нужен только как инструмент для решения какой-то побочной задачи. Но когда затевается серьёзное устройство (даже в качестве хобби), лучше взять чистый МК. Ну к примеру вот сюда я бы засунул STM32, и стал бы раскуривать его потроха. Это интересно, это правильно.
Фам Нювен несколько лет провел, обучаясь программировать и исследовать. Программирование восходило к началу времен. Как та навозная куча за замком отца. Когда ее промыло ручьем на десять метров в глубь, обнаружились искореженные корпуса машин – летающих машин, как говорили крестьяне, еще от тех великих дней колонизации Канберры. Но та навозная куча была чистой и свежей по сравнению с тем, что лежало в локальной сети «Репризы». Были программы, написанные пять тысяч лет назад, когда человечество еще не покинуло Землю. И самое чудесное (самое ужасное, как говорила Сура) было то, что, в отличие от бесполезных обломков прошлого Канберры, эти программы все еще работали! И через миллион миллионов запутанных нитей наследования многие из старейших программ все еще выполнялись во внутренностях системы Кенг Хо. Например, методы слежения за временем у торговцев. Поправки вносились неимоверно сложно – но на самом дне лежала крошечная программа, которая гоняла счетчик. Секунду за секундой отсчитывала система Кенг Хо с того момента, как нога человек ступила на Луну Старой Земли. Но если приглядеться еще пристальнее… начальный момент был миллионов на сотню секунд позже; момент «ноль» одной из первых компьютерных операционных систем Человечества.


// Виндж, «Глубина в небе»
Проблема та же, что и у ардуины. Пока это просто для себя поиграться — окей, никаких возражений.
Но когда такое начинают ставить в какие-нибудь вендинговые машины, например, я лично уже начинаю напрягаться.

Мое основное опасение связано именно с JS; по моему (не очень хорошо информированному мнению) в этом языке показатель WTF/мин больше, чем в С.
А значит вероятность, что вендинговый автомат по четным пятницам перестает выдавать шоколадки, становится выше.
Просто потому что в языке легче сделать ошибку, нарвавшись на интересное поведение.
Тесты никто не отменял. Есть те кто знает весь js и у них возникает точно такое же ощущение по поводу C. Другое дело что в микроконтроллере можно наложить вето на все разновидности eval и тогда всё становится заметно проще и достаточно не очень сложной вм для байткода.
Не складывается что — то, т.к. внизу про потребление написано про сон Current draw in sleep: <0.05mA — over 2.5 years on a 2500mAh battery а сверху can run for over 10 years on a single AA-sized 3v lithium cell. AA-sized cell должна быть тогда 10000 mAh ТОЛЬКО для сна.

Кстати статья выходит перевод страницы с кикстартера, но об этом нигде не сказано.
Ну если быть предельно честными, то за 10 лет и просто пролежав батарейка придет в негодность.
А есть что-то близкое, но питонячье?
Да чего мелочиться — завести там nodejs и запилить облако из грозди этих платок:-)
Сначала туда v8 стоит запихнуть вместо интерпретатора. Или SpiderMonkey. Или не туда, а на хост-ПК, чтобы компилировалось в native-код.
Сударь, вы зануда:-)
Нет, я мечтатель…
Если у неё будет поддержка онлайн редактора MBED, и можно будет не использовать JS и штатную IDE, а для заливки использовать копирование на фейковую флешку, то получится аналог nucleo f401re, только в миниатюрном корпусе и на несколько долларов дешевле, так что можно и купить.
Считаю что программно-аппаратные платформы такого рода, вместе с Arduino, Rasberry Pi и др. вытеснят классический подход к созданию электронных устройств в радиолюбительских и хобби-проектах, а затем оттяпают серьезный сегмент рынка электронных устройств. Вместе с 3D-принтерами такие устройства дадут возможность создания электронных устройств каждому для себя индивидуально на дому. И станут похожими на ПК, которые пришли на смену огромным ЭВМ. Смотрю на это и вижу как движется история. Самое интересное какая платформа станет наиболее популярной, как когда-то стала архитектура x86.
> каждому для себя индивидуально на дому.

> Самое интересное какая платформа станет наиболее популярной, как когда-то стала архитектура x86.

Наверное, у каждого будет своя индивидуальная? habrahabr.ru/post/118534/
Очень интересно! Все никак руки не дойдут попробовать tessel.io/. Тоже интересная вещь
Если низкий порог вхождения поможет даже 0.01% попробовавших сделать еще шаг глубже-то это прекрасно, ведь не важно на чем и как оно работает, главное, что человек пытается что-то создать.
Да!
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.