Linux и оборудование с открытым исходным кодом для создания устройств IoT

[Обновлено: 28 сентября]. Это руководство по оборудованию с открытым исходным кодом и удобному для разработчиков оборудованию для разработки устройств IoT варьируется от простых модулей на основе MCU до мощных SBC на основе Linux.

Перспектива открытого источника в Интернете вещей

Часть 3: Linux и оборудование с открытым исходным кодом для IoT

Большинство из 21 проекта программного обеспечения с открытым исходным кодом для IoT, которые мы рассмотрели на прошлой неделе, указали хакерские платы Linux в качестве основных платформ разработки.
На этой неделе мы рассмотрим оборудование Linux с открытым исходным кодом и удобное для разработчиков оборудование для создания устройств Internet of Things, от простых технологий на основе микроконтроллеров до плат на базе Linux.


(Источник: Викимедиа)

В последние годы стало трудно найти встроенную плату, которая не продается с лейблом IoT.
Тем не менее, перегруженный термин лучше всего подходит для плат с низкими ценами, небольшими размерами, низким энергопотреблением и поддержкой беспроводной связи и промышленных интерфейсов.
Поддержка камер полезна для некоторых приложений IoT, но высококачественные мультимедиа обычно не дают таких атрибутов, как низкая стоимость и энергопотребление.

Характеристики IoT, как правило, в большей степени относятся к конечным точкам - узловым устройствам, которые собирают входные сигналы датчиков, а не к шлюзам.
Тем не менее, большинство шлюзов подключаются напрямую к конечным точкам, а не агрегируют входы от других шлюзов, и, как правило, используются в большом количестве, часто в удаленных областях.
Поэтому они также должны быть доступными, эффективными, легкими устройствами.

Модули IoT и SBC часто могут использоваться взаимозаменяемо в домашних и промышленных условиях.
Тем не менее, платы для умных домашних концентраторов, как правило, больше ориентированы на поддержку беспроводных сетей, в то время как промышленные шлюзы также часто подключаются к последовательным, CAN и другим интерфейсам или промышленным технологиям Ethernet, таким как EtherCAT.

MCU IoT

Атрибуты IoT в значительной степени определяются процессором, а для конечных точек это часто означает микропроцессорные устройства.
Микроконтроллеры, как правило, используют легковесную операционную систему реального времени, такую ​​как FreeRTOS с открытым исходным кодом, или программируются с помощью Arduino IDE.

До недавнего времени слабая поддержка беспроводных сетей на MCU ограничивала их привлекательность для IoT по сравнению с процессорами приложений под управлением Linux или Windows Embedded.
Единственный Linux, который работает на MCU, - это устаревший и несколько ограниченный uClinux , и он работает только на более мощных MCU.

В течение нескольких лет наблюдается тенденция к объединению плат Arduino на базе MCU с беспроводными чипсетами на основе MIPS, такими как Qualcomm Atheros AR9331, с более надежными дистрибутивами OpenWrt или Linino Linux.
По-прежнему существует множество гибридных SBC для Linux / Arduino, включая Arduino Yún Mini и Arduino Tian на базе Atheros AR9432.
Другие, такие как MediaTek, совместимый с Arduino LinkIt Smart 7688 , совместимый с Arduino , запускают OpenWrt на базе Miatey Mediatek MT7688AN.


Arduino Yún Mini верхняя деталь

(щелкните изображение, чтобы увеличить)

За последний год недорогие Wi-Fi SoC, особенно Espressif ESP8266 , упростили процесс создания устройств MCU с беспроводной связью, не требуя дополнительной нагрузки на процессоры приложений под управлением Linux.
ESP8266 с открытым исходным кодом, основанный на ядре Tensilica RISC, можно модифицировать для непосредственного запуска эскизов Arduino, если его прошить альтернативной прошивкой с открытым исходным кодом, как описано на GitHub .
ESP8266 также может быть перепрограммирован для запуска FreeRTOS или ориентированного на MCU беспроводного интерфейса ARM Mbed .

ESP8266 появился на платах Arduino, таких как Arduino STL Otto Arduino Srl и Arduino Uno WiFi, и часто взламывался в IoT-проектах на базе Arduino.
Недавно Espressif выпустила ESP8285 - по сути ESP8266 с 1 МБ флэш-памяти - и представила более быструю, поддерживающую Bluetooth ESP32 SoC.


Слева направо: Itead PSFA85 (Espressif ESP8285), SeeedStudio ESP3212 (Espressif ESP32), PADI IoT Stamp (RealTek RTL8710AF)

(нажмите на картинку для подробностей)

ESP SoCs - не единственная игра в городе.
Плата MKR1000 от Arduino LLC использует Atmel ATSAMW25H18 для WiFi.
Pine64, известная своей хакерской платформой Pine-A64 Linux, недавно подключилась к PADI IoT Stamp COM на основе Realtek RTL8710AF, конкурента ESP8266 с поддержкой WiFi, который запускает FreeRTOS на Cortex-M3.
Как и модули на основе ESP, PADI IoT Stamp является крошечным (24x16 мм), энергоэффективным и дешевым, продается всего за 2 доллара.


Горстка модулей Intel Curie

Второе поколение процессоров Intel, подобных MCU Quark D2000 и Quark SE , также предназначено для узлов IoT, в данном случае работающих на легких ОСРВ, таких как Zephyr.
Quark SE использует модули Curie с поддержкой Intel BLE для носимых устройств, а также плату Intel Arduino 101 .

Linux IoT

Для узлов IoT более высокого уровня требуются процессоры приложений под управлением Linux, Windows Embedded и теперь Windows 10. Домашняя автоматизация была ведущим приложением в недавнем опросе Hacker SBC пользователей поддерживаемых сообществом Linux SBC.
Другие основные категории включали промышленные приложения, такие как сбор данных и ЧМИ.


Вероятные приложения SBC

(щелкните изображение, чтобы увеличить)

Конечные точки на основе Linux обычно используются, когда вам требуется больше локальной обработки, и необходимо запустить веб-сеанс или экран HMI.
Они часто должны поддерживать более широкий спектр беспроводных радиостанций или интегрировать камеры и аудио.
Linux чаще встречается на шлюзах, которые собирают данные с узлов IoT.
Однако во многих случаях одна и та же встроенная плата может управлять шлюзом низкого уровня или конечной точкой высокого уровня.

Это часто случается с Raspberry Pi, одной из наиболее часто используемых плат разработки для IoT.
Дело не в том, что Pi особенно хорошо подходит для этой задачи, хотя WiFi и Bluetooth на Pi 3 помогают.
Тем не менее, Pi и его клоны невелики и доступны по цене, и существует множество IoT-ориентированных дополнений.

IBM, Element14 и EnOcean совместно работали над одним таким дополнением.
В комплект входит Raspberry Pi с автономными беспроводными датчиками EnOcean для сбора энергии, которые получают энергию от движения, света и температуры окружающей среды.
IBM поставила свою платформу IBM Watson IoT для облачной аналитики IoT.

Многие платформы IoT поддерживают BeagleBone, который лучше подходит для промышленного IoT и имеет множество дополнений IoT.
SoC-карты Texas Instruments на базе Cortex-A8 и -A9, найденные на BeagleBone, и такие варианты, как BeagleBone Green Wireless от SeeedStudio, широко используются в IoT.

Для большей вычислительной мощности популярным выбором является NXP Cortex-A9 на базе i.MX6.
Как и Sitara, он поставляет множество промышленных интерфейсов.
Хакерские платы на базе i.MX6 включают модели HummingBoard и Udoo , а также Wandboard.
И Sitara, и i.MX6 также часто используются в коммерческих платах IoT.


Слева направо: BeagleBone Green Wireless, UDOO, Матрица

(нажмите на картинку для подробностей)

SoC под брендом SAMA на базе Cortex-A5 от Atmel - это еще одна опора IoT, обнаруженная на таких устройствах, как компьютеры Artila Matrix для удаленного мониторинга.
Даже устаревшее ядро ​​ARM9 продолжает играть роль в IoT из-за его небольшого размера, низкой цены и низкого энергопотребления.
Маленький CloudBit SBC от LittleBits, основанный на ARM9, подключается к множеству приводов, датчиков, зуммеров, диммеров, светодиодов и двигателей постоянного тока LittleBits.

Другие хакерские SBC предлагают аналогичные дополнения IoT.
Grove от SeeedStudio - одно из самых популярных семейств сенсорных устройств. В его состав входят платы, в том числе Intel Edison Kit для Arduino.
Creator Ci40, HobbitBoard, HummingBoard-Gate и другие SBC поддерживают модули Click МикроЭлектроники.

Высокопроизводительные устройства сбора данных часто строятся вокруг гибридных платформ Zynq ARM / FPGA от Xilinx.
Linux-хакерские платы на базе Zynq включают Parallella, Z-Turn и Snickerdoodle .


Snickerdoodle на базе Zynq-7000

(нажмите на изображение для деталей)

Энергосберегающий Cortex-A7 от ARM все больше заменяет SoC Cortex-A5, -A8 и -A9 в узлах IoT и шлюзах низкого уровня.
Популярные SoC на основе A7 для IoT включают в себя NXP i.MX6 UltraLite (UL) и двухъядерный процессор Artik 5 SoC / module от Samsung.
SoC Allwinner используются в ряде клонов Pi и других SBC, которые заканчиваются в проектах IoT, но, как и в случае с RockCip, Samsung и Qualcomm, модели более высокого уровня чаще используются в более качественных мультимедийных устройствах.

Скоро мы увидим IoT SoC на базе Cortex-A32 , самого маленького и наиболее энергоэффективного ядра ARMv8 на сегодняшний день.
Cortex-A32 намного быстрее, чем -A7, предлагая на 25% более высокую эффективность.
(S2 SoC в Apple Watch 2, по слухам, Cortex-A32.)

Что касается архитектуры x86, Intel, возможно, отказалась от использования своих все более энергоэффективных плат Atom SoC на своих смартфонах, но она продолжает ориентировать Atoms на рынок встраиваемых систем.
Его IoT-ориентированный модуль Intel Joule работает на новейших 14-нм процессорах Atom «Broxton-M» - четырехъядерных Atom T5700 и T5500 - и поддерживается Ostro Linux на основе Yocto Project.


Модуль Intel Joule

(нажмите на изображение для деталей)

В то время как последние процессоры Intel Quark предназначены для ОСРВ, его оригинальная линейка управляемых Linux Quarks по-прежнему ориентирована как на конечные точки IoT, так и на шлюзы низкого уровня.
Quark X1000 работает под управлением Linux и появился на младших шлюзах IoT, таких как Advantech UNO-1252G .
Более высокие шлюзы, такие как ICO300-MI от Axiomtek, чаще используют атомы.
Между тем, AMD увидела, что ее SoC на базе x86 серии G встроены в различные IoT-платы и устройства.

Шлюзы верхнего уровня, которые собирают и обрабатывают данные из других шлюзов, используют более мощные платформы x86 и ARM.
Эти системы передают данные на облачные серверы IoT, где программным, а не аппаратным обеспечением является дифференциатор IoT.

Хотя в ближайшие несколько лет промышленный, а не потребительский IoT, скорее всего, будет основным двигателем развития отрасли, он в значительной степени останется невидимым за пределами мира разработчиков.
Для большинства людей IoT - это управляемый Linux центр для умного дома, а также приложение для смартфонов на базе Android или iOS, а также набор, полный «умных устройств». На следующей неделе мы рассмотрим ориентированные на потребителя платформы автоматизации на основе Linux, изучение как открытых, так и коммерческих вариантов.

Прочитайте все статьи в этой серии

Эта статья защищена авторским правом © 2016 Linux.com и была первоначально опубликована здесь .
Он был воспроизведен этим сайтом с разрешения его владельца.
Пожалуйста, посетите Linux.com для получения последних новостей и статей о Linux и open source.
Изображение Internet of Things, воспроизведенное в этом посте, лицензировано на условиях лицензии Creative Commons Attribution 2.0 Generic и получено здесь .