使用自定义 IoT 提供程序
Dynamics 365 Field Service IoT 提供程序功能允许通过 IoT 提供程序功能与任何 IoT 供应商的 IoT(物联网)设备无缝集成。 它将来自不同供应商的 IoT 警报整合在一个统一列表中,无论其来源哪来。 当用户与 IoT 设备交互时,Field Service 会识别设备的提供商,并将命令路由到相应的 IoT 系统。
在 Field Service 中,现成部署体验与 Azure IoT 中心集成。 开发人员、合作伙伴和独立软件供应商 (ISV) 可以在此框架上构建自定义 IoT 解决方案,甚至可以在 Microsoft AppSource 市场中发布。
本文介绍了 IoT 提供商数据模型,并概述了您可以使用的连接方法。
先决条件
- 开发连接到 Dynamics 365 和 Microsoft Dataverse 的模型驱动应用的体验
- C#、.NET 和 Visual Studio 的编程体验
- 熟悉 REST/OData API
Field Service 数据模型
将外部 IoT 服务与 Field Service 集成的所有方法都必须符合 Field Service IoT 提供程序数据模型,该模型由三个相关表(IoT 提供程序、IoT 提供程序实例和 IoT 设备)和一个 IoT 设置表组成。
IoT 提供程序表
IoT Provider
表确定了您的组织的 IoT 提供程序及其支持的操作。
IoT 提供程序实例表
表和 IoT Provider
表之间存在 IoT Provider Instance
一对多 (1:many) 关系。 例如,如果您的组织连接到两个不同的 Azure IoT 中心,您将有一个 Azure IoT 中心的 IoT 提供程序记录和两个 IoT 提供程序实例记录,每个 IoT 中心一个。 您可以在 Field Service 中的设置>IoT>提供程序中查看 IoT 提供程序实例列表。
- 提供程序实例 ID 标识源 IoT 系统中的实例。
- URL 可以是在您的提供程序代码或用户体验中使用的 URL;例如,API 终结点或部署的 Azure 资源组的链接。
IoT 设备表
IoT Provider Instance
表和 IoT Device
表之间存在一对多关系,这会将每个设备映射到 IoT 提供程序实例。
- Account (帐户 ) 标识 Field Service 中与设备关联的客户帐户。
- 类别是设备类别。
- 时区是设备所位于的时区。
- 设备 ID 用于向 IoT 提供程序注册设备。
- 模拟用于开发和测试。
连接方法和开发工具
自定义 IoT 解决方案的连接方法既有优势也有风险。 下表进行了介绍。
方法 | 优点 | 风险 |
---|---|---|
Dataverse API | - 允许 Connected Field Service 和外部服务之间直接通信。 - 构建软件应用程序的可靠协议。 |
- 外部服务必须能够与 API 集成。 - 需要对 Connected Field Service API 功能有深入的了解。 |
Webhooks | 在 Connected Field service 中执行特定操作时,向外部服务发送实时更新。 | 外部服务需要能够接收和处理 webhook 消息。 |
连接符 | 提供无缝集成体验,充当 Connected Field Service 和外部服务之间的桥梁。 | 需要更强大的技术知识和开发资源。 |
自定义代码 | 高度定制的有效集成。 | 需要高水平的技术专长;它可能比其他方法涉及更多风险。 |
为 Connected Field Service 构建自定义解决方案的常用开发工具:
Microsoft Power Apps 是一个低代码开发平台,允许制作者和专业开发人员快速轻松地创建自定义业务应用程序。
Microsoft Azure Functions 是一项服务,让开发人员可以在没有专用服务器的情况下按需运行代码。
Microsoft .NET Framework 是一个在 Windows 上构建和运行应用程序的软件开发框架。
Microsoft Visual Studio 是一个热门的集成开发环境,支持多种编程语言和框架,包括 .NET、JavaScript 和 Python。
JavaScript 是一种广泛使用的编程语言,通常与其他工具和框架(如 Node.js 和 React)一起使用。
REST API 为应用程序提供了通过 Web 相互通信的标准化方式。 Connected Field Service 提供了很多 REST API,可用于与外部服务集成,以及构建自定义解决方案。