您的设备和服务器接入阿里云物联网平台,通过物联网平台进行通信。

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

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

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

      自定义Topic类的两种方式:

    2. 开发设备端时,配置设备将消息发送到自定义Topic中。

      需在设备端上,配置发送消息的自定义Topic和消息格式。使用阿里云提供的Link SDK配置示例,请参见设备发送消息给服务器

  • 使用物模型功能相关Topic,发送标准化的物模型数据。

    物模型功能说明,请参见什么是物模型

    设备可主动上报属性和事件。

    实现过程:

    1. 参见单个添加物模型,根据您的设备业务情况,在物联网平台控制台定义物模型。
    2. 开发设备端时,根据已定义的物模型,配置设备上报属性和事件数据。

      设备上报属性和事件的标准数据格式,请参见设备上报属性设备事件上报

      说明 物联网平台已定义了物模型功能相关的Topic,直接使用即可。

      使用阿里云提供的Link SDK开发示例,请参见设备端SDK上报属性和事件

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

可设置物联网平台,通过以下方式将设备上报消息、设备状态变化通知、设备生命周期变更、物模型历史数据上报、固件升级状态通知、网关发现子设备上报、设备拓扑关系变更等消息流转到您的服务器。

Data to Server
  • 服务端订阅:使用物联网平台的服务端订阅功能,订阅一个或多个消息类型。物联网平台根据您设置的订阅,将产品下所有设备的该类型消息流转至您的服务器。支持以下两种方式的服务端订阅:
    • 参见AMQP服务端订阅及相关文档,设置使用AMQP SDK接收物联网平台流转的设备消息。
    • 参见MNS服务端订阅,设置使用MNS SDK接收物联网平台流转到MNS队列的设备消息。
  • 云产品流转:使用规则引擎的云产品流转功能,通过数据流转规则将指定设备数据流转到消息服务(MNS)的主题或消息队列(RocketMQ)的队列中。服务器通过MNS或RocketMQ SDK接收消息。
    1. 参见设置数据流转规则,创建规则,将指定设备的数据流转到MNS主题或RocketMQ队列中。
    2. 参见MNS SDK主题使用手册RocketMQ使用手册中订阅消息部分,配置MNS SDK或RocketMQ SDK接收消息。

    使用规则引擎流转数据的示例,请参见设备消息通过RocketMQ流转到服务器

云产品流转和服务端订阅的区别,请参见数据流转方案对比

服务器远程控制设备

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

Control Devices
  • 使用自定义Topic远程控制设备。
    • 异步控制:调用Pub接口向设备操作权限为订阅的自定义Topic发送自定义格式的消息。设备通过订阅该Topic获取消息。
      说明 不可以使用Pub接口发送物模型相关指令。

      使用自定义Topic远程控制设备实践案例,请参见服务器发送消息给设备

    • 同步控制:调用RRpc接口向指定设备发送消息,并同步返回响应结果。

      MQTT同步通信相关说明,请参见什么是RRPC

      调用RRpc接口同步控制设备实践案例,请参见远程控制树莓派服务器

    • 批量控制:调用PubBroadcast接口向产品下的全量在线设备发布广播消息,实现批量控制设备。

      批量控制设备的详细说明,请参见广播通信

  • 使用物模型远程控制设备。

    您可以在云端通过发送物模型数据的特有接口,发布设置属性值和调用服务指令。

    • 控制单个设备。
      • 调用SetDeviceProperty向单个设备发送设置属性值的指令。

        云端下发属性设置命令和设备收到并执行该命令是异步的。设备是否成功设置属性值,以设备上报属性为准。

      • 调用InvokeThingService向单个设备发送调用服务的指令。

        服务是同步调用还是异步调用,取决于您自定义服务时选择的调用方式。

        如果该服务的调用方式是同步,调用InvokeThingService后,会同步返回结果。

        如果是异步,则InvokeThingService不会同步返回结果。设备响应结果,可以通过规则引擎获取设备的响应消息。需设置规则SQL的数据来源Topic为物模型数据上报,具体Topic为thing/downlink/reply/message。数据流转规则设置详情,请参见设置数据流转规则

    • 批量控制设备。

    使用物模型远程控制设备的实践案例,请参见物模型通信

设备与设备之间通信

将两端设备接入物联网平台,设备间的连接和通信请求都由物联网平台承担。您可以通过以下两种方式实现设备与设备间通信:

设备数据使用场景示例

通过大数据平台搭建设备监控大屏

物联网平台对接第三方服务-天气查询

温湿度计上报数据到钉钉群机器人

使用IoT Studio搭建监控大屏

设备消息通过RocketMQ流转到服务器

服务端订阅(MNS)