Если вы занимаетесь разработкой для интернета вещей, очень важно выбрать платформу, которая наилучшим образом соответствовала бы нуждам проекта. Для того, чтобы это сделать, нужно знать о возможностях и особенностях различных платформ. Сегодня мы раскроем некоторые важные подробности о плате Genuino 101. Сначала сравним её с Arduino UNO, задав, таким образом, отправную точку для анализа возможностей Genuino 101. А затем подробнее рассмотрим особенности Genuino 101.

Сравнение 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)


  1. IronHead
    02.08.2016 18:21
    +5

    Советую лучше купить:
    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


  1. MaxAlekseev
    02.08.2016 18:29
    +2

    Забавное сравнение 8-битного микроконтроллера Atmega328 и 32-битного Intel Quark SE SoC. Ну тогда для кучи еще 155-серию надо было в табличке указать с КТ315.


  1. Tanner
    02.08.2016 18:35
    +1

    В одном чипе имеем, с одной стороны, процессор класса 486DX, даже вроде с несколькими инструкциями от Pentium, а с другой — 24 килобайта оперативной памяти без возможности апгрейда. Интел, WTF???


    1. Mirn
      02.08.2016 22:05
      +1

      24 килобайта это очень даже норм по меркам микроконтроллеров.
      Это не простое ОЗУ, а с быстродействием кеша.
      А кеша в сотни мегабайт я пока ещё не видел нигде.

      Такое озу очень полезно в строгом реалтайме с требуемыми задержками в микросекунды.
      Например для промышленности, коей у нас в России почти не осталось.
      Так что, да, для ИТшников не интересно — полноценный TCP стек на нём не запустить, что то сложнее подавно.


      1. Keroro
        03.08.2016 07:21

        Ну это всё же SOC, откуда там мегабайтам взяться? К тому же, на PIC18 (8bit, 4K RAM, 128K ROM) вполне полноценный стек работает (UDP/TCP, HTTP, SNMP v2). В ESP8266 ОЗУ тоже не сильно больше, я подозреваю.


        1. Mirn
          03.08.2016 11:26

          мы делаем системы управления и мониторинга в реалтайме и поэтому эти два фактора в PIC18 критичны:
          8bit — ядро очень медленно и в случае большого количества пакетов оно часть из них пропустит, в езернете бывает 10мегабайт в сек.
          4K RAM — полноценное TCP окно не реализовать и на свою буферизацию тоже не хватит.
          Так что для наших применений этот стек очень неполноценный.

          Есть очень популярный стек uIP для таких МК, но он очень примитивен, например обходит алгоритм нагля просто разрезая пакет на двое и отправляя две половинки и прочие хитрости которые скорее костыли. А про качество кода в нём я могу рассказать только нецензурными словами, пригоден только хоббистов реле управлять, да лампочками мигать. Просьба не путать хоббистов и нормальную промышленность, между ними пропасть как между хелоуворлдщиками с олимпиадниками и ядром винды 10.


  1. ittakir
    02.08.2016 18:47
    +1

    Простой вопрос — какое потребление у платы в активном и спящем режимах, в миллиамперах?


  1. Plone
    02.08.2016 19:12

    Ниша неясна.

    Цена как какой-нибудь Pi, возможности скорее как STM за полтора доллара.
    И wifi нет (вспомним ESP).
    И к тому же предложено писать в Ардуино IDE.
    Да, и по ссылке питание заявлено 7-12 В. Там есть промежуточный стабилизатор на 5 вольт?

    Короче говоря, надо понять, куда его приспособить.


    1. rstepanov
      03.08.2016 13:13

      Вернуть производителю.


    1. xedas
      03.08.2016 16:01

      Мне кажется, что цель этой платы — сделать мостик между домохозяйкой/школьником и Intel Curie/Intel Quark SE SoC. Также как Arduino на ATmega328 стала таким мостиком в AVR. Дать возможность людям ничего не паяя и не изучая длинные даташиты поиграться с их контроллером, а потом уже постепенно начинать вникать особенности его программирования.

      Проблема только в том, что с Arduino на чистые МК можно переходить, а можно не переходить т.к. цена Arduino Nano/Pro Mini вполне приемлема для изготовления устройств вплоть до сотен штук тиража, да и некоторые AVR выпускаются в легкопаяемом DIP корпусе. А тут у домохозяйки/школьника будет понимание, что переходить с этой платы на чистый МК надо будет т.к. плата слишком дорогая, но переходить сложно т.к.:

      1. в розницу непонятно где эти МК купить (на ebay, ali и в двух местных магазинах не нашёл их);
      2. если даже купишь, то изготовление платы и запайка потребуют немалого скила т.к. контакты под корпусом.


  1. bazis13
    02.08.2016 19:13
    +3

    $3 за UNO с бесплатной доставкой, или $30 за Genuino, не включая доставку… Что же выбрать?


    1. Igor_Sib
      03.08.2016 07:08
      +1

      Дайте ссылку, пожалуйста, где заказать UNO за 3 бакса.


      1. Syzd
        03.08.2016 08:07
        +1

        толькуо сейчас проверил на всем известном китайском сайте, 188 руб. это ли не три бакса?


      1. bazis13
        03.08.2016 10:18
        +2

        На али начинаются от $2.67
        Искать по запросу «arduino uno» или «arduino mega328p», сортировать по числу заказов.


    1. r00tGER
      03.08.2016 11:05

      Выбрать Нано за 120 рублей :)


      1. rstepanov
        03.08.2016 13:14
        +1

        Неа, выбрать STM32F103 за 150 рублей :)


  1. kvazimoda24
    02.08.2016 21:23
    +1

    Мне кажется, не взлетит. Для носимой электроники слишком громоздко. Для остального непонятно зачем нужны гироскоп и акселерометр. Вот у меня ещё ни в каком устройстве нужды в этих двух датчиках не возникало. Использование двух процессоров, мне кажется, только сильно усложнит разработку для той группы людей, на кого ориентирована та же Ардуино. Непонятно, что со всей массой библиотек, которую сообщество написало для Ардуино. Я так понимаю, на этой плате оно так просто не заработает? Значит требует снова более высоко уровня подготовки разработчика. В этом случае становится непонятно, зачем выполнять плату в формате Ардуино, и уж тем более, зачем сравнивать её с Ардуино. Лучше уж с каким-нибудь STM'ом сравнить, мне кажется, это будет ближе.


    1. Mirn
      02.08.2016 21:56

      а сейчас это мода такая — ардуино бог и пофиг на всё, этими разъёмами уродуется буквально всё.
      Всё во благо хоббистов и зажигателей лампочек по вайфаю.
      Даже если на плате стоит сверхмощный мк с производительностью как у целерона 500,
      даже если у него сотни бга выводов, и богатая переферия, даже если у него куча цап, ацп на пол сотни каналов и внешние ацп.
      Нет смерд,
      вот тебе куцый ардуино разъём на 14 GPIO выводов и тебе этого хватит, так боги маркетинга решили.
      и да, и часто цена далеко за 100+ баксов, это же для арудино — все купят.


    1. xedas
      02.08.2016 23:26
      +1

      Если цена снизится до полутора-двух цен Arduino Uno, имеет хорошие шансы взлететь. Плюс сделать версию в формате Arduino Nano.
      А те $26 с доставкой что за него сейчас хотят — это цена STM32F4DISCOVERY, у которого 1 МБ флеша, 192 КБ ОЗУ, 168 МГц частота и около 80 выводов.


      1. kvazimoda24
        03.08.2016 10:10

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

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


  1. tamtaradam
    02.08.2016 21:24

    Намаялись же мы на ней с гироскопом. Так ничего дельного и не получили. Почему-то в определенных положениях он начинал скачкообразно вертеться по всем осям. Ещё была странность: при повороте на 360 градусов гироскоп не возвращался в изначальное положение, да и вообще чрезвычайно быстро слетала калибровка.


    1. Dr_Zlo13
      03.08.2016 10:35

      Вы точно уверены что понимаете как должен работать такой датчик? Это не гироскоп в обычном представлении, это датчик угловых скоростей.


      1. tamtaradam
        03.08.2016 10:51

        Возможно и нет. Мы алгоритм Маджвика прикручивали и получали углы поворота относительно нуля, полученного после калибровки. Затем вкидывали показания в blender и смотрели, смотрели. Иногда гироскоп выкидывал очень интересные трюки (в прямом смысле). Конечно, мы ещё много чего пробовали, но, учитывая результаты, интереса в этом мало.


  1. j8kin
    03.08.2016 10:33

    Не понимаю почему нельзя выпустить нармальный SBC типа RPI Zero только с wifi. Не нужны акселерометры и т.п. Сделайте нормальную платку за 5$ с wifi и HDMI выходом. все ничего более не нужно.


    1. CAJAX
      03.08.2016 11:29

      Понимаю, что не совсем то, и когда/если отправят точно не скажешь, но вот модуль с WIFI и Linux за 5 баксов на кикстартере.


      1. j8kin
        03.08.2016 12:54

        Да рассматривал его, но! По-сути это как Эдисон, ндо еще платки расширения прикупать, чтобы внешние устройства можно было нормально подключить. ну или самому плату разводить.
        Я пока заказал C.H.I.P. за 9$ там есть и wifi и флешпамять на 4 ГБ и оперативка 512Мб и видеовыход есть и питание от батарейки можно подключить и зиний зуб и GPIO.
        Хотя я бы и меньшим довольствовался за более скромные денюжки.
        Ну и массовую рассылку они откладывают уже в третий раз.
        Если дойдет, я поиграюсь, напишу статеечку (в сравнении с RPI Zero) и если подойдет под мои цели, то еще десяток закажу.
        Собственно основные 2 минуса RPI-Zero это отсутствие wifi и что заказать 1 шт можно, а мне 8 нужно


  1. defecator
    03.08.2016 10:33

    Ерунда какая-то. Мощный процессор, и мизер памяти.

    Intel Galileo 2 построен на таком же чипе, и в том же формате Uno,
    но там не постеснялись 256 мегабайт оперативки поставить, 8 метров флэша,
    полноценный Ethernet воткнуть, microSD, да ещё слот расширения mini-PCI-x

    И всё это за те же деньги, что и эта Arduino 101.

    Вопрос — занафига эта 101 вообще нужна?


  1. Timoschenko
    03.08.2016 10:34

    Ребята, а почему некоторые производители наносят доп. микро отверстия на платах, как-бы перфорируют всю плату точечками.

    image


  1. 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 стоит дешево, возможности интересные, более специфические, конечно, чем у микроконтроллера.


  1. ds6328
    05.08.2016 21:55

    А на 101 библиотека TV Out есть интересно? Хочу попробовать поменять 101 на мегу.