Андрей Смирнов
Время чтения: ~10 мин.
Просмотров: 0

Не IoT, а малина! Строим IoT-проект на Raspberry Pi с Windows 10 и DeviceHive

29 июля 2015 года завершилась эпоха Windows Embedded — отдельного семейства операционных систем, используемых в программно-технических комплексах. На смену ей пришла Windows 10 IoT — встраиваемая операционная система, предназначенная для управления промышленными и домашними интеллектуальными системами, то есть всего того, что принято обозначать модной фразой «интернет вещей».

Предполагается выпустить несколько редакций этой ОС, вроде бы их должно быть семь, но пока что наиболее известными являются три — IoT Industrial, Mobile Enterprise и IoT Core.

Первая редакция, IoT Industrial, имеет много общего с Windows 10 Enterprise, отличаясь от последней оптимизацией под конкретный тип устройств и операций. Редакция Mobile Enterprise с архитектурой ARM и поддержкой универсальных приложений предназначается, как видно из названия, для мобильных устройств. Самая любопытная редакция, IoT Core, служит для управления устройствами с ограниченными ресурсами вроде Raspberry Pi 2 и Intel Minnowboard MAX. Системные требования Windows 10 IoT Core более чем скромны — для работы системе хватит всего 256 Мб ОЗУ и 2 Гб физического пространства.

Windows 10 IoT Core поддерживает универсальные и написанные на C и C++ консольные приложения, протокол SSH, управление базовыми системными настройками, есть PowerShell Remoting, веб-сервер Node.js, но ни рабочего стола в привычном понимании, ни меню Пуск, давно ставшего визитной карточной операционных систем Windows в ней нет. Интерфейс Windows 10 IoT Core практически не имеет ничего общего с интерфейсом десктопных и серверных систем, это скорее панель управления с подключенными к ней устройствами.

Да, всё это интересно, но можно ли скачать и установить это чудо на обычный компьютер? В принципе можно, сборка для платы MinnowBoard Max поддерживает архитектуру x86, но какая от всего этого будет практическая выгода? IoT Core не предназначается для установки на десктопные ПК, если же вы просто хотите получить о ней общее представление, можно поставить ее на бесплатный гипервизор VirtualBox. Предположим, VirtualBox у вас уже есть, теперь нужно скачать образ Windows 10 IoT Core с официального сайта Microsoft или поискать его в сети.

Скачанный ISO-образ не является загрузочным, на самом деле это запакованный MSI-инсталлятор. Извлеките его из образа и установите как обычную программу.

5419340_1.jpg

Затем проследуйте в папку C:Program FilesMicrosoft IoTFFUMinnowBoardMax.

5419340_2.jpg

В ней вы найдите файл flash.ffu, представляющий собой образ прошивки. Теперь его нужно преобразовать в поддерживаемый VirtualBox файл виртуального диска VHD. Скачайте со странички forum.xda-developers.com/showthread.php?t=2066903 архив с утилитой ImgMount распакуйте его, запустите от имени администратора командную строку и выполните такого вида команды:

5419340_3.jpg

Первая команда перемещает в расположение образа flash.ffu, вторая запускает процедуру его преобразования и монтирования утилитой ImgMount.exe, которая в отличие от показанного здесь пути, может располагаться в любой папке, равно как и сам файл образа flash.ffu.

Если в процессе выполнения второй команды вы получите ошибку «Не удается продолжить выполнение кода, поскольку система не обнаружила MSVCP110.dll», скачайте с сайта Microsoft и установите пакеты Visual Studio 2012-1015.

В результате на компьютере будет создан и замонтирован виртуальный диск VHD. Откройте оснастку управления дисками, кликните по диску ПКМ и выберите в меню «Отсоединить виртуальный жесткий диск».

5419340_4.jpg

Скопируйте в открывшемся окошке путь к VHD-контейнеру.

5419340_5.jpg

Нажмите «OK», перейдите в его расположение и переместите файл в удобную вам папку.

5419340_6.jpg

Почти всё готово, осталось только создать виртуальную машину.

Запускаем VirtualBox, даем машине имя, выделяем немного оперативки (хватит и 512 Мб), в блоке «Жесткий диск» выбираем «Использовать существующий виртуальный жесткий диск» и указываем путь к файлу VHD.

5419340_7.jpg

После этого заходим в настройки созданной виртуальной машины, на вкладке «Система» обязательно ставим галочку «Включить EFI (только специальные ОС)».

5419340_8.jpg

Если вы собираетесь подключить Windows 10 IoT Core к интернету, дополнительно на вкладке «Сеть» попробуйте заменить тип подключения «NAT» на «Виртуальный адаптер хоста».

5419340_9.jpg

Убедитесь, что используется контролер SATA.

Теперь можно запускать машину.

Если всё было сделано правильно, вскоре вы увидите приветственное окно Windows 10 IoT Core.

5419340_10.jpg

Что дальше?

Можете ознакомиться с руководством по использованию системы на платах Raspberry Pi 2 и Intel Minnowboard MAX.

Больше, собственно, здесь делать нечего, если только вы не программист и знаете, как реализовать доступ к функциям системы, вроде бы с помощью Visual Studio в ней можно разворачивать приложения UWP.

Windows 10 IoT Core:

www.microsoft.com/en-us/download/details.aspx?id=48233&ampWT.mc_id=rss_alldownloads_all

Windows 10 IoT Core – особая операционная система Microsoft, оптимизированная для мини-компьютеров с ограниченным набором системных ресурсов, разрабатываемая в рамках концепции IoT (Internet of Things, «Интернет Вещей»). Предназначена для различных миниатюрных, встраиваемых решений и устройств «умного дома». В частности, минимальные требования для Core — архитектура x86/ARM , 256 Мб ОЗУ и 2 Гб емкости на диске/флешке. На данный момент гарантированно работает на платах Raspberry Pi 2 (ARM), Intel Minnowboard MAX (x86) и DragonBoard 410c. Windows 10 IoT Core является бесплатной платформой.

В этой статье мы рассмотрим, как установить Windows 10 IoT Core для Raspberry Pi 2 на SD карту, загрузить с нее систему и удаленной управлять платформой с Windows-компьютера при помощи PowerShell.

Нам понадобятся:

  • Собственно плата Raspberry Pi 2 (стоимость 25$)
  • MicroSD карта емкостью 8 или 16 Гб (класса 10 или выше)
  • HDMI-кабель для подключения к внешнему монитору / ТВ
  • Ethernet кабель для подключения к сети
  • МикроUSB кабель в качестве питающего кабеля (5V)
  • Компьютер с Windows 10 (для создания загрузочной SD карты обязательно должен быть физическим устройством, а не виртуальной машиной, т.к. требуется прямой доступ к SD карте)
  • Образ Windows 10 IoT Core для Raspberry Pi 2 (можно скачать по ссылке на странице https://developer.microsoft.com/en-us/windows/iot/downloads
  • USB клавиатуру/ USB мышь для управления Raspberry Pi (опционально)

Качаем образ Windows 10 IoT Core для Raspberry Pi 2 (10586.0.151029-1700.TH2_Release_IOTCoreRPi_armFRE.iso) и монтируем его в виртуальный CD привод. Устанавливаем Windows_10_IoT_Core_RPi2.msi.

Запись образа Windows 10 IoT Core на SD карту можно выполнить с помощью графической утилиты или из командной строки.

Для запуска графической утилиты запустите программу IoTCoreImageHelper.exe. Затем в окне мастера выберите вашу SD карту и укажите путь к файлу с образом системы flash.ffu (по умолчанию устанавливается в ”C:Program Files (x86)Microsoft IoTFFURaspberryPi2”) и запишите образ на SD диск, нажав на кнопку Flash.

windows-iot-core-image-helper.jpgЧтобы вручную записать образ, для удобства скопируем файл flash.ffu в каталог C:WindowsIoT. Затем вставим SD карту в компьютер и с помощью PowerShell выведем список дисков в системе:

Get-Disk | ft -AutoSize

Определяем номер диска нашей SD карты (в данном примере ее номер 1). Переходим в каталог, в котором хранится файл flash.ffu:

Cd C:WindowsIoT

С помощью следующей команды скопируем образ Windows 10 IoT на SD карту (PhysicalDrive1 нужно заменить на номер SD карты в вашей системе):

dism.exe /Apply-Image /ImageFile:flash.ffu /ApplyDrive:\.PhysicalDrive1 /SkipPlatformCheck

write-window10-iot-core-on-sd-cart-with-dism.jpgБезопасно извлеките SD карту.

Подключаем к плате Raspberry Pi 2 сетевой кабель, монитор через HDMI, записанную на предыдущем этапе SD карту с образом системы, USB кабель и загружаемся. Первая загрузка будет продолжительной, т.к. будет выполнение начальная настройка системы, после чего система перезагрузиться в нормальном режиме.

На дисплее должны отобразиться имя системы (по-умолчанию minwinpc), полученный IP адрес (если в сети имеется DHCP сервер), список подключенных устройств.

Windows-10-IoT-Screen.jpgУстройства Windows 10 IoT подразумевает возможность управления через веб интерфейс. Утилита WindowsIoTCoreWatcher.exe позволяет найти в сети ip адреса устройств с Windows 10 IoT. Затем в браузере перейдите на порт 8080 обнаруженного ip адреса устройства. Для авторизации воспользуйтесь именем administrator и паролем p@ssw0rd.

win10-iot-Raspberry-Pi-2-web-managment.jpg

Нам более интересна возможность подключения к устройству под Windows 10 IoT Core с помощью Powershell: Для этого запустим PowerShell с правами администратора.

Активируем WinRM:

net start WinRM

Затем добавим адрес Pi-устройства в список доверенных:

Set-Item WSMan:localhostClientTrustedHosts -Value "192.168.1.115"

Запустим новую удаленную сессию PowerShell:

Enter-PsSession -ComputerName "192.168.1.115" -Credential 192.168.1.115Administrator

connect-win10-iot-core-via-powershell.jpgАвторизуемся с помощью дефолтного пароля p@ssw0rd.

Совет. Авторизационные данные можно сохранить в переменной, чтобы не вводить их каждый раз вручную:

$Cred = Get-CredentialEnter-PsSession -ComputerName 192.168.1.115 -Credential $Cred

Новая сессия устанавливается в речении примерно 30 секунд. После этого в консоль можно вводить команды управления.

Рассмотрим некоторые типовые команды.

Вывести список запущенных процессов:

Get-Process

Получить настройки сетевых адаптеров:

Get-NetAdapter

Вывод списка каталогов:

Gci

Переименовать компьютер:

set computername "newcomputername"

Изменить пароль администратора:

net user Administrator NewPa$$W0rd

Выключить устройство можно командой shutdown:

shutdown /s /t 0

Перезагрузить устройство:

shutdown /r /t 0

Завершить сессию PoSh:

Exit-PSSession

Более подробный список доступных команд консоли приведен на странице Windows 10 IoT Core Command Line Utils https://docs.microsoft.com/en-us/windows/iot-core/manage-your-device/commandlineutils.

1003.2018Рубрика:Всё о Raspberry PIDizajn-bez-nazvaniya.png

В нашей стране больше половины пользователей ПК на операционной системе Microsoft. Как раз для таких людей разработана система и для Raspberry PI. Таким образом разработчики позволяют делать различные устройства для интернет вещей (IoT) на операционной системе Windows. Самая последняя версия для Raspberry Pi 3 Windows 10. Вот её и будем устанавливать.

Приветствую всех, уважаемые читатели. В этой статье мы попробуем с вами установить новую ОС для «Малины». Мне самому очень интересно в чём заключается суть установки полностью закрытой оси на маленький одноплатный компьютер.

Установка и настройка Windows IoT

Установка и загрузка немного отличается от установки Raspbian на MicroSD c помощью NOOBS.

Нужно скачать и установить специальную утилиту Dashboard IoT. Скачать дистрибутив можно на официальном сайте по Raspberry.

Screenshot_raspberry.png

Есть всего две версии Core и Insider Preview. Различий между ними совсем немного, Core стабильно работает. Insider Preview чуть поновее, но бывает виснет.

В оболочке Core можно установить только одно приложение UWP. Точнее запускать можно и несколько, но активный в один момент времени всегда будет одно.

А тем временем я скачал утилиту.

Dashboard.png

Подготавливаем нашу карту памяти и загружаем ОС. Естественно система предложит автоматически почистить диск.

Screenshot_1-1.png

Dashboard имеет особенность форматировать флешку на несколько томов на 64 Гб. Вот такая вот хитрая утилита. Не знаю зачем. Скорее всего для того, чтобы влез дистрибутив IoT, и избежать различных проблем.

Теперь можно пробовать запускать операционную систему.

Для чего нужна Windows IoT и что можно запускать?

Честно, эту статью я писал для души и по приколу. Я банально хотел установить данную операционную систему и посмотреть, что она из себя представляет. Я не буду загружать всякими научными терминами.

Для управления этой платой существует несколько вариантов, так же, как и на UNIX’e.

1. Управление напрямую, тупо подключаем мышку, клавиатуру и монитор. Как и простой персональный компьютер.

2. Управление через штатную утилиту. Можно управлять Windows IoT через штатное средство Windows PowerShell. Легче всего подключиться к удаленной системе все через тот же Dashboard.

3.Управление через SSH. Так же как и в Linux SSH, подключаемся с ПК к терминалу Raspberry.

Я не вижу особого смысла и пользы от операционной системы Windows. У Microsoft не очень удобная политика — их система полностью закрытая. Некий чёрный ящик, в который так просто не залезешь. Поэтому для интернета вещей не доступная система.

Microsoft делает ставку исключительно на программы UWP. Их основная идея, чтобы все программы и устройства вливались в экосистему Windows.

Эксперимент по скрещиванию продукции Microsoft и крошечного компьютера Raspberry можно считать успешным. Связка работает, обновления ставятся, в сети видно. Вот только совсем непонятно для чего его использовать? Может кто знает? Для чего Ось нужна? Подскажите в комментариях. В интернете, на самом деле очень мало информации.

В принципе для простейших операций, автоматизации умного дома и различных бытовых устройств такая супер система не нужна. С этими задачами отлично справляется Arduino и ESP8266. ESP8266 уже сама по себе самодостаточная плата. Её так же можно запрограммировать.

Впрочем, наверняка найдутся задачи, в которых Windows IoT вкупе с платами типа Raspberry придутся как нельзя кстати, но произойдет сие скорее всего в корпоративном секторе, например, некоторые банкоматы, наконец-то перейдут с уже устаревшей OS/2 на современную платформу.

Вообще я читал много мнений и статей по поводу Малины. Лично для меня эта плата просто находка. Она выполняет все робототехнические задачи — машинное зрение, машинное обучение, голосовые команды.

Это идеальная вещь для разработки искуственного интеллекта.

С уважением, Гридин Семен

Используемые источники:

  • https://www.white-windows.ru/windows-10-iot-core-i-ee-ustanovka-na-virtualbox/
  • https://winitpro.ru/index.php/2016/02/09/ustanovka-windows-10-iot-core-na-raspberry-pi-2/
  • http://kip-world.ru/stavim-windows-iot-na-raspberry-pi.html

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации
Тимофей Белов
Консультант сайта
Здравствуйте. Если у вас остались вопросы, вы можете можете задать их мне.