Brillo от Google превращается в IoT OS "Android Things"

[Обновлено: 18:00]. Google переоборудовал Brillo в ОС Android Things, поддерживаемую ресурсами разработки Android.
Он также обновляет Weave новыми типами устройств.

Легкая, основанная на Android ОС Brillo для Android для IoT получила все большее распространение в первый год, но вряд ли подожгла мир.
Он конкурирует с растущим выбором операционных систем IoT на основе Linux и RTOS с открытым исходным кодом, которые на стороне Linux включают поддерживаемые Intel Ostro Linux, Raspbian и Huawei LiteOS.
Теперь Google прислушался к отзывам разработчиков и перезапустил Brillo как более Android-подобную ОС Android Things, которую разработчики Android могут более легко использовать.


Raspberry Pi 3

Первоначальные аппаратные платформы Android Things включают в себя Intel Edison, модуль на базе i.MX6UL, называемый NXP Pico, и Raspberry Pi 3. Это будет первая официальная поддержка Raspberry Pi, предлагаемая любой версией Android.
Кроме того, Qualcomm объявила о планах добавить поддержку Android Things для своих процессоров Snapdragon в 2017 году.

Google, принадлежащая Alphabet, также объявила о планах обновления сетевого протокола Weave, который поддерживается Brillo и Android Things.
Он также советовал объединить версию Google Weave с версией Weave, предлагаемой дочерней компанией Alphabet Nest Labs (см. Ниже).
В отдельном объявлении Google заявил, что он объединяет свой проект в области самостоятельного вождения автомобиля в компанию Alphabet под названием Waymo, которая будет продавать технологии самостоятельного вождения производителям автомобилей, а не продавать целые автомобили.

Внутри Android вещи

В Android Things, который теперь доступен в предварительной версии для разработчиков, добавлена ​​поддержка Android Studio, пакета разработки программного обеспечения Android (SDK), сервисов Google Play и Google Cloud Platform.
В ближайшие месяцы обновления «предоставят вам инфраструктуру для безопасного выпуска регулярных исправлений ОС, исправлений безопасности, ваших собственных обновлений, а также встроенного подключения Weave и многого другого», - говорится в сообщении компании.


Android Things архитектура

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

Мы не видели никаких претензий к тому, что это проект с открытым исходным кодом, но он выглядит так же открыто, как в основном с открытым исходным кодом Brillo и Android.
Мы также не увидели минимальных технических характеристик.
Учитывая растущую интеграцию с Android, маловероятно, что он по-прежнему будет соответствовать требованиям 32 МБ ОЗУ Brillo и флэш-памяти 128 МБ.
Google заявил, что будет работать с существующими партнерами Brillo для переноса своих приложений на Android Things, предполагая, что это гораздо больше, чем простое обновление.

Android Things, который, как и Android, работает на ядре Linux, расширяет базовую платформу Android дополнительными API, предоставляемыми новой библиотекой поддержки Things.
Эти API-интерфейсы поддерживают аппаратные компоненты, которые обычно отсутствуют на мобильных устройствах, в том числе такие интерфейсы, как GPIO, PWM, I2C, SPI и UART, обеспечивая поддержку датчиков и исполнительных механизмов.
Существует также API-интерфейс User Driver, который «позволяет приложениям внедрять аппаратные события в среду, к которой другие приложения могут обращаться с помощью стандартных API-интерфейсов Android», - говорит Google.

В отличие от Android, Android Things «оптимизирована для использования в одном приложении», говорит Google.
Системные приложения отсутствуют, и приложения запускаются автоматически при запуске, как встроенное приложение Linux.
Кроме того, в Android нет стандартного набора системных приложений и поставщиков контента, которые можно найти на мобильных устройствах, включая календарь, контакты, телефонию и другие сервисы для смартфонов.

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

Разрешения должны быть объявлены в манифесте приложения, и вы не можете запрашивать разрешения во время выполнения.
Android Things также ожидает, что есть одно приложение, которое отображает «домашнюю активность» в своем манифесте, чтобы сделать его загрузочным.

Android Things поддерживает подмножество API Google для Android, за исключением большинства API, которые требуют ввода данных пользователем или аутентификации.
Другими словами, доступны такие службы, как Cast, Drive, Fit, Instance ID, Location, Nearby, Places и Mobile Vision, а AdMob, Android Pay, Карты, Play Games, Search и Sign-In - нет.
Некоторые службы Firebase, такие как Analytics и Crash Reporting, поддерживаются, в то время как другие, такие как Аутентификация и Динамические ссылки, не поддерживаются.

Аппаратная поддержка: RPi 3, Edison и i.MX6UL COM

Как и Brillo, Android Things поддерживает модуль Intel Edison на базе Intel Atom.
Это включает в себя поддержку платы управления Edison Arduino и аксессуаров Sparkfun Block.

Android Things также добавляет поддержку Raspberry Pi 3.
Свидетельство о порте Brillo RPi впервые появилось еще в мае.
На странице Android Things RPi показан пример подключения WiFi на Raspberry Pi 3.

Наконец, есть платформа разработки NXP i.MX6UL [файл PDF] , представляющая собой переименованную версию сборки HobbitBoard, изготовленной TechNexion .
HobbitBoard в виде сэндвича состоит из компьютерного модуля TechNexion PICO-i.MX6UL 36 x 40 мм, подключенного к плате -носителю 100 x 45 мм с открытым исходным кодом.


Деталь несущей платы NXP с модулем PICO-i.MX6UL сверху

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

COM платформы разработки NXP является одним из первых в длинном списке плат для Linux и Brillo , которые построены на основе SoX iLMX6 UltraLite от NXP.
Мощный i.MX6UL работает на одном ядре Cortex-A7 с тактовой частотой 528 МГц.
Он ограничен урезанным интерфейсом дисплея WXGA, но предлагает функции безопасности, обнаружения несанкционированного доступа и управления питанием, которые отсутствовали в оригинальном i.MX6.


HobbitBoard перевозчик (сверху) и COM

PICO-i.MX6UL COM платформы разработки NXP включает встроенную оперативную память, флэш-память eMMC, WiFi, Bluetooth и PMIC NXP PF300.
К плате-носителю добавлены порты 10/100 Ethernet, хост USB 2.0 и порты micro-USB OTG Type-C, а также аудиокодек и выход, интерфейс беспроводной антенны, интерфейс камеры и консольное соединение UART.
На плате также имеется гнездо 5 В постоянного тока и два разъема MikroBus для добавления модулей ввода-вывода MikroElectronika и датчиков.

Google перечисляет две другие аппаратные платформы как «скоро». Модуль Intel Joule является продолжением Edison, который подходит к четырехъядерным процессорам Intel Atom T5700 или T5500 - 14-нм SoC Broxton, которые похожи на новые Apollo Lake Atoms. ,
Модуль поддерживает до 4 ГБ ОЗУ и 16 ГБ eMMC, а также BT / WiFi, 4K-видео, CSI / DSI, GPIO, USB и UART I / O.
Joule может быть дополнен несущей платой Tuchuck, а также различными несущими платами от Gumstix .


NXP ArgonBoard

с i.MX6UL COM

Также в ближайшее время появится NXP Argon i.MX6UL COM, поддерживаемый оператором.
Этот модуль, по-видимому, является ребрендом Argon i.MX 6UL SOM Board COM, который сейчас находится на предварительном заказе у ArgonBoards за 23 доллара.
Похоже, что перевозчиком является Argon i.MX 6UL Development Board , который находится на предзаказе за 36 долларов.

Было предложено несколько деталей NXP ArgonBoard, за исключением того, что модуль предлагает Wi-Fi, Bluetooth и PMIC и подключается к базовой плате через 3 60-контактных разъема Hirose.
Несущая плата обеспечивает такие интерфейсы, как Ethernet, USB-хост и OTG, UART, I2C и аудио.

Плетение обновлений и реинтеграция с версией Nest

Google объявил о планах улучшить свой протокол связи Weave , который был анонсирован вместе с Brillo , и поддерживает различные функции обнаружения, инициализации и аутентификации на устройствах IoT.
Связанный как с Brillo, так и с поддерживаемым Google потоком 802.15.4 и базирующимся на 6LoWPAN стандартом одноранговой ячеистой сети, Weave был объявлен обязательным компонентом Brillo.
Мы не видим такого требования к Android Things, хотя ожидается, что они будут тесно интегрированы.

Google станет проще для всех типов устройств подключаться к облаку и взаимодействовать с такими сервисами, как Google Assistant, - говорит Google.
В настоящее время Weave Device SDK поддерживает схемы для лампочек, интеллектуальных вилок и выключателей и термостатов.
В ближайшие месяцы Weave добавит поддержку дополнительных типов устройств, пользовательских схем / признаков и API мобильных приложений для Android и iOS.

Плетение уже запечено в светильниках Philips Hue и устройствах Samsung SmartThings IoT.
Google говорит, что другие в процессе внедрения Weave включают Belkin WeMo, LiFX, Honeywell, Wink, TP-Link и First Alert.


SmartThings Hub

Быт 2

Weave предоставляет облачную инфраструктуру для Brillo и других ОС на базе Linux, включая грядущие Android Things.
Weave также включает Device SDK для поддерживаемых микроконтроллеров, а также консоль управления.

Weave продвинулась несколько быстрее, чем Brillo, но этому помешал тот факт, что версия Nest развивалась не так, как версия Google.
Обещанная реинтеграция с версией Nest должна сделать долгий путь к тому, чтобы сделать Weave сильной альтернативой HomeKit от Apple.
Так что сделало бы его полностью открытым исходным кодом, хотя о таких планах не было объявлено.
Weave в некоторой степени конкурирует с более всеобъемлющими средами IoT с открытым исходным кодом, такими как IoTctivity и AllJoyn.
Open Connectivity Foundation (OCF) пытается добавить некоторую поддержку Weave в IoTctivity.

Дополнительная информация

Предварительная версия Android Things для разработчиков теперь доступна.
Дополнительную информацию можно найти в объявлении Google Things and Weave от Google и на сайте предварительного просмотра Android Things Developer .