Содержимое Intel IOT development kit

14 ноября 2014 г., 0:15:20

В феврале я писал о сборке Yocto для Galileo gen1, которая несколько облегчает разработку для Galileo. С тех пор прошел почти год, и у Galileo появились последователи — Galileo gen2, Edison. Про Edison (уже два месяца в продаже) надо писать отдельно, этот же пост об Intel IOT Development Kit.

image


Из железок на моем рабочем столе (извините за беспорядок) он совместим с Galileo gen1, gen2 и Edison.
С декабря 2013 по октябрь 2014 я был архитектором этого продукта, и сейчас я опишу, как продвигался проект, что уже получилось, и что запланировано.

Зачем вообще мы все это начали? «Родная» (от создателей платформы) Yocto сборка для Galileo должна умещаться в 8 MB, и поэтому использует uClibc. Даже если загружаться с 8GB SD-card. Также она заточена, в основном, для программирования только посредством Arduino IDE. Однако Galileo — это не только Arduino Uno совместимая плата, но и компьютер, сравнимый с персоналкой пятнадцатилетней давности по производительности, но с поддержкой современной периферии. Поэтому очень логично максимально облегчить его программирование как Linux компьютера с PC и Arduino периферией.

Поэтому мы начали с создания Yocto 1.6 сборки, включающей средства разработки, библиотеки и драйвера популярной периферии. «Из коробки» можно писать на C/C++, Python, Node.JS, shell. Образ диска весит всего 200 MB, но есть еще многогигабайтный репозиторий для opkg, из которого можно проинсталлировать еще несколько тысяч нужных пакетов (Если у вас найдется достаточно большая SD-Card для /root файловой системы). По сравнению с февральской альфой, текущий билд грузится в 3 раза быстрее, несмотря на кучу новых сервисов в загрузке. А всего-то systemd вместо sysvinit.

Для того, чтобы сохранить совместимость с Arduino IDE, образ диска включает и uclibc, и eglibc. К сожалению, поэтому не получается из скетчей достучаться до всяких полезных библиотек, и приходится использовать IPC.

Если для периферии РС библиотек хватает, то для большинства простых и дешевых сенсоров/актуаторов есть только Arduino или mbed библиотеки. Их пришлось бы портировать, так как в драйверах продвинутых сенсоров хватает кода, специфичного для платформы. Поэтому мы решили изобрести велосипед, и опубликовали на Github два полностью открытых проекта с MIT лицензией — libmraa и UPM. libmraa написана на C, а UPM на С++ (нативном C++ aka С c классами). Они обе при сборке также генерируют библиотеки, который можно использовать при программировании на Python и Node.JS.

libmraa предоставляет интерфейс к Galileo/Edison пинам, которые можно использовать как GPIO, ADC, PWM, I2C, SPI, RS232. Это не драйвер, все происходит в usermode (прощай, риалтайм!). Как и скетчи Arduino, на Galileo gen1, gen2, Edison она работает поверх /sys/class/* устройств. То есть это был бы простой wrapper, если бы привязка этих устройств к Arduino пинам была однообразной и тривиальной. К сожалению, каждая из перечисленных платформ имеет свои особенности и ограничения в области ввода-вывода. Например, подробнее о Galileo gen2 можно почитать здесь. Скоро появится поддержка Minnow max и Baytrail NUC.

UPM работает поверх libmraa и реализует логику сенсоров/актуаторов. Таким образом, в коде сенсоров/актуаторов нет никакой логики, связанной с платформой, на которой они работают. (Сравните с Arduino, где глаза рябит от #ifdef UNO/DUO/TRE.) Пока UPM поддерживает всего штук сорок устройств, но наша команда с помощью сообщества, надеюсь, за год еще под пару сотен других напишет.

Помимо обычных средств программирования, в образе диска IOT devkit для Intel Galileo также содержится одно не совсем обычное. Румынский стартап Wyliodrin разработал среду программирования на основе Blockly, облегчающая графическое программирование сенсоров/актуаторов на Intel Galileo, Edison и Raspberry Pi. Ребята из Wyliodrin и их специальное предложение для владельцев Intel Galileo достойны отдельной статьи.

Также в сборку вошел node.js демон и API, упрощающий работу с Intel IoT analytics cloud. Вообще cloud backend для IoT — сейчас жутко модная тема, и многие известные вендоры уже анонсировали (Azure Intelligent Systems Service) или выпустили свой вариант. Я протестировал несколько, и данные с сенсоров, подсоединенных к Galileo или Edison легко посылаются в клауд для дальнейшей обработки. Конечно, Intel IOT Analytics сейчас использовать проще всего — он уже встроен в IOT devkit, есть примеры.

Выше я много раз упоминал наш образ диска для Galileo — часть IOT devkit. У некоторых читателей могло возникнуть два вопроса: какие еще части есть в devkit, и что насчет Edison?

Кроме образа диска, репозитория пакетов opkg, cloud сервисов IoT Analytics и Wyliodrin, мы включили две вещи, облегчающие разработку на хосте (все-таки разрабатывать большие вещи непосредственно на Galileo или даже на Edison может быть не совсем комфортно). IOT devkit поддерживает Intel XDK для разработки на Node.JS и специальный билд Eclipse под Linux, и Mac OS, сконфигурированный как host для разработки на C/C++.

Кроме того, IOT devkit можно получить в осязаемой форме, поучаствовав в хакатоне (например, скоро один будет проведен в Москве), некоторых академических программах, или просто купить Galileo gen1 kit или gen2 kit.

По поводу второго вопроса все просто: команда, создавшая платформу Edison, не была ограничена необходимостью использования uClibc, и собрала неплохой образ диска для Edison на основе Yocto 1.6.1. Они включили в свою сборку libmraa и UPM и обеспечили совместимость со всеми плюшками, которые я перечислил выше — XDK, IOT devkit билд Eclipse, IoT analytics, Wyliodrin, и Arduino IDE, совместимое со всеми библиотеками на таргете.

Во время осеннего Intel Developer Forum мы открыли сайт devkit и форум. Но у Galileo и Edison уже есть свой сайт и форумы, поэтому получилась некоторая путаница. Часть информации есть только на этом сайте мейкеров, часть — только на нашем, а часть дублируется. Например, недавно про devkit написали в Dr Dobbs, но мне показалось, что автор статьи не смог до конца разобраться в этой путанице. Надеюсь, читатели этой статьи разберутся лучше, чем редактор старейшего журнала для программистов.

На сайте мы выложили для скачивания образ диска и Eclipse IDE и назвали все это IOT devkit 1.1 beta. Beta потому, что у нас в команде был только один part time QA инженер (но мы все сами кушали свою собачью еду, так что очевидные баги подмели). Через пару месяцев планируем от обидного слова «beta» избавиться, попутно исправив все баги, добавив поддержку новых интересных сенсоров, добавив в Eclipse IDE визард для создания новых проектов, и учтя тонны пожеланий участников хакатонов.

Темы для флейма в комментах, которые автор будет особенно рад поддержать:
1. Кому нужен ваш Yocto, надо было портировать Ubuntu/Debian/Gentoo/Slackware!
2. Зачем столько много опций/языков программирования/IDE, надо было оставить что-то одно, но сделать это хорошо.
3. Почему вы перешли на systemd, на embedded платформе все должно быть в легко редактируемых shell скриптах.
4. Почему нет прямо из коробки Java/Mono/Haskell/Brainf*&ck?
5. У меня не работает DHT22 сенсор X, которому нужно посылать микросекундные импульсы в точные временные отрезки — а Arduino это умеет.
6. Я сделал pull request в UPM, добавив поддержку моего любимого сенсора влажности почвы в цветочном горшке, но злой github user arfoll не делает коммит.
7. Ну и чем это лучше RasPi/BBB/etc/etc/etc?"
8. Carthago delenda estПочему даже в Quark не отказались от устаревшего набора x86 инструкций, даешь еще один RISC микроконтроллер!




Похожие новости

16 февраля 2016 г., 0:23:57 samsung-ativ-se1

Компании Microsoft и Samsung молчат о выпуске обновления до Windows 10 Mobile для смартфонов серии ATIV, что породило слухи, будто эти устройства не будут обновлены и навсегда останутся с Windows Phone 8.1. Один пользователей форума Reddit поделился довольно интересной историей, связанной со смартфоном...

29 января 2016 г., 13:14:17 4

Это устройство было признано самым популярным устройством на платформе Windows Phone не только три года назад, но и в настоящее время. Компания AdDuplex на днях опубликовала результаты исследования, согласно которым порядка 12,9% всех используемых сегодня смартфонов на этой мобильной платформе – это...

29 января 2016 г., 6:18:57 adduplex-jan2016-devices-global

Рекламно-аналитическая компания AdDuplex поделилась довольно интересной статистикой об устройствах на базе Windows Phone. Как выяснилось, большая часть используемых в настоящее время Windows-смартфонов, были представлены как минимум два года назад. Это можно воспринимать по-разному. Первый вариант:...

27 января 2016 г., 9:07:43 История компании Meizu

История компании начинается в 1998 года с человека по имени Хуан Сючжан, очень увлекающегося новыми гаджетами и электроникой. Он покупал в интернете новые девайсы и внедрял дома новые технологии. После чего делился в интернете, под псевдонимом Джек Вонг, впечатлениями и высказывал свои новые идеи и мнения....

26 января 2016 г., 23:55:29 Pixel C

За что мы любим Apple и ее продукты? За многое, но в частности за то, что эта компания производит и устройства, и программное обеспечение. Они созданы работать вместе, что дает продуктам от Apple многочисленные преимущества перед конкурентами. Ноутбуки на Windows редко работают так же хорошо и гладко,...


Похожие обзоры

20 января 2016 г., 18:56:58 Новинки осени: видеообзор Lumia 830 и Lumia 730 / 735

В сентябре этого года мы показали продолжение нашей новой линейки cмартфонов в лице вице-флагманской модели Lumia 830, а также двух более доступных моделей: Lumia 730 с двумя SIM-картами и Lumia 735 c поддержкой 4G. А уже в начале октября эти устройства вышли в продажу на российском рынке. После московской...

20 января 2016 г., 18:15:50 image

Добрый день, уважаемые хабровчане. Я хотел бы поделиться своими впечатлениями о новом смартфоне компании Blackberry — Blackberry Q10. На данный момент, это последнее устройство, выпущенное канадцами, а также первый QWERTY-смартфон на операционной системе Blackbery 10. Для меня это первый аппарат с клавиатурой,...

16 января 2016 г., 21:16:12 Планшет Amazon Fire 7 (2015)

И хотя два года назад планшеты различных форм и размеров разлетались, как горячие пирожки, глобальные продажи пошли на спад в последнее время. Даже Apple, основатель форм-фактора планшетов, теряет своих поклонников. Производители всё чаще ориентируются на бюджетный конец рынка, подавляя массовый рынок...

19 августа 2015 г., 23:10:49 Смартфон Blu Win JR

Blu Products, американский производитель смартфонов из Майами, основанный в 2009 году, выпустили уже 4 смартфона на Windows Phone. В прошлом году это была пара Win JR и Win HD, а в этом Win JR LTE и Win HD LTE, которые отличаются не только поддержкой LTE, но и обновленными дизайном и начинкой. Ни...

7 августа 2015 г., 22:18:47 Zenfone2-5

На мой взгляд, революцию в мобильных технологиях можно и нужно совершать не только на уровне вычислительных мощностей, но и на уровне ценника. ASUS ZenFone 2 – это смартфон с 1080p 5,5-дюймовым экраном, на Intel Atom x86 4 ядра по 1.8GHz, графикой PowerVR G6430, с 2 ГБ ОЗУ, 16 ГБ + microSDXC, 13 Мп камерой,...


Похожие отзывы

16 марта 2015 г., 14:14:39 Windows Insider принесла Microsoft более миллиона отзывов

Управляющий программой Windows Insider Габриэль Аул с радостью сообщил через свой Твиттер-аккаунт, что Microsoft получила более миллиона отзывов о новой Windows 10 от участников тестирования через приложение Feedback. Официальное представление программы Windows Insider состоялось еще в сентябре 2014...

14 марта 2015 г., 23:28:21

Windows 10 несмотря на статус предварительной версии явно сумела завоевать симпатии пользователей. Многие несмотря на возможные проблемы поставили Windows 10 на свои компьютеры, и активно участвуют в жизни сообщества вокруг программы Windows Insider. Габриэль Аул сообщил, что недавно был получен миллионный...

11 марта 2015 г., 20:20:17

Достоинства: windows 8, большое количество приложений, громкие динамики, интуитивно понятный интерфейс, оптимальное соотношение цены и качества, стильный дизайнНедостатки: куча лишних приложений Здравствуйте хороший смартфон Nokia Lumia 520,в нем много приложений,игры Xbox качество хорошее яркое,камера...

11 марта 2015 г., 18:59:18  Microsoft Lumia 535 : Lumia 535  - первый смартфон от Microsoft! Каков он? Все расскажу да покажу... ●ФОТО●

                                                               ˙·٠•●♥ ВСЕМ ПРИВЕТ ♥●•٠·˙   Как известно, в 2014 году компания Microsoft стала полноправной хозяйкой мобильного бизнеса Nokia , так что  бренд Nokia скоро прекратит свое существование. Герой моего поста -  Microsoft Lumia 535 Dual SIM - первый...

10 марта 2015 г., 21:44:32 Nokia Lumia 520 - отзыв спустя больше года использования. Почему не скачиваются приложения? Как настроить раздел "Моя семья"? Все плюсы и минусы смартфона. Android или Windows Phone? +Скрины, фото в разном освещении и времени, возможности фотостудии и т.д

Достоинства: windows phone, быстрый, оптимальное соотношение цены и качества, отзывчивый дисплей, стильный дизайнНедостатки: нет вспышки(фонарика), нет франтальной камеры Добрый день, дорогие читатели! Настало время поделиться своими впечатлениями о Нокиа Люмия 520. Пользуюсь я им уже больше года. Прежде...


Похожие инструкции

28 октября 2015 г., 17:55:35 Команда Pangu обновила утилиту для джейлбрейка iOS 9-iOS 9.0.2, добавила ряд улучшений стабильности

Команда Pangu выпустила обновление для своей утилиты для джейлбрейка, способной взламывать совместимые iPhone, iPad и iPod touch. Всем тем, кто уже сделал джейл, не нужно повторять эту процедуру снова. Достаточно просто обновить "Pangu 9.0.x Untether" и "Patcyh" в Cydia. По словам разработчиков полезной...

15 июля 2015 г., 9:50:01

Добрый вечер GeekTimes. Гуляя по блогам MS наткнулся на замечательный пост с большой и «свежей» электронной библиотекой с последним обновлением от Eric Ligman, Microsoft Senior Sales Excellence Manager.Заголовок поста: Large collection of Free Microsoft eBooks for you, including: SharePoint, Visual...

14 июля 2015 г., 3:05:24 PP-1

Через две недели после выхода джейлбрейка iOS 8.4 от разработчиков из команды TaiG китайские хакеры, входящие в группировку 25PP, выпустили Mac-версию эксплоита PP Jailbreak для взлома операционки Apple. С помощью утилиты 25PP можно осуществить непривязанный джейлбрейк iOS 8.4 на iPhone, iPad и iPod...

14 июля 2015 г., 3:05:22 PP-Jailbreak-8

В понедельник состоялся релиз Mac-версии программного решения PP Jailbreak, предназначенного для джейлбрейка iOS 8.4 и более ранних версий ОС. MacDigger публикует руководство по работе с приложением. PP Jailbreak – первый инструмент для джейлбрейка iOS 8.3/8.4, который можно использовать нативно в среде...

12 июля 2015 г., 18:27:14

Эта неделя оказалась весьма волнительной для поклонников Windows Phone. Microsoft произвели драматичные перестановки в своем мобильном подразделении. В ряде СМИ это восприняли, чуть ли как не отказ от собственной мобильной операционной системы, своих устройств и прочее. Это не так, достаточно прочитать...

Упомянутые аппараты
vk.com/analogindex_ru
"Analog Index" © 2014 - 2015