设备、物联网平台和服务器如何通信
当您的设备和服务器接入阿里云物联网平台后,可以通过物联网平台实现设备与服务器之间、设备与设备之间的通信。 本文介绍了设备与物联网平台和服务器之间的通信方法。
背景资料
设备使用消息主题来发送和接收消息。 消息通信主题的定义、使用和分类请参见。
设备上报的原始数据格式需要您在设备端完成开发。 阿里云物联网平台提供的设备端Link SDK可以使设备快速连接物联网平台并进行通信。
例如云服务器链接方式,使用C语言的Link SDK完成设备端通信能力的开发,参见、、。
设备端Link SDK还支持Java、Python、Node.js、Android、iOS语言或平台的开发。 更多功能请参考。
设备原始Topic消息流传输至服务器,并由物联网平台的规则引擎进行数据格式转换。 有关通信主题、消息类型和数据格式的描述,请参见 。
设备向物联网平台发送数据
设备连接到物联网平台后,即可与物联网平台进行通信。 设备可以通过以下方式向物联网平台发送数据:
开发设备端时云服务器链接方式,配置设备向自定义Topic发送消息。
发送消息的自定义主题和消息格式需要在设备侧配置。 使用阿里云提供的Link SDK配置示例,请参见。
使用与对象模型功能相关的主题发送标准化对象模型数据。
有关对象模型功能的描述,请参见 。
设备可以主动报告属性和事件。 实施过程:
:根据您的设备业务情况,在物联网平台控制台定义事物模型。
设备开发:根据定义的对象模型,配置设备上报属性和事件数据。
设备上报的属性和事件的标准数据格式请参见 和 。
物联网平台已经定义了与对象模型功能相关的主题,可以直接使用。 使用阿里云提供的Link SDK进行开发示例,请参见 。
物联网平台将数据传输至服务器
物联网平台提供规则引擎功能,可以报告来自设备的消息、设备状态变化的通知、设备生命周期变化的通知、对象模型历史数据的报告、OTA升级状态的通知、网关发现子系统的报告设备,并通过以下方式更改设备拓扑关系流到您的服务器。 消息基于Topic传输数据。 Topic中的数据格式请参考。
云产品传输:利用规则引擎的云产品传输功能慈云数据自营海外云服务器,高稳定高性价比,支持弹性配置,将指定设备的数据流传输到消息服务(MNS)、云数据库RDS、表存储、函数计算、时序数据库TSDB、云原生多模式数据库通过数据传输规则Lindorm、DataHub、消息队列RocketMQ等云产品。 详细信息请参见 和 。
有关使用规则引擎流动数据的示例,请参阅 。
云产品转移和服务器订阅的区别请参考。
服务器远程控制设备
在服务器上使用物联网平台提供的云端SDK,调用云端API向设备发送指令,实现对设备的远程控制。 服务器可以通过以下方式向设备发送指令。
使用对象模型远程控制设备。
您可以通过云端发送对象模型数据的独特接口来发布和设置属性值以及调用服务指令。
批量控制设备。
使用对象模型远程控制设备的实际案例请参考。
设备到设备通信
将两端的设备连接到物联网平台,设备之间的连接和通信请求全部由物联网平台承担。 您可以通过以下两种方式实现设备与设备的通信:
设备数据使用场景示例