Microsoft Azure
Облачный бизнес
Вам понадобится

Microsoft Azure

Попробуйте платформу Microsoft Azure совершенно бесплатно.

Visual Studio

Бесплатная версия Visual Studio, позволяющая создавать приложения для платформы Microsoft Azure.

SDKs и дополнительные
инструменты

Инструменты разработки приложений для платформы Microsoft Azure.

Windows 10 IoT — небольшой обзор новой редакции ОС для маленьких устройств

Дата публикации: 19.08.2015



Как мы уже писали, флагман нашего операционносистемостроения Windows 10, выходящий 29 июля, будет работать на достаточно компактных одноплатных системах, типа Raspberry Pi 2 или Intel Minnowboard MAX, которые могут стать основой домашних интеллектуальных систем, подключаемых к Интернету вещей. К ситуации, в которой мы можем написать приложение в Visual Studio и, собрав его под ARM либо x86, развернуть не только на десктопе, но и на плате, Microsoft шёл примерно с 2011 года (обязательно посмотрите про эту историю в очень интересном докладе Дона Бокса на WinHEC 2015), когда были предприняты первые шаги к объединению платформ. Теперь будет единая система, которая будет называться Windows 10, и иметь редакцию, по которой и будет определяться ее принадлежность. По редакциям окончательное понимание придёт позже, но уже сейчас известно, что их будет около 7. К устройствам прямое отношение имеют три:

  • IoT Industrial (Intel-only, похожа на Windows 10 Enterprise, с учётом подстройки под конкретный сценарий, например, банкомат или торговый автомат);
  • Mobile Enterprise (ARM, с поддержкой Universal Apps, оптимизированная под мобильные устройства и имеющая поддержку различных функций безопасности);
  • IoT Core (версия, оптимизированная под устройства с ограниченными ресурсами, с поддержкой Universal Apps, но в режиме Single, и royalty-free).


Пока Mobile Enterprise и Industrial находятся в недоступном нашем рукам режиме, расскажем про IoT Core. IoT Core – это версия, оптимизированная под устройства, у которых на борту есть достаточно ограниченные ресурсы. Минимальные системные требования для Core – 256 мегабайт ОЗУ и 2 гигабайта хранилища. Плюс архитектура x86/ARM. На июль 2015 года доступна в гарантированно-рабочем виде для двух плат – Raspberry Pi 2 (ARM) и Intel Minnowboard MAX (x86). Процесс установки практически идентичен, за исключением подготовительных действий, которые на Minnowboard заключаются в манипуляциях в UEFI.



Разрабатывать на Windows 10 IoT Core можно уже сейчас, при этом разработчику доступны все приложения платформы Windows, а разработка таких приложений ведется тем же, как и любых других приложений и инструментов из Visual Studio, с использованием технологий C#/XAML, HTML/JS и др, что означает возможность разработки универсального приложения, которое будет с равным успехом (конечно, учитывая наличие или отсутствие привязки к какой-то специфичной функциональности) работать на PC, телефонах, Xbox или платах.
Резюмируя по разработке:

  • IoT Core поддерживает Universal Platform API, включая Universal Drivers, и это является на данный момент основным методом разработки (C#/C++/JavaScript/HTML/XAML/DirectX). При этом поддерживаются консольные приложения (C/C++);
  • Тем не менее, писать Native Win32 можно, но никакого вывода увидеть не получится, кроме как разве что в удалённой сессии;
  • Windows desktop нет, командной строки нет. Зато есть Powershell Remoting и SSH;
  • IoT Core содержит расширения API:
    1. GPIO, I2C, SPI, ADC, PWM, UART, AllJoyn
    2. Управление системными настройками (язык и др.)
    3. API Set
  • Есть веб-сервер Node.js с используемым внутри Microsoft Chakra.


Однако необходимо учитывать отсутствие драйверов и поддержки для некоторых модулей (например, Wi-Fi), что блокирует часть сценариев. Но это всё будет – проект молодой, и разработчики всё сделают.

Что уже делают на Windows 10 IoT Core? Например, хабы для домашних устройств. При условии того, что правильным образом будет использована встроенная функциональность AllJoyn, можно управлять окружающими устройствами. То есть быть управляющей панелью, собирая данные с сенсоров и других устройств.
Таким образом, теперь у разработчиков есть выбор – можно продолжать использовать всё то, что уже разработано на OSS, и подключать при необходимости облако для обработки данных, либо взять знакомые инструменты (Visual Studio, .NET) и создать универсальное приложение. Или, как уже пробуют, запустить Cocos2D :)

Как начать использовать? (краткий совет)

Достаточно просто. Зайдите на официальный сайт, выберите страницу с вашим устройством и идите по инструкции. С момента запуска программы инструкция претерпела не одну редакцию, и теперь всевозможные проблемы и нюансы уже описаны. Единственный момент – количество оборудования, которое нужно для запуска и тестирования. Еще из опыта использования – не все мыши корректно определяются. Самым надёжным способом является использование проводной мыши.

Я рекомендую хотя бы попробовать — для меня опыт подключения в виде удалённого отладчика платы в Visual Studio был достаточно интересен. Конечно, есть всяческие инструменты (один из моих любимых, VisualMicro, в их числе), которые расширяют функциональность VS, однако всегда приятно, когда что-то нужное идёт сразу в комплекте. Мы ещё будем писать про Windows 10 IoT, и показывать то, что можно сделать с ней, как связать с облаком и прочее. Спасибо за внимание :)

 

Автор статьи: Александр Белоцерковский