Руководство по производству IoT Core

Примечание

Для предыдущей версии см. руководство по производству IoT Core для версии 5.x.

Думаете о массовом производстве устройств под управлением Windows 10 IoT Базовая? Используйте надстройки Windows ADK IoT Core для создания образов , которые можно быстро вспыхнуть на новых устройствах.

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

  • Разработчики, поставщики оборудования и изготовители (OEM), которые пробуют новые проекты устройств.
  • Любители и организации, создающие устройства, предназначенные для работы в сетевых или управляемых сетевых средах.

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

Вы можете добавлять настройки, включая приложения, параметры, конфигурации оборудования и пакеты поддержки платы (BSP).

Для образов в стиле OEM вы заключите настройки в файлы пакетов (.cab). Пакеты позволяют изготовителям оборудования, ODM, разработчикам и Корпорации Майкрософт работать вместе, чтобы обеспечить безопасность и обновления компонентов на ваши устройства, не пытаясь работать друг с другом.

Устройство IoT Базовая со службой определения местоположения Windows 10 сообщает вашим приложениям и службам, где вы находитесь или где вы были.

Начиная с выпуска Windows 10 IoTCore RS5 за ноябрь 2019 г. "11 B" (версия ОС 17763.865) службы расположения для IoT Core будут настроены как "выкл." по умолчанию. Если вы изготовитель оборудования и хотите включить службы определения местоположения, выполните следующие действия. Это относится только к IoT Core.

В разделе HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionCapabilityAccessManagerCapabilitieslocationeditionреестра задайте следующие значения:

  • name=InitSystemGlobalConsentDenied value="0" valueType=REG_DWORD
  • name=InitUserGlobalConsentDenied value="0" valueType=REG_DWORD

Разработчики комплектов должны обратиться к лаборатории 1c: добавление файлов и параметров реестра в образ для получения инструкций по созданию пользовательского образа с этими параметрами реестра.

Сценарии

Основные понятия

Чтобы четко понять процесс создания и развертывания образов Windows IoT Core, сначала необходимо определить несколько понятий и терминологии.

Процесс создания образа Windows IoT Базовая включает в себя ряд шагов, перечисленных ниже.

  1. Проверьте все настройки, включаемые в образ, чтобы убедиться, что они работают правильно. К ним относятся приложения, параметры, драйверы или пакеты поддержки плат (BSP).
  2. Установите тестовые сертификаты на компьютере и упакуйте настройки в файлы .CAB.
  3. Создайте образ тестового Windows 10 IoT Базовая, который включает настройки, а также пакет IoT Core и все обновления от производителя оборудования.
  4. Переведите изображение на устройство и проверьте, работает ли оно. Вы можете использовать средства тестирования, встроенные в тестовый образ, для устранения любых проблем, которые могут возникнуть.
  5. Убедившись, что все работает правильно, получите действительный розничный сертификат и подпишите настройки с помощью сертификата розничной торговли. Затем необходимо повторно упаковать настройку в новые .CAB файлы.
  6. Создайте образ розничной торговли с подписанными файлами .CAB и перенесите изображение на свои устройства.

Процесс создания образа iot Core

Терминология

Пакеты

Пакеты (.cab файлы) являются логическими стандартными блоками IoT Core. Они содержат все файлы, библиотеки, параметры реестра, исполняемые файлы и данные на устройстве. От драйверов устройств до системных файлов каждый компонент должен содержаться в пакете. Эта модульная архитектура позволяет точно управлять обновлениями: пакет является наименьшей доступной для обслуживания единицей на устройстве.

Каждый пакет содержит:

  • Содержимое пакета, например подписанный двоичный файл драйвера или подписанный двоичный файл appx.
  • Файл определения пакета (wm.xml) указывает содержимое пакета и место их размещения в конечном изображении. Различные примеры файлов пакетов см. в каталоге %SRC_DIR%\Packages\ из комплекта надстроек Windows ADK IoT Core . В качестве примера рассмотрим Appx.IoTCoreDefaultApp.wm.xml.
  • Подпись. Пакет можно подписать с помощью тестового или розничного сертификата.

Средство pkggen объединяет эти элементы в подписанные пакеты. Наши примеры включают скрипты , createpkgи createprovpkg, которые вызывают pkggen для создания пакетов для наших драйверов, приложений и параметров.

Манифесты функций (FM)

После того как вы разместите все в пакеты, вы будете использовать манифест функций (FM-файлы), чтобы указать, какие из пакетов относятся к окончательному образу.

Вы можете использовать любое количество виртуальных машин в образе. В этом руководстве мы ссылаемся на следующие виртуальные машины:

  • OEMFM.xml включает функции, которые изготовитель оборудования может добавить на устройство, например приложение и пакет подготовки.
  • BSPFM.xml включает функции, которые производитель оборудования может использовать для определения платы. Например, OEM_RPi2FM.xml включает все функции, используемые для Raspberry Pi 2.

Вы перечислите, какие из функций следует добавить с помощью следующих тегов:

  • <BasePackages>: пакеты, которые всегда включаются в образы, например в базовое приложение.
  • <Компоненты>\<OEM>: другие отдельные пакеты, которые могут быть характерными для конкретного продукта.

Средство слияния компонентов создает необходимые пакеты идентификаторов компонентов, необходимые для обслуживания устройства. Запустите это средство всякий раз, когда в FM-файлы вносятся какие-либо изменения. После изменения файлов OEM FM или OEM COMMON FM выполните команду buildfm oem. После изменения файла BSPFM выполните команду buildfm bsp <bspname>. Эти команды выполняются из оболочки IoT Core.

Пакеты поддержки платы (BSP)

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

Файлы изображений полного мгновенного обновления

Файлы полного флэш-обновления (FFU) — это файлы изображений, которые можно развернуть (например, "мигает") на определенное аппаратное устройство. При переносе файла FFU на устройство все необходимое программное обеспечение устанавливается на этом устройстве одновременно. Файл образа FFU объединяет загрузчики, операционную систему Windows, драйверы, образы периферийных устройств и любые другие необходимые файлы в один пакет.

Приложения переднего плана и фоновые приложения

Существует два типа приложений, которые могут выполняться в Windows IoT Базовая.

  • Приложения переднего плана — эти приложения имеют пользовательский интерфейс. Только одно приложение может быть запущено на устройстве Интернета вещей в качестве приложений переднего плана. Если в образ включено несколько приложений переднего плана, при загрузке в качестве автоматического запуска следует задать только одно приложение.
  • Фоновые приложения— эти приложения не имеют пользовательского интерфейса. Несколько приложений могут выполняться на устройстве Интернета вещей в качестве фоновых приложений. Вы можете настроить любое количество фоновых приложений для автоматического запуска.

Дополнительные сведения см. в разделе Приложения переднего плана или фоновые приложения.

Создание образа: ImgGen и файл конфигурации образа (OEMInput.xml)

Чтобы создать окончательный образ, используйте imggen средство с файлом конфигурации образа ,OEMInput.xml файл.

В файле конфигурации образа перечислены следующие списки:

  • Манифесты компонентов (FM) и пакеты, которые требуется установить из каждого из них.

  • Идентификатор микросхемы SoC , который используется для настройки секций устройств. Поддерживаемые значения для soc определяются в соответствующем bspfm.xml в разделе <devicelayoutpackages>.

  • Идентификатор устройства , который используется для выбора макета устройства. Поддерживаемые значения для устройства определяются в соответствующем bspfm.xml в разделе <oemdeviceplatformpackages>.

  • Тип выпуска ( рабочая илитестовая).

    Сборки для розничной торговли. Мы рекомендуем создавать образы розничной торговли на ранних этапах процесса разработки, чтобы убедиться, что все будет работать, когда вы будете готовы к отправке.

    Эти сборки содержат все включенные функции безопасности.

    Чтобы использовать этот тип сборки, весь код должен быть подписан с помощью розничных (не тестовых) сертификатов подписывания кода.

    Пример см. в разделе %SRC_DIR%\Products\SampleA\RetailOEMInput.xml.

    Тестовые сборки. Используйте их, чтобы опробовать новые версии приложений и драйверов, созданные вами и вашими партнерами по производителю оборудования.

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

    Эти сборки также включают средства разработчика, такие как отладочный транспорт, SSH и PowerShell, которые можно использовать для устранения неполадок.

    Пример см. в разделе %SRC_DIR%\Products\SampleA\TestOEMInput.xml.

Область Сборки для розничной торговли Тестовые сборки
Тип выпуска образа ReleaseType: Production ReleaseType: Test
Тип выпуска пакета Поддерживаются только пакеты производственного типа Поддерживаются как рабочий тип, так и тип теста.
Пакеты, подписанные тестом Не поддерживается Необходимо включить поддерживаемую
функцию IOT_ENABLE_TESTSIGNING.
проверка целостности кода Поддерживается. По умолчанию это включено. Поддерживается. По умолчанию политика не применяется.

Хорошо, давайте попробуем

Начните с этой статьи: Получите средства, необходимые для настройки Windows IoT Базовая.