物联网平台通信方式概述

更新时间:2024-09-14 06:34:20下载pdf

您的设备和服务器接入涂鸦物联网平台后,可通过物联网平台实现设备与服务器、设备与设备间的通信。本文介绍设备、物联网平台、服务器间通信的方法。

背景信息

设备通过消息Topic实现消息的发送和接收,消息通信Topic的定义、使用和分类说明。
设备上报的原始数据格式,需您在设备端完成开发。
设备原始Topic消息流转到服务器,会经过物联网平台规则引擎转化数据格式。

设备发送数据到物联网平台

设备接入物联网平台后,便可与物联网平台进行通信。设备可通过以下方式发送数据到物联网平台:

  • 使用自定义Topic发送自定义格式的数据。
    a、在物联网平台上,为产品自定义操作权限为发布的Topic类。产品的Topic类会自动映射到产品下的设备中。
    自定义Topic类的两种方式:

    • 使用自定义Topic通信:在物联网平台控制台上自定义Topic类。
    • 使用云端SDK调用云端API:CreateProductTopic,自定义Topic类。

    b、开发设备端时,配置设备将消息发送到自定义Topic中。
    需在设备端配置发送消息的自定义Topic和消息格式。

  • 使用物模型功能相关Topic,发送标准化的物模型数据。
    设备可主动上报属性和事件。实现过程:
    a、单个添加物模型:根据您的设备业务情况,在物联网平台控制台定义物模型。
    b、开发设备端:根据已定义的物模型,配置设备上报属性和事件数据。
    设备上报属性和事件的标准数据格式。
    物联网平台已定义物模型功能相关的Topic,直接使用即可。

物联网平台流转数据到服务器

物联网平台提供规则引擎功能,可通过以下方式将设备上报消息、设备状态变化通知、设备生命周期变更、物模型历史数据上报、OTA升级状态通知、网关发现子设备上报、设备拓扑关系变更等消息流转到您的服务器。
物联网平台通信方式概述

服务端订阅:使用物联网平台的服务端订阅功能,订阅一个或多个消息类型。物联网平台根据您设置的订阅,将产品下所有设备的该类型消息流转至您的服务器。支持以下两种方式的服务端订阅:
a、使用AMQP SDK接收物联网平台流转的设备消息。
b、使用KAFKA SDK接收物联网平台流转的设备消息。

服务器远程控制设备

在服务器上使用物联网平台提供的云端SDK,调用云端API发送指令到设备,实现远程控制设备。服务器可通过以下方式发送指令到设备。

  • 使用自定义Topic远程控制设备。

    • 异步控制:调用Pub接口向设备操作权限为订阅的自定义Topic发送自定义格式的消息。设备通过订阅该Topic获取消息。
    • 同步控制:调用RRpc接口向指定设备发送消息,并同步返回响应结果。
  • 使用物模型远程控制设备。
    您可以在云端通过发送物模型数据的特有接口,发布设置属性值和调用服务指令。

    • 控制单个设备。

      • 调用SetDeviceProperty向单个设备发送设置属性值的指令。
        云端下发属性设置命令和设备收到并执行该命令是异步的。设备是否成功设置属性值,以设备上报属性为准。
      • 调用InvokeThingService向单个设备发送调用服务的指令。
        服务是同步调用还是异步调用,取决于您定义物模型服务时选择的调用方式。
        如果该服务的调用方式是同步,调用InvokeThingService后,会同步返回结果。
        如果该服务的调用方式是异步,则InvokeThingService不会同步返回结果。设备响应结果,可以通过规则引擎获取设备的响应消息。此时需设置设备数据来源Topic为物模型数据上报,具体Topic为thing/downlink/reply/message。
    • 批量控制设备。

      • 调用SetDevicesProperty向多个设备发送设置属性值的指令。
      • 调用InvokeThingsService向多个设备发送调用服务的指令。