物联网平台提供设备上云、设备上报消息、云端订阅设备消息、云端下发指令到设备等服务,本文以路灯设备接入物联网平台为例,介绍设备如何接入物联网平台,及如何从物联网平台控制设备开关,帮助您快速了解物联网平台的基础能力。
准备工作
开始接入设备前,您需要做如下准备:
- 开通物联网平台服务。
- 准备C语言开发环境。本文中设备端开发是在Linux下,使用阿里云提供的C语言SDK进行开发。
- 准备Java开发环境。本文中服务端下发指令,使用物联网平台的在线调试功能;服务端接收设备消息,使用Java语言的AMQP SDK。
本文使用Java开发如下:
- 操作系统:Windows 10 64位
- JDK版本:JDK8
- 集成开发环境:IntelliJ IDEA社区版
消息通信流程
上图中序号对应以下操作步骤:
- 设备上报数据到阿里云物联网平台。
- 创建产品与设备:在物联网平台上为设备注册一个身份,获取设备证书信息(ProductKey、DeviceName和DeviceSecret)。该证书信息将烧录到设备上,用于设备连接物联网平台时,进行身份认证。
- 为产品定义物模型:可以从属性、服务和事件三个维度定义产品功能。物联网平台根据您定义的功能构建出产品的数据模型,用于云端与设备端进行指定数据通信。
- 建立设备与平台的连接:开发设备端SDK,传入设备的证书信息,将设备连接到物联网平台,使设备激活。
- 服务端订阅设备消息:服务端通过订阅消息类型,接收设备相关消息,如设备上下线通知、设备生命周期变更、设备上报消息等。
- 云端下发指令:使用物联网平台的在线调试功能,从控制台下发指令到设备端。