嵌入模式
Windows IoT 核心版和 Windows IoT 企业版支持嵌入模式。 嵌入模式启用:
- 后台应用程序(了解详细信息)
- 使用 lowLevelDevice 功能
- 使用 systemManagement 功能
Window IoT 核心版上始终启用嵌入模式。 必须在 Windows IoT 企业版上按照以下步骤启用嵌入模式。
后台应用程序
后台应用程序使用 Visual Studio 中的后台应用程序 (IoT) 模板创建而成。 阅读有关创建后台应用程序的详细信息。
后台应用程序无需停止且没有资源限制即可运行。 此外,如果后台应用程序因某种原因停止并启用了嵌入模式,则系统会重启后台应用程序。
虽然系统将自动重启后台应用程序,但必须启用系统锁定功能,以防止用户停止或干扰后台应用程序的操作。
lowLevel 设备功能与 lowLevelDevice 功能
lowLevel 设备功能提供对低级硬件接口(例如 GPIO、SPI 和 I2C)的访问权限。
当满足一些额外的要求时,lowLevelDevices 功能允许应用访问自定义设备。 不能将此功能与 lowLevel 设备功能混淆,后者允许访问 GPIO、I2C、SPI 和 PWM 设备。
有关详细信息,请参阅应用功能声明。
systemManagment 功能
为应用程序启用 systemManagment 功能时,这是一组解锁的 API:
- Windows.System.ProcessLauncher
- Windows.System.TimeZoneSettings
- Windows.System.ShutdownManager
- Windows.Globalization.Language.TrySetInputMethodLanguageTag
调试后台应用程序
如果正在调试的设备运行的不是 Windows IoT 核心版,并且看到以下任一错误消息,你需要确保该设备上已启用 AllowEmbeddedMode 且“嵌入模式”服务处于运行状态:
- 端点映射程序中未提供更多端点。
- 此程序由组策略阻止。 有关详细信息,请与系统管理员联系。
更改模式
要启用嵌入模式,需要在映像和配置设计器 (ICD)(将 AllowEmbeddedMode 设置为 1)中创建预配程序包。 若要安装 ICD,你需要下载并安装适用于 Windows 10 的 Windows ADK。
安装 ADK 时,选择“映像和配置设计器 (ICD)”
安装完成后,运行 Windows 映像和配置设计器 (WICD)。
单击“高级预配”。 将项目命名为“AllowEmbeddedMode”,然后单击“下一步”。
选择“通用于所有 Windows 版本”,然后选择“下一步”。
单击“完成”。
在搜索框中键入“EmbeddedMode”,然后单击“AllowEmbeddedMode”。
在中心窗格中,将 AllowEmbeddedMode 的值设置为“是”
依次单击“导出”>“预配程序包”
单击“下一步”。
单击“下一步”。
单击“下一步”。
单击“生成”。
要在 Windows IoT 企业版上安装嵌入模式 .PPKG,请双击 .PPKG。
单击“是的,添加它”。 单击 LUA 对话框(如果出现)上的“是”,然后单击如下所示对话框上的“是的,添加它”。
将后台应用程序配置为自动运行
要将后台应用程序配置为自动运行,将需要按照说明创建 MinnowBoardMax SD 卡,并复制
D:\windows\system32\iotstartup.exe
(其中 D: 是 SD 卡)。要获取已安装的后台应用程序的列表,请键入:
C:\> iotstartup list BackgroundApplication1
输出应包含每个已安装的后台应用程序的全名,如下所示:
Headless : BackgroundApplication1-uwp_1.0.0.0_x86__cqewk5knvpvee
要将此应用配置为在启动类型下运行,请键入:
C:\> iotstartup add headless BackgroundApplication1
如果后台应用程序已成功添加到启动列表中,应会看到:
Added Headless: BackgroundApplication1-uwp_1.0.0.0_x86__cqewk5knvpveeplication1
重启嵌入模式设备:
重启设备后,后台应用程序将自动启动。 管理后台应用程序的嵌入模式服务可能需要几分钟时间才能启动。 嵌入模式服务将监视启动列表中的后台应用程序,并确保它们停止时重启。 如果后台应用程序在短时间内多次停止,则它将不再重启。
要从启动列表中删除后台应用程序,请键入:
C:\> iotstartup remove headless BackgroundApplication1
如果从启动列表中删除了后台应用程序,输出将如下所示:
Removed headless: BackgroundApplication1-uwp_1.0.0.0_x86__cqewk5knvpvee