Сравнение Genuino 101 и Arduino UNO
В Arduino UNO применяется модуль Atmel ATmega328P, Genuino 101 использует экономичный модуль Intel Curie с Intel Quark SE SoC. UNO питается от 5 В, а Genuino 101 – от 3.3 В, хотя устройство нормально переносит напряжение 5 В на разъёмах ввода-вывода. В Genuino 101 имеется встроенный модуль Bluetooth Low Energy и 6-осевой комбинированный датчик с акселерометром и гироскопом. У Arduino UNO таких встроенных компонентов нет. Платы обеих платформ аналогичны по размерам и схеме расположения выводов.
Платы Genuino 101 и Arduino UNO
В таблице ниже приведено сопоставление ключевых характеристик рассматриваемых платформ.
Характеристика |
Genuino 101 |
Arduino UNO |
Микроконтроллер |
Intel Curie |
Atmel ATmega328P* |
Рабочее напряжение |
3.3 В (цепи ввода-вывода толерантны к 5 В) |
5 В |
Тактовая частота процессора |
32 Мгц |
Кварцевый генератор на 16 МГц |
Архитектура |
Intel Quark SE SoC, 32 бита |
8 бит |
Флэш-память |
196 Кб |
32 Кб |
SRAM |
24 Кб |
2 Кб |
EEPROM |
1 Кб |
1 Кб |
Операционная система |
ОС реального времени с открытым исходным кодом |
Нет |
Тактовая частота |
32 МГц |
16 МГц |
Особенности |
Интегрированный хаб датчиков на цифровом сигнальном процессоре (DSP) с 6-осевым комбинированным датчиком с акселерометром и гироскопом Integrated digital signal |
Используется в роли цифрового сигнального процессора (DSP) |
Bluetooth |
Bluetooth Low Energy |
Нет |
Цифровые контакты ввода-вывода |
14 цифровых контактов ввода-вывода |
14 цифровых контактов ввода-вывода |
Аналоговые контакты ввода-вывода |
6 аналоговых входов |
6 аналоговых входов |
USB-разъём |
USB-разъём, используемый для обмена данными по протоколу последовательного порта и загрузки скетчей. |
USB-разъём, используемый для обмена данными по протоколу последовательного порта и загрузки скетчей. |
Разъём ICSP с сигнальными линиями SPI |
Поддерживается |
Поддерживается |
Интерфейс I2C |
Выделенные контакты I2C |
Выделенные контакты I2C (Arduino UNO rev3) |
Перезагрузка |
Кнопка перезагрузки |
Кнопка перезагрузки |
Размеры (Длина x Ширина) |
68.6 мм x 53.4 мм |
68.6 мм x 53.4 мм |
Подробности о Genuino 101
Микропроцессоры
SoC Intel Quark SE содержит одноядерный x86-процессор Intel Quark с тактовой частотой 32 МГц и процессор Argonaut RISC Core (ARC) EM с такой же частотой. Эти два процессора работают параллельно, используя общую память. ARC-процессор в некоторых материалах называют цифровым сигнальным процессором (digital signal processor, DSP) хаба датчиков. В теории, DSP может работать, потребляя минимальное количество энергии, собирая и обрабатывая показания датчиков. А x86-процессор в это время находится в экономичном режиме ожидания. Такой сценарий идеально подходит для приложений, которые должны работать постоянно. Однако, эта возможность пока не доступна на уровне программного обеспечения.
Когда вы загружаете в систему скетч Arduino, он исполняется на ARC-процессоре. Однако, скетч компилируется с помощью набора инструментальных средств Intel и ARC-процессор, при необходимости, взаимодействует с x86-процессоров через статические буферы сообщений. Для того, чтобы с этим всем поэкспериментировать, можете воспользоваться библиотеками ядра с открытым кодом для Genuino 101.
Операционная система реального времени
Замечательная программная возможность Genuino 101 заключается в том, что на нём можно запустить ОС реального времени (Real-Time Operating System, RTOS). Intel работает над SDK, который будет включать в себя набор инструментов разработчика, библиотеки, документацию и примеры кода, предназначенные для того, чтобы позволить разработчикам создавать IoT-приложения с использованием модуля Intel Curie. Этот SDK, основанный на Zephyr Project, будет совместим с платформой Genuino 101 и выйдет в ближайшее время. Если вы хотите одним из первых узнать о выходе этого SDK, загляните на эту страницу.
Zephyr Project – это маленькая RTOS для сферы IoT с открытым кодом. Она поддерживает коммуникационные протоколы, оптимизированные для экономичных устройств с небольшим размером памяти, позволяет пользоваться Bluetooth, Bluetooth LE, Wi-Fi и другими технологиями связи. Эта ОС поддерживает низкий уровень использования памяти и исполнение задач с приоритетами. Кроме того, она предельно эффективна с точки зрения энергопотребления. RTOS включает в себя мощные средства разработки и надёжные подсистемы работы с аппаратным обеспечением. Среди инструментов разработчика можно отметить собственный набор инструментальных средств и оптимизированный компилятор.
Bluetooth Low Energy
Genuino 101 содержит встроенный модуль Bluetooth Low Energy (эту технологию ещё называют Bluetooth LE, BLE и Bluetooth Smart). Это даёт плате возможность обмениваться данными с различными устройствами, такими, как компьютеры, смартфоны, планшеты, без использования подключаемого Bluetooth LE-модуля. Это, кроме прочего, означает низкий уровень потребления энергии при обмене данными. Если вам интересно узнать подробности о работе с Bluetooth LE-модулем, взгляните на пример кода CurieBLE.
Дополнительные библиотеки
Библиотеки для Arduino – это коллекции блоков кода, которые предоставляют дополнительный функционал для использования в скетчах. Библиотеки для Genuino 101 упрощают задачи по работе с Bluetooth LE, датчиками, таймерами. А именно, речь идёт о следующих библиотеках:
- Curie BLE позволяет подключать плату к другим устройствам, используя модуль Bluetooth LE;
- Curie IMU даёт возможность работать со встроенным 6-осевым акселерометром и гироскопом;
- Curie TimerOne позволяет работать с таймером.
Акселерометр и гироскоп
Акселерометр и гироскоп, как уже было сказано, встроены в Genuino 101. Акселерометры используют, в основном, для измерения ускорения и угла наклона. Гироскопы применяют для измерения угловой скорости и ориентации в пространстве. Подобные датчики дают возможность точно определять перемещения объектов и их положение в пространстве. Эти возможности позволяют, при разработке носимых устройств, вывести на новый уровень взаимодействие с пользователями.
Один из способов применения акселерометра – реализация на его основе шагомера. Когда плата Genuino 101 совершает перемещение в пространстве, происходящее анализируется, и, если параметры перемещения соответствуют определённым критериям, оно воспринимается как шаг. Определение шага основано на значительных измерениях скорости по осям X Y и Z в сравнении с состоянием покоя. Тут можно найти код примера, реализующего шагомер.
Так же, как и для Arduino UNO, программы для Genuino 101 можно писать с помощью IDE Arduino. Вот материал, где детально разобрано начало работы с Genuino 101. Для того, чтобы увидеть, как работает приложение, реализующее шагомер на Genuino 101, загрузите в IDE соответствующий пример кода.
Загрузка примера реализации шагомера в Arduino IDE
Далее, нужно выгрузить скетч на Genuino 101.
Выгрузка скетча на Genuino 101
Теперь подвигайте плату, имитируя «шаги», и посмотрите на монитор последовательного порта.
Шагомер в действии
Как видно, система подсчитывает шаги и выводит их на экран.
Линии ввода-вывода и прерывания
И Genuino 101, и Arduino UNO, имеют по 20 контактов ввода-вывода. Но у Genuino 101 больше выводов, которым можно назначать прерывания. Arduino UNO может вызывать прерывания на цифровых выводах 2 и 3, в то время, как Genuino 101 – на всех выводах. Внешние прерывания, которые вызваны некими событиями, можно принимать на всех выводах. Прерывания на всех выводах могут вызываться на низких или высоких значениях сигналов, на переднем или заднем фронте сигнала, однако, вызов прерывания при изменении значения на входе поддерживается лишь на выходах 2, 5, 7, 8, 10, 11, 12, и 13.
Выводы
Мы рассказали об основных возможностях Genuino 101. Эта платформа способна стать основой множества IoT-разработок. Существуют дополнительные компоненты, например – в наборе Grove Starter Kit Plus, которые позволяют сделать на базе Genuino 101 почти всё, что угодно. Не стоит забывать и о том, что тот, кто работает с Genuino 101 может пользоваться огромнейшим опытом, накопленным Arduino-разработчиками.
Для того, чтобы заказать плату, загляните сюда, а приступить к экспериментам и увидеть в деле замечательные возможности Intel Curie можно, руководствуясь этим материалом.
Комментарии (30)
MaxAlekseev
02.08.2016 18:29+2Забавное сравнение 8-битного микроконтроллера Atmega328 и 32-битного Intel Quark SE SoC. Ну тогда для кучи еще 155-серию надо было в табличке указать с КТ315.
Tanner
02.08.2016 18:35+1В одном чипе имеем, с одной стороны, процессор класса 486DX, даже вроде с несколькими инструкциями от Pentium, а с другой — 24 килобайта оперативной памяти без возможности апгрейда. Интел, WTF???
Mirn
02.08.2016 22:05+124 килобайта это очень даже норм по меркам микроконтроллеров.
Это не простое ОЗУ, а с быстродействием кеша.
А кеша в сотни мегабайт я пока ещё не видел нигде.
Такое озу очень полезно в строгом реалтайме с требуемыми задержками в микросекунды.
Например для промышленности, коей у нас в России почти не осталось.
Так что, да, для ИТшников не интересно — полноценный TCP стек на нём не запустить, что то сложнее подавно.Keroro
03.08.2016 07:21Ну это всё же SOC, откуда там мегабайтам взяться? К тому же, на PIC18 (8bit, 4K RAM, 128K ROM) вполне полноценный стек работает (UDP/TCP, HTTP, SNMP v2). В ESP8266 ОЗУ тоже не сильно больше, я подозреваю.
Mirn
03.08.2016 11:26мы делаем системы управления и мониторинга в реалтайме и поэтому эти два фактора в PIC18 критичны:
8bit — ядро очень медленно и в случае большого количества пакетов оно часть из них пропустит, в езернете бывает 10мегабайт в сек.
4K RAM — полноценное TCP окно не реализовать и на свою буферизацию тоже не хватит.
Так что для наших применений этот стек очень неполноценный.
Есть очень популярный стек uIP для таких МК, но он очень примитивен, например обходит алгоритм нагля просто разрезая пакет на двое и отправляя две половинки и прочие хитрости которые скорее костыли. А про качество кода в нём я могу рассказать только нецензурными словами, пригоден только хоббистов реле управлять, да лампочками мигать. Просьба не путать хоббистов и нормальную промышленность, между ними пропасть как между хелоуворлдщиками с олимпиадниками и ядром винды 10.
ittakir
02.08.2016 18:47+1Простой вопрос — какое потребление у платы в активном и спящем режимах, в миллиамперах?
Plone
02.08.2016 19:12Ниша неясна.
Цена как какой-нибудь Pi, возможности скорее как STM за полтора доллара.
И wifi нет (вспомним ESP).
И к тому же предложено писать в Ардуино IDE.
Да, и по ссылке питание заявлено 7-12 В. Там есть промежуточный стабилизатор на 5 вольт?
Короче говоря, надо понять, куда его приспособить.xedas
03.08.2016 16:01Мне кажется, что цель этой платы — сделать мостик между домохозяйкой/школьником и Intel Curie/Intel Quark SE SoC. Также как Arduino на ATmega328 стала таким мостиком в AVR. Дать возможность людям ничего не паяя и не изучая длинные даташиты поиграться с их контроллером, а потом уже постепенно начинать вникать особенности его программирования.
Проблема только в том, что с Arduino на чистые МК можно переходить, а можно не переходить т.к. цена Arduino Nano/Pro Mini вполне приемлема для изготовления устройств вплоть до сотен штук тиража, да и некоторые AVR выпускаются в легкопаяемом DIP корпусе. А тут у домохозяйки/школьника будет понимание, что переходить с этой платы на чистый МК надо будет т.к. плата слишком дорогая, но переходить сложно т.к.:
- в розницу непонятно где эти МК купить (на ebay, ali и в двух местных магазинах не нашёл их);
- если даже купишь, то изготовление платы и запайка потребуют немалого скила т.к. контакты под корпусом.
bazis13
02.08.2016 19:13+3$3 за UNO с бесплатной доставкой, или $30 за Genuino, не включая доставку… Что же выбрать?
Igor_Sib
03.08.2016 07:08+1Дайте ссылку, пожалуйста, где заказать UNO за 3 бакса.
Syzd
03.08.2016 08:07+1толькуо сейчас проверил на всем известном китайском сайте, 188 руб. это ли не три бакса?
bazis13
03.08.2016 10:18+2На али начинаются от $2.67
Искать по запросу «arduino uno» или «arduino mega328p», сортировать по числу заказов.
kvazimoda24
02.08.2016 21:23+1Мне кажется, не взлетит. Для носимой электроники слишком громоздко. Для остального непонятно зачем нужны гироскоп и акселерометр. Вот у меня ещё ни в каком устройстве нужды в этих двух датчиках не возникало. Использование двух процессоров, мне кажется, только сильно усложнит разработку для той группы людей, на кого ориентирована та же Ардуино. Непонятно, что со всей массой библиотек, которую сообщество написало для Ардуино. Я так понимаю, на этой плате оно так просто не заработает? Значит требует снова более высоко уровня подготовки разработчика. В этом случае становится непонятно, зачем выполнять плату в формате Ардуино, и уж тем более, зачем сравнивать её с Ардуино. Лучше уж с каким-нибудь STM'ом сравнить, мне кажется, это будет ближе.
Mirn
02.08.2016 21:56а сейчас это мода такая — ардуино бог и пофиг на всё, этими разъёмами уродуется буквально всё.
Всё во благо хоббистов и зажигателей лампочек по вайфаю.
Даже если на плате стоит сверхмощный мк с производительностью как у целерона 500,
даже если у него сотни бга выводов, и богатая переферия, даже если у него куча цап, ацп на пол сотни каналов и внешние ацп.
Нет смерд,
вот тебе куцый ардуино разъём на 14 GPIO выводов и тебе этого хватит, так боги маркетинга решили.
и да, и часто цена далеко за 100+ баксов, это же для арудино — все купят.
xedas
02.08.2016 23:26+1Если цена снизится до полутора-двух цен Arduino Uno, имеет хорошие шансы взлететь. Плюс сделать версию в формате Arduino Nano.
А те $26 с доставкой что за него сейчас хотят — это цена STM32F4DISCOVERY, у которого 1 МБ флеша, 192 КБ ОЗУ, 168 МГц частота и около 80 выводов.kvazimoda24
03.08.2016 10:10Всё равно будет для избранных. Библиотеки от Ардуино надо портировать, программировать два процессора сложнее, чем один. Да, я, конечно, понимаю, что всё становится лучше, если к нему приделать Блютус, но в реальности далеко не всегда он нужен. С носимой же электроникой имеет ещё какой-то смысл вариант Нано.
А вообще, всё это похоже на то, что Интелу не даёт покоя слава Ардуино, и они очень хотят влезть на этот рынок, но данный вариант очень сомнителен, т.к. Ардуино тем и замечательна, что это конструктор для домохозяйки. Если же нужно что-то более серьёзное, то человек уже не будет останавливаться на формфакторе Ардуино, т.к. нет смысла использовать нативные модули от Ардуино, если все библиотеки всё равно переписывать.
tamtaradam
02.08.2016 21:24Намаялись же мы на ней с гироскопом. Так ничего дельного и не получили. Почему-то в определенных положениях он начинал скачкообразно вертеться по всем осям. Ещё была странность: при повороте на 360 градусов гироскоп не возвращался в изначальное положение, да и вообще чрезвычайно быстро слетала калибровка.
Dr_Zlo13
03.08.2016 10:35Вы точно уверены что понимаете как должен работать такой датчик? Это не гироскоп в обычном представлении, это датчик угловых скоростей.
tamtaradam
03.08.2016 10:51Возможно и нет. Мы алгоритм Маджвика прикручивали и получали углы поворота относительно нуля, полученного после калибровки. Затем вкидывали показания в blender и смотрели, смотрели. Иногда гироскоп выкидывал очень интересные трюки (в прямом смысле). Конечно, мы ещё много чего пробовали, но, учитывая результаты, интереса в этом мало.
j8kin
03.08.2016 10:33Не понимаю почему нельзя выпустить нармальный SBC типа RPI Zero только с wifi. Не нужны акселерометры и т.п. Сделайте нормальную платку за 5$ с wifi и HDMI выходом. все ничего более не нужно.
CAJAX
03.08.2016 11:29Понимаю, что не совсем то, и когда/если отправят точно не скажешь, но вот модуль с WIFI и Linux за 5 баксов на кикстартере.
j8kin
03.08.2016 12:54Да рассматривал его, но! По-сути это как Эдисон, ндо еще платки расширения прикупать, чтобы внешние устройства можно было нормально подключить. ну или самому плату разводить.
Я пока заказал C.H.I.P. за 9$ там есть и wifi и флешпамять на 4 ГБ и оперативка 512Мб и видеовыход есть и питание от батарейки можно подключить и зиний зуб и GPIO.
Хотя я бы и меньшим довольствовался за более скромные денюжки.
Ну и массовую рассылку они откладывают уже в третий раз.
Если дойдет, я поиграюсь, напишу статеечку (в сравнении с RPI Zero) и если подойдет под мои цели, то еще десяток закажу.
Собственно основные 2 минуса RPI-Zero это отсутствие wifi и что заказать 1 шт можно, а мне 8 нужно
defecator
03.08.2016 10:33Ерунда какая-то. Мощный процессор, и мизер памяти.
Intel Galileo 2 построен на таком же чипе, и в том же формате Uno,
но там не постеснялись 256 мегабайт оперативки поставить, 8 метров флэша,
полноценный Ethernet воткнуть, microSD, да ещё слот расширения mini-PCI-x
И всё это за те же деньги, что и эта Arduino 101.
Вопрос — занафига эта 101 вообще нужна?
Timoschenko
03.08.2016 10:34Ребята, а почему некоторые производители наносят доп. микро отверстия на платах, как-бы перфорируют всю плату точечками.
simki
03.08.2016 10:34С моей точки зрения плата скорее вредна, чем полезна.
Кроме высокой цены фрагментирует сообщество свободного ПО, свободного hawdware.
В области простых устройств есть изначальный Arduino, где годами отлаживалось и ПО и аппаратная часть.
Для ARM есть Arduino Due (микроконтроллер Atmel SAM3X8E). С ним бы и сравнивали, причем, начиная с цены.
Еще накинуть в цене в 3 раза, появляется семейство плат Raspberry Pi (ARM Cortex-A53 x64 1,2 ГГц 4 ядра).
Конкуренты периодически появляются, противопоставляя более мощное железо, но после погружения в тему оказывается что нет практически живого сообщества, сырое ПО, слабая поддержка от производителя (закрытое ПО и отсутствие программного доступа к мультимедийному DSP, нет какой-нибудь лицензии). Дополнительно устройство может пропасть из продажи, именно в тот момент, когда на него написано рабочее решение.
Есть даже семейство плат аналогичных с ПЛИС на борту, с EPM240T100С5 стоит дешево, возможности интересные, более специфические, конечно, чем у микроконтроллера.
ds6328
05.08.2016 21:55А на 101 библиотека TV Out есть интересно? Хочу попробовать поменять 101 на мегу.
IronHead
Советую лучше купить:
http://ru.aliexpress.com/item/leaflabs-Leaf-maple-mini-ARM-STM32-compatibility/32214664071.html
+
http://ru.aliexpress.com/item/CC2541-4-0-bluetooth-to-uart-transceiver-Module-Central-Peripheral-switching-AirLocate/32278117785.html