设备、物联网平台、业务服务器的互相通信方式

您所在的位置:网站首页 短信平台对接方式 设备、物联网平台、业务服务器的互相通信方式

设备、物联网平台、业务服务器的互相通信方式

2024-04-15 13:32| 来源: 网络整理| 查看: 265

背景信息

设备通过消息Topic实现消息的发送和接收,消息通信Topic的定义、使用和分类说明,请参见什么是Topic。

设备上报的原始数据格式,需您在设备端完成开发。阿里云物联网平台提供的设备端Link SDK,可实现设备快速接入物联网平台并进行通信。

例如使用C语言的Link SDK,完成设备端通信能力开发,请参见MQTT接入示例、自定义Topic通信示例和物模型Topic通信示例。

设备端Link SDK还支持Java、Python、Node.js、Android、iOS语言或平台的开发,更多功能,请参见功能特性。

设备原始Topic消息流转到服务器,会经过物联网平台规则引擎转化数据格式。通信Topic、消息类型及数据格式说明,请参见数据格式。

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

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

使用自定义Topic发送自定义格式的数据。

在物联网平台上,为产品自定义操作权限发布的Topic类。产品的Topic类会自动映射到产品下的设备中。

自定义Topic类的两种方式:

使用自定义Topic通信:在物联网平台控制台上自定义Topic类。

CreateProductTopic:使用云端SDK调用云端API ,自定义Topic类。

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

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

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

物模型功能说明,请参见什么是物模型。使用示例,请参见使用IoT Studio搭建监控大屏。

设备可主动上报属性和事件。实现过程:

单个添加物模型:根据您的设备业务情况,在物联网平台控制台定义物模型。

开发设备端:根据已定义的物模型,配置设备上报属性和事件数据。

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

物联网平台已定义物模型功能相关的Topic,直接使用即可。使用阿里云提供的Link SDK开发示例,请参见设备端SDK上报属性和事件。

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

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

Data to Server

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

使用AMQP SDK接收物联网平台流转的设备消息,请参见AMQP服务端订阅及相关文档。

使用MNS SDK接收物联网平台流转到MNS队列的设备消息,请参见MNS服务端订阅。使用示例,请参见服务端订阅(MNS)。

云产品流转:使用规则引擎的云产品流转功能,通过数据流转规则将指定设备数据流转到消息服务(MNS)、云数据库RDS、表格存储、函数计算、时间序列数据库TSDB、云原生多模数据库Lindorm、DataHub、消息队列RocketMQ等云产品中。具体操作,请参见云产品流转(旧版)和云产品流转(新版)。

使用规则引擎流转数据的示例,请参见

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

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

推送设备上报数据到钉钉群

通过RocketMQ客户端消费设备消息

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

服务器远程控制设备

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

Control Devices

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

异步控制:调用Pub接口向设备操作权限为订阅的自定义Topic发送自定义格式的消息。设备通过订阅该Topic获取消息。

说明

不可以使用Pub接口发送物模型相关指令。

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

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

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

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

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

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

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

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

控制单个设备。

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

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

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

服务是同步调用还是异步调用,取决于您定义物模型服务时选择的调用方式。具体内容,请参见自定义物模型服务。

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

如果该服务的调用方式是异步,则InvokeThingService不会同步返回结果。设备响应结果,可以通过规则引擎获取设备的响应消息。此时需设置设备数据来源Topic为物模型数据上报,具体Topic为thing/downlink/reply/message。设置数据源Topic,请参见设置数据流转规则或添加待流转的数据源。

批量控制设备。

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

调用InvokeThingsService向多个设备发送调用服务的指令。

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

设备与设备之间通信

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

基于消息转发的M2M设备间通信

基于Topic消息路由的M2M设备间通信



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3