连接设备的注意事项
您可以通过多种方式将设备网络连接到 Oracle IoT 应用程序实例。
确定设备如何连接到网络后,您需要将数据从设备发送到 Oracle IoT 。以下架构图显示了将设备连接到云服务的四个选项:

插图连接的说明 -options.png
您为连接设备而选择的策略取决于设备的功能以及您选择如何将数据从设备发送到 Oracle IoT 应用程序:
- 您的设备可编程:如果您的设备能够使用互联网协议 (IP) 进行通信,并且您可以修改设备的编程,或者向设备添加其他软件,则可以选择直接将数据从设备发送到 Oracle IoT 云实例。
- 您的设备不可编程:如果无法更改设备的编程,则可以将设备连接到用作网关的字段中的其他设备,并代理与 Oracle IoT 云应用程序的通信。您的设备使用设备的本机协议将数据发送到网关。该网关会将您的设备中的数据转发到 Oracle IoT Cloud Service。
- 无法在字段中添加网关设备:当环境不支持该字段中的网关时,可以将设备连接到在 Oracle Cloud 实例中运行的网关(例如 Oracle IoT 云网关)。您的设备可以使用任何互联网协议与网关进行通信。该网关会将您的设备中的数据转发到 Oracle IoT Cloud Service。
- 您的设备已连接到第三方(非 Oracle)云服务:使用第三方云服务从设备收集数据时,您可以将设备数据转发到网关。该网关会将您的设备中的数据转发到 Oracle IoT Cloud Service。
直接连接设备
您可以通过 REST 调用、消息排队遥测传输 (MQTT) 或通过网关的任何互联网协议 (IP) 将设备直接连接到 Oracle Fusion Cloud IoT 智能应用实例。您可以通过编程方式选择此方法,将数据发送到云实例上的特定端点。
使用 Oracle IoT 直接数据摄取连接设备
直接摄取提供了一种最有效地连接设备的方法,具有最少的通信带宽和最低的管理开销。直接数据摄取可用于 Oracle IoT Asset Monitoring Cloud Service 。
使用 Oracle 客户端库连接设备
使用 Oracle 客户端库创建设备应用程序,以直接与 Oracle Fusion Cloud IoT Intelligent Applications 实例通信。
如果您的设备是可编程的并且支持软件部署,您可以选择多种语言选项。Oracle Fusion Cloud IoT Intelligent Applications 提供了多个软件开发客户端库,可用于创建支持设备连接和功能的应用程序,包括:
- Java 标准版
- JavaScript
- C POSIX
- 嵌入
- Microsoft Windows
- Android
- Apple iOS
使用 Oracle 客户机软件库之一开发设备应用程序可使您的设备环境受益:
- 设备激活和身份管理:客户机软件处理设备的初始设备激活过程和身份管理。
- JSON 消息组合:Oracle IoT Cloud 使用 JSON 消息格式,其中包含元数据标头和键 - 值对有效负载。客户机软件仅使用键值映射作为输入来简化消息的构成。
- 存储和转发消息:客户机库执行自动存储和转发来处理间歇性网络连接问题。
- 设备命令的回叫处理程序:Oracle IoT 应用程序可以向设备发送命令以影响设备上的更改。客户机库处理消息的接收并将消息分发给相应的回调处理程序。
- 软件定义的边缘分析:用户可以在 Oracle IoT Cloud 中定义简单策略,以便在设备上执行边缘分析。这些策略会自动推送到设备并在边缘执行。策略的示例包括消息延迟更改、混淆、更改示例速率、数据聚合、简单统计表达式等。
间接连接设备
您可以通过使用代理与 Oracle Fusion Cloud IoT Intelligent Applications 实例进行通信来间接连接设备。当您的设备不可编程或已连接到其他非 Oracle 服务时,请选择此方法。
间接连接的设备利用其他服务或网关将数据从设备转发到 Oracle Fusion Cloud IoT Intelligent Applications 实例。间接连接的设备使用任何协议将数据发送到网关应用程序,网关应用程序会将设备原生协议转换为对 Oracle Fusion Cloud IoT 智能应用实例的 REST 调用。
使用网关连接设备
要代理从设备到 Oracle Fusion Cloud IoT Intelligent Applications 实例的通信,请实施网关。
网关是可以使用您选择的任何软件开发环境创建的客户端应用程序,并部署到独立计算机、专用硬件或云环境中。
Oracle IoT Cloud Gateway 是基于 Java 的软件开发工具包 (SDK),可用于构建网关客户端应用程序。使用 SDK 构建的网关客户端应用可以部署到任何支持 Java 的硬件和操作系统,以及基于 Linux 的微平台,包括 ARMv6 和 x86。
使用 SDK 创建和部署网关客户端应用具有与 Oracle 客户端库相同的优势。