Medgadgets
Компания
75,72
рейтинг
20 ноября 2014 в 20:27

Разное → Espruino Pico: миниатюрная плата разработчика с JavaScript поможет быстро освоиться в мире электроники



Миниатюрная плата Espruino Pico для разработчика JavaScript — это интересное устройство, внутри которого есть все, что нужно для работы с электронными устройствами. Плата позволяет быстро настроить взаимодействие с самыми разными модулями и системами, без необходимости написания большого количества кода и его постоянной отладки.

Вместо этого используется JavaScript, в качестве управляющей «прослойки». Разработчики утверждают, что такое решение позволяет работать с железом напрямую, выставляя необходимые величины напряжения, и настраивая взаимодействие с внешними компонентами. От обычной АА батарейки чип может работать более 10 лет, такое низкое энергопотребления у платы.

Как это использовать?



На видео показано, что нужного для себя результата можно добиться, введя несколько строк кода:



Для работы с платой не требуется много познаний в электронике — достаточно базовых понятий. Устройство совместимо с большинством цифровых электронных устройств и модулей, причем наладить работу с ними можно за несколько минут. Разработчики сравнивают процесс наладки с конструктором Lego — все так же просто и понятно.

Для чего можно использовать?



Ответ прост: для всего. Еще один пример показывает, что это действительно так. Использовать микроплату можно с любым гаджетом, где есть USB-разъем.



Почему JavaScript?



Каждый день JavaScript используют миллионы человек. Практически каждый веб-сайт также работает с JavaScript. В Сети можно найти тысячи примеров работы с JavaScript, доступна самая подробная документация. Это позволяет создать приложение для работы со своим устройством или компонентом очень быстро. При этом JavaScript работает прямо «на борту» микроплаты.

Это означает следующее:
  • Сторонние программные комплексы практически не нужны — все, что нужно, уже есть внутри Espruino Pico;
  • Изменения вносятся очень быстро, просмотреть результаты можно сразу же;
  • Для отработки команды нужно очень мало кода — как уже говорилось выше, буквально несколько строк;
  • Дебажить все это можно прямо в процессе работы;
  • Если проблемы не с ПО, а с железом, то Espruino Pico можно превратить в целую измерительную лабораторию, с вольметром, логическим анализатором и осциллоскопом;
  • Все команды выполняются напрямую;
  • Если вы прекратили работу над каким-либо проектом, и решили возобновить ее через год — исходный код будет ждать, поскольку он сохраняется в чипе. Если есть необходимость, код можно обфусцировать.


Интернет вещей





Микроплата идеально подходит для подключения всего и вся к интернету вещей. При этом вместе с устройством можно использовать модули сторонних производителей, добавляя поддержку Ethernet, WiFi, NRF24, Bluetooth, и 315/433Mhz диапазона.

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



Комплекты



Вместе с платой предлагаются и комплекты с различными элементами. Комплекты разработчики предлагают разные.

Starter Kit



Этот комплект позволяет обходиться без пайки, при необходимости предварительной настройки какой-либо системы.

Geek's Toy Kit



В комплект входит сразу 3 платы, LCD, сервопривод, реле и различные сенсоры для создания самых разных проектов.

Ultimate Toy Kit

Здесь у нас 10 плат (2 из них — с ножками), плюс все из предыдущих комплектов, плюс ESP8266 WiFi и модуль WIZnet W550io Ethernet.

Комплектация может еще незначительно изменяться.

Спецификации





  • 32mm x 15mm (1.26 x 0.6 inch)
  • 22 GPIO pins: 9 Analogs inputs, 21 PWM, 2 Serial, 3 SPI, 3 I2C
  • All GPIO is 5 volt tolerant (Arduino compatible)
  • 2 rows of 8 pins, with 12 pins on double-sided end connector
  • On-board USB Type A connector
  • STM32F401 CPU — ARM Cortex M4, 384kb flash, 96kb RAM
  • On-board 3.3v 150mA voltage regulator, accepts voltages from 3.5v to 16v
  • Current draw in sleep: <0.05mA — over 2.5 years on a 2500mAh battery
  • On-board FET can be used to drive high-current outputs


Цена



Конечно, многим интересно, сколько это стоит. Так вот, стоимость одной платы без ножек составляет 15 фунтов (23 доллара).

  • Starter Kit — 61 доллар США;
  • Geek's Toy Kit — 123 доллара;
  • Ultimate Toy Kit — 342 доллара.


Разработчики уже собрали на Kickstarter больше, чем планировали, так что в апреле 2015 начнется отгрузка мини-платы.
Автор: @marks
Medgadgets
рейтинг 75,72
Компания прекратила активность на сайте

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

  • +7
    От обычной АА батарейки чип может работать более 10 лет

    Разве что в каком-нибудь спящем режиме с пробуждениями раз в неделю, в активном режиме он несколько (десятков) миллиампер будет потреблять по даташиту (зависит от частоты и используемой периферии) и высосет батарею за несколько дней.
    • 0
      Если бы задача была в низком энергопотреблении лучше было бы брать L0, на сколько я помню он сейчас у STM самый низкопотребляющих из Cortex M3.

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

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

          Хотя стоимость www.st.com/web/catalog/mmc/FM141/SC1169/SS1577/LN1810/PF259598# около 4$, частота 84MHz и объемы памяти очень расточительны для embedded устройства
          • 0
            Что значит как хотят? Не хотят, а давно делают: github.com/espruino/Espruino. Мужик второй раз выходит на кикстартер, вот первый проект: www.kickstarter.com/projects/gfw/espruino-javascript-for-things
            • 0
              Переформулирую вопрос) Как исполняется javascript на микроконтроллере? Есть open source среда разработки и компилятор/интерпретатор?
              • +1
                Как исполняется 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 встраиваемый скриптовый язык).
      • 0
        Учитывая, что проекту пара лет, долго ждать, чтобы посмотреть, не надо, вот форум: forum.espruino.com/

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

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

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

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

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


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

        Мое основное опасение связано именно с JS; по моему (не очень хорошо информированному мнению) в этом языке показатель WTF/мин больше, чем в С.
        А значит вероятность, что вендинговый автомат по четным пятницам перестает выдавать шоколадки, становится выше.
        Просто потому что в языке легче сделать ошибку, нарвавшись на интересное поведение.
        • 0
          Тесты никто не отменял. Есть те кто знает весь js и у них возникает точно такое же ощущение по поводу C. Другое дело что в микроконтроллере можно наложить вето на все разновидности eval и тогда всё становится заметно проще и достаточно не очень сложной вм для байткода.
  • +1
    Не складывается что — то, т.к. внизу про потребление написано про сон 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 ТОЛЬКО для сна.

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

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

      Наверное, у каждого будет своя индивидуальная? habrahabr.ru/post/118534/
  • 0
    Классно!

    Хотя и дорого.
  • +1
    Очень интересно! Все никак руки не дойдут попробовать tessel.io/. Тоже интересная вещь
  • 0
    А как давно JavaScript в Cortex-M перенесли? ARM-железке со встроенным Фортом ( iron.snop.ru/ ) уже 3 года.

    image
  • +2
    Если низкий порог вхождения поможет даже 0.01% попробовавших сделать еще шаг глубже-то это прекрасно, ведь не важно на чем и как оно работает, главное, что человек пытается что-то создать.
    • +1
      Да!

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разное