На позапрошлой неделе на Mobile World Congress президент Intel Рене Джеймс анонсировала программу для разработчиков Internet Of Things. Всякие конкурсы-призы-хакатоны, короче — маркетинговая программа. Но были некоторые новости и по технической части. На MWC и Embedded World наша команда продемонстрировала некоторые новые возможности в разработке софта для IOT. Мы опубликовали два бинарных образа дисков (и соответствующие исходники для самостоятельной сборки), которые позволяют серьезно сократить время, необходимое для настройки системы для разработки софта для Galileo.
Плату Galileo вот уже несколько месяцев можно достаточно недорого купить, например, в некоторых европейских интернет-магазинах. Купив плату, счастливый покупатель получает синюю коробочку, блок питания, и, возможно, мягкую игрушку bunnyman. На Galileo практически «из коробки» можно запускать код, разработанный для Arduino в Arduino IDE. Во флэш прошит минималистический Yocto Linux образ на ucLibc и busybox, который умеет, в основном, загружать и исполнять Arduino скетчи. Если вдруг разработчику захочется поставить более функциональный дистрибутив Линукса, то сборка и конфигурация займет несколько часов. Вот, например, очень неплохая инструкция от Сергея Киселева, где описывается, как скомпилировать Yocto со всевозможными gcc/g++/python/etc, чтобы один образ можно было использовать и на хосте (через chroot) и на Galileo.
Мы еще раз протестировали Yocto 1.5 на Galileo, включили в билд рецепты для некоторых полезных драйверов и библиотек для разработки на C/C++/Python/Node.js, добавили несколько фич, облегчающих установку и конфигурирование, и сделали два образа диска — один загрузочный для микро-СД карты Galileo, и один «живой» USB образ с Дебианом и настроенными Yocto Eclipse ADT, Yocto Hob — для разработки на хосте. Одна из основных задач, которые мы пытались решить — сделать так, чтобы время от распаковки коробки до компиляции и исполнения Hello IoT World не превышало десяти минут.
Многие спрашивают, причем здесь вообще Интернет Вещей? Galileo — типичная мэйкерская борда, со своими преимуществами и недостатками. В комментариях к недавней статье моего коллеги, даже было утверждение, что при помощи Galileo Intel пытается конкурировать с популярнейшей платформой Arduino. Я считаю, что плату Galileo с нашим билдом Yocto можно использовать для IOT, т.к. в поставке есть IOT kit agent и совместимость с Mashery. Это облегчает разработку Intelligent gateway — устройства, собирающего данные с сенсоров, осуществляющего первичную обработку, и отсылающего результат в облако.
Помимо образов дисков, которые можно скачать с сайта Intel, есть еще и осязаемая аватара IOT Devkit. Мы собрали в одну коробку немного полезной перефирии, и уже раздали порядка 150 коробок наиболее везучим посетителям MWC и EW в Барселоне и Нюренберге.
В набор входил 2x16 экран, PCIe карта для беспроводной сети, usb камера и микрофон, и все необходимые кабели. (См. заглавную фотографию, но NUC в поставку не включен :))
Про кабели нужно сказать отдельно. Многие покупатели Galileo недовольны тем, что для того, чтобы достучаться до UEFI и grub требуется редкий и дорогой Audio(TRS 3.5мм)-RS232 кабель. (Хотя я лично не считаю это особой проблемой, для себя и коллег я спаял несколько таких из дешевых наушников) Ну и потом еще RS232-USB нужен тем, у кого на компе нет последовательного порта (что сейчас совсем не редкость). Некоторые покупают TRS serial-USB кабель, но почти всегда это оказывается TTL, а не RS232 адаптер, и он не работает с Galileo UART0. (C UART1 он работает, но UEFI использует UART0). Правильный кабель мы тоже включили в набор. Через некоторое время, когда начнутся более массовые хакатоны, этот (возможно, с небольшими улучшениями) набор будет раздаваться всем участникам, мы планируем раздать так несколько тысяч наборов. (Записывайтесь по ссылке выше!)
Если вы внимательно прочитаете статью на IDZ о программе, то там упомянаются продукты Windriver: VxWorks и Workbench. На MWC мы демонстрировали, как они работают на Galileo, но скачать их пока можно только у Windriver с соответствующим контрактом. Также на Embedded World я показывал, как VI, скомпилированный National Instruments Labview 2013 может исполняться на Galileo, но Labview Runtime Engine также придется скачивать отдельно с сайта National Instruments.
Кстати, кроме Galileo на Embedded World показывали еще один продукт от Intel на процессоре Quark. Это Gateway for Internet Of Things, более продвинутый продукт с кучей видов IO включая fieldbus'ы.
Это был анонс и краткое описание Galileo IOT development kit, далее последуют две статьи — про то, как мы при помощи этого devkit делали одно из самых посещаемых демо на MWC с гонками игрушечных машинок,
и подробнее о том, как можно использовать Labview при программировании для Galileo.
Автор: izard