你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:创建和部署店内分析应用程序模板

若要构建端到端解决方案,可以使用 IoT Central 店内分析结帐应用程序模板。 通过此模板,你可以利用各种传感器设备以数字方式连接和监视商店的环境。 这些设备会生成遥测数据,零售商可以将其转换为业务见解,以帮助降低运营成本,为其客户创造良好的体验。

在本教程中,你将了解如何执行以下操作:

  • 使用 Azure IoT Central“店内分析 - 结帐”模板来创建零售商店应用程序
  • 自定义应用程序设置
  • 创建和自定义 IoT 设备模板
  • 将设备连接到应用程序
  • 添加规则和操作来监视条件

如果没有 Azure 订阅,请在开始之前创建一个免费帐户

先决条件

若要完成本教程,需在本地计算机上安装 dmr-client 命令行工具:

dotnet tool install --global Microsoft.IoT.ModelsRepository.CommandLine --version 1.0.0-beta.9

应用程序体系结构

对于许多零售商来说,环境状况是使他们的商店与竞争对手的商店区别开来的关键途径。 最成功的零售商会尽一切努力在他们的商店内保持舒适的环境,让顾客感到舒适。

应用程序模板附带了一组设备模板,并使用一组模拟设备来填充该仪表板:

店内分析应用程序体系结构示意图。

如前面的应用程序体系结构图所示,可以使用应用程序模板来执行以下操作:

  • (1) 将各种 IoT 传感器连接到 IoT Central 应用程序实例。

    IoT 解决方案的基础是从零售商店环境内捕获有意义信号的一组传感器。 体系结构关系图最左侧的各个图标表示传感器。

  • (2) 监视并管理环境中的传感器网络和任何网关设备的运行状况。

    许多 IoT 传感器可将原始信号直接送到云或位于其附近的网关设备。 网关设备先在边缘聚合数据,然后将摘要见解发送到 IoT Central 应用程序。 网关设备还负责将命令和控制操作中继到传感器设备(如果适用)。

  • (3) 创建使用店内环境状况的自定义规则,以针对商店管理人员触发警报。

    Azure IoT Central 应用程序从各种 IoT 传感器和零售商店环境中的网关设备引入数据,然后生成一组有意义的见解。

    Azure IoT Central 还为商店运营商提供定制的体验,使他们能够远程监视和管理基础结构设备。

  • (4) 将店内的环境状况转换为见解,供零售店团队用来改进客户体验。

    可以在解决方案中配置 Azure IoT Central 应用程序,将原始或聚合的见解导出到一组 Azure 平台即服务 (PaaS) 服务。 PaaS 服务可以执行数据操作并扩充这些见解,然后再将其引入到业务应用程序中。

  • (5) 将聚合的见解导出到现有或新的业务应用程序,为零售员工提供有用及时的信息。

    IoT 数据可为零售环境中部署的各种业务应用程序提供支持。 零售店经理或员工可以使用这些应用程序将业务见解可视化,并实时采取有意义的行动。 通过从 Azure IoT Central 导出数据并在 Power BI 中直观显示教程,了解如何构建实时 Power BI 仪表板。

创建存储内分析应用程序

若要创建 IoT Central 应用程序,请执行以下操作:

  1. 导航到 Azure 门户中的“创建 IoT Central 应用程序”页。 如果出现系统提示,请使用 Azure 帐户登录。

  2. 输入以下信息:

    字段 说明
    订阅 你想要使用的 Azure 订阅。
    资源组 你想要使用的资源组。 可创建新的资源组或使用现有资源组。
    资源名称 有效的 Azure 资源名称。
    应用程序 URL 应用程序的 URL 子域。 IoT Central 应用程序的 URL 类似于 https://yoursubdomain.azureiotcentral.com
    模板 店内分析 - 结帐
    区域 要使用的 Azure 区域。
    定价计划 你想要使用的定价计划。
  3. 选择“查看 + 创建”。 然后选择“创建”。

当应用准备就绪后,可以从 Azure 门户导航到它:

显示 Azure 门户中的 IoT Central 应用程序资源的屏幕截图。已突出显示应用程序 URL。

若要了解详细信息,请参阅创建 Azure IoT Central 应用程序

演练应用程序

以下部分介绍应用程序的主要功能。

自定义应用程序设置

你可以更改多个设置来自定义应用程序中的用户体验。 使用自定义主题可以设置刊头中显示的应用程序浏览器颜色、浏览器图标和应用程序徽标。

若要创建自定义主题,请使用示例图像来自定义应用程序。 从 GitHub 下载四个 Contoso 示例映像

若要创建自定义主题,请执行以下操作:

  1. 在左窗格中,依次选择“自定义”“外观>”。

  2. 若要更改 masthead 徽标,请选择“更改”,然后选择要上传的 contoso_wht_mast.png 图像。 (可选)为“徽标替换文字”输入值。

  3. 若要更改浏览器图标,请选择“更改”,然后选择要显示在浏览器选项卡上的 contoso_favicon.png 图像。

  4. 可添加 HTML 十六进制颜色代码来替换默认“浏览器颜色”:

    • 对于“标题”,输入 #008575
    • 对于“个性色”,输入 #A1F3EA
  5. 选择“保存” 。 保存所做的更改后,应用程序将更新浏览器颜色、刊头中的徽标以及浏览器图标。

若要更新显示在 Azure IoT Central 我的应用站点的“我的应用”页上的应用程序磁贴上的应用程序图像:

  1. 选择“应用程序”>“管理”

  2. 选择“更改”,然后选择要作为应用程序图像上传的 contoso_main_lg.png 图像。

  3. 选择“保存”。

创建设备模板

使用设备模板可以配置和管理设备。 你可以构建自定义模板、导入现有模板文件,或从特别推荐的设备模板列表中导入模板。 创建并自定义设备模板后,使用该模板将实际设备连接到应用程序。

(可选)你可以使用设备模板生成用于测试的模拟设备。

“店内分析 - 结帐”应用程序模板包含多个预安装的设备模板。 RuuviTag 设备模板不包含在“店内分析 - 结帐”应用程序模板中 。

在本部分中,你将 RuuviTag 传感器的设备模板添加到应用程序。 为此,请执行以下操作:

  1. 若要从模型存储库下载 RuuviTag 设备模板的副本,请运行以下命令:

    dmr-client export --dtmi "dtmi:rigado:RuuviTag;2" --repo https://raw.githubusercontent.com/Azure/iot-plugandplay-models/main > ruuvitag.json
    
  2. 在左窗格中选择“设备模板”。

  3. 选择“+ 新建”以创建新的设备模板 。

  4. 选择“IoT 设备”磁贴,然后选择“下一步: 自定义”。

  5. 在“自定义”页上,输入“RuuviTag”作为设备模板名称。

  6. 在完成时选择“下一步: 查看”。

  7. 选择创建

  8. 选择“导入模型”磁贴。 然后浏览并导入你之前下载的 ruuvitag.json 文件。

  9. 在导入完成后,选择“发布”以发布设备模板。

  10. 在左窗格中选择“设备模板”。

    页面将显示应用程序模板中的所有设备模板以及刚刚添加的 RuuviTag 设备模板。

屏幕截图显示店内分析应用程序设备模板。

自定义设备模板

可以通过三种方式自定义应用程序中的设备模板:

  • 通过更改设备功能来自定义设备中的本机内置界面。

    例如,使用温度传感器,可以更改详细信息,例如显示名称和度量单位。

  • 通过添加云属性来自定义设备模板。

    云属性是 Azure IoT Central 应用程序创建、存储并与设备关联的自定义数据。 云属性的示例有:

    • 计算的值。
    • 元数据,例如要与一组设备关联的位置。
  • 通过构建自定义视图来自定义设备模板。

    视图为操作员提供一种可视化设备的遥测和元数据(如设备指标和运行状况)的方法。

在此部分中,你将使用前两种方法来自定义 RuuviTag 传感器的设备模板。

若要自定义 RuuviTag 设备模板的内置界面,请执行以下操作:

  1. 在左窗格中选择“设备模板”。

  2. 选择“RuuviTag”。

  3. 隐藏左窗格。 模板的摘要视图将显示设备功能。

    屏幕截图显示店内分析应用程序 RuuviTag 设备模板。

  4. 在 RuuviTag 设备模板菜单中选择“RuuviTag”模型。

  5. 在功能列表中,滚动查看 RelativeHumidity 遥测类型。 它是可编辑“显示名称”值为 RelativeHumidity 的行项。

在以下步骤中,你将为 RuuviTag 传感器自定义 RelativeHumidity 遥测类型。 (可选)可以自定义一些其他遥测类型。

对于 RelativeHumidity 遥测类型,进行以下更改:

  1. 将“显示名称”值从 RelativeHumidity 更新为自定义值,例如 Humidity。

  2. 将“语义类型”选项从“相对湿度”更改为“湿度”。

    (可选)在展开的架构视图中设置湿度遥测类型的架构值。 通过设置架构值,你可以为传感器跟踪的数据创建详细的验证要求。例如,可以为指定界面设置最小和最大工作范围值。

  3. 选择“保存”以保存更改。

若要将云属性添加到应用程序中的设备模板,请执行以下操作:

  1. 选择“添加功能”

  2. 对于“显示名称”,请输入“位置”

    此值是属性的友好名称,会自动复制到“名称”。 可以使用复制的值或对其进行更改。

  3. 对于“功能类型”,请选择“云属性”

  4. 选择“展开”。

  5. 在“架构”下拉列表中,选择“字符串”。

    使用此选项,可以根据模板将位置名称与任何设备相关联。 例如,可以将商店中的命名区域与每个设备相关联。

  6. 将“最小长度”设置为“2” 。

  7. 将“修整空白”设置为“打开” 。

  8. 选择“保存” 以保存自定义云属性。

  9. 选择发布

    发布设备模板使更新对应用程序操作员可见。 发布模板后,可以使用它来生成用于测试的模拟设备,或者将实际设备连接到应用程序。 如果已将设备连接到应用程序,则发布自定义模板会将更改推送到设备。

添加设备

创建和自定义设备模板后,便可以添加设备。 对于本教程,请使用以下一组实际和模拟设备来生成应用程序:

  • 一个 Rigado C500 网关
  • 两个 RuuviTag 传感器。
  • 一个占用传感器。 模拟传感器包含在应用程序模板中,因此不需要创建它。

若要将模拟的 Rigado Cascade 500 网关设备添加到应用程序,请执行以下操作:

  1. 在左窗格中,选择“设备”。

  2. 在可用设备模板列表中选择 C500,然后选择“新建”。

  3. 输入 C500 网关作为设备名称和网关-001 作为设备 ID。

  4. 确保 C500 是所选设备模板,然后将“模拟此设备”设置为“是”

  5. 选择创建。 应用程序现在包含模拟的 Rigado Cascade 500 网关设备。

若要将模拟的 RuuviTag 传感器设备添加到应用程序,请执行以下操作:

  1. 在左窗格中,选择“设备”。

  2. 在可用设备模板列表中选择 RuuviTag,然后选择“新建”。

  3. 输入 RuuviTag 001 作为设备名称和 ruuvitag-001 作为设备 ID。

  4. 请确保 RuuviTag 是所选设备模板,然后将“模拟此设备”设置为“是”

  5. 选择创建。 应用程序现在包含模拟的 RuuviTag 传感器设备。

重复上述步骤,将第二个模拟的 RuuviTag 传感器设备添加到应用程序。 输入 RuuviTag 002 作为设备名称,以及 ruuvitag-002 作为设备 ID。

若要将两个 RuuviTag 传感器和占用设备连接到网关设备,请执行以下操作:

  1. 在左窗格中,选择“设备”。

  2. 在设备列表中,选择“RuuviTag 001”“RuuviTag 002”和“占用”。 然后在命令栏中,选择“附加到网关”。

  3. 在“附加到网关”窗格中,选择“C500”作为设备模板, 选择“C500 - 网关”作为设备。 然后选择“附加”。

如果导航到 C500 - 网关设备并选择“下游设备”选项卡,现在会看到已附加到网关的三台设备。

添加规则和操作

使用 Azure IoT Central 应用程序中的传感器监视条件时,可以创建规则以在满足某些条件时运行操作。

规则与设备模板和一个或多个设备关联,并且包含必须根据设备遥测或事件满足的条件。 规则也有一个或多个关联的操作。 操作可能包括发送电子邮件通知,或触发 Webhook 操作以向其他服务发送数据。 “店内分析 - 结帐”应用程序模板包括应用程序中设备的一些预定义规则。

在本部分中,你将创建一个新规则,用于根据 RuuviTag 传感器遥测检查最大相对湿度级别。 可向该规则添加操作,以便在湿度超过最大值时,应用程序发送电子邮件通知。

若要创建规则,请执行以下操作:

  1. 在左窗格中,选择“规则”。

  2. 选择“新建”。

  3. 输入“湿度级别” 作为规则的名称。

  4. 对于“设备模板”,选择 RuuviTag 设备模板。

    你定义的规则将基于该模板应用于所有传感器。 或者,你可以创建一个筛选器来将规则仅应用于定义的一小部分传感器。

  5. 对于“遥测”,请选择“RelativeHumidity”。 这是在上一步中自定义的设备功能。

  6. 对于“运算符”,请选择“大于”。

  7. 对于“”,请输入环境的典型室内湿度上限(例如 65)。

    当任何 RuuviTag 传感器中的相对湿度超过该值时,系统会应用此条件。 可能需要根据环境中的正常湿度范围向上或向下调整值。

若要向规则添加操作,请执行以下操作:

  1. 选择“电子邮件”。

  2. 对于操作的友好“显示名称”,请输入“高湿度通知”。

  3. 在“收件人”中输入与您的帐户关联的电子邮件地址

    如果使用其他电子邮件,则所使用的地址必须是已添加到应用程序的用户的地址。 该用户还需要至少进行一次登录和注销。

  4. (可选)输入要包含在电子邮件文本中的注释。

  5. 选择“完成” ,完成操作。

  6. 选择“保存” 以保存并激活新规则。

    几分钟后,指定的电子邮件帐户应开始收到邮件。 每当传感器指示湿度级别超出条件中的值时,应用程序都会发送电子邮件。

清理资源

如果不打算完成更多 IoT Central 快速入门或教程,则可删除 IoT Central 应用程序:

  1. 在 IoT Central 应用程序中,导航到“应用程序”“管理”。
  2. 选择“删除”,然后确认操作。

下一步