1、 概述:
本文围绕阿里云物联网平台,实现设备上云、设备上报消息、云端订阅设备消息、云端下发指令到设备等服务,以野牛物联网YNK-MN316设备接入物联网平台为例,介绍设备如何接入物联网平台,向平台上报消息等。帮助您快速了解物联网平台的基础。
2、 准备工作:
注册阿里云物联网平台账号,平台分为企业实例和公共实例,企业实例是需要收费的,公共实例免费,我们本次演示的是公共实例,大家看自己需求选择。
从产品-物联网-物联网平台进入。
找到公共实例-点击立即试用,免费开通公共实例。
3、 设备上报数据到阿里云物联网平台:
- 创建产品与设备
在接入设备前,需在物联网平台控制台创建产品和对应设备,获取设备证书(ProductKey、DeviceName和DeviceSecret)。
左侧菜单栏选择设备管理-产品-创建产品,填写相应的信息,注意联网选择蜂窝网络,其他参数使用默认值,配置完成点击确定。
点击设备-添加设备,产品选择创建好的产品,点击确定。
此时我们可以看到创建的设备出现在设备列表中,但是状态是未激活,这是因为我们还尚未连接平台。
点击查看,在设备详情页面,点击DeviceSecret右侧查看,获取设备证书。设备证书包含ProductKey、DeviceName和DeviceSecret,是设备与物联网平台进行通信的重要身份认证,请复制后妥善保管。
- 为产品定义物模型
产品物模型,将实际产品抽象成由属性、服务、事件所组成的数据模型,便于物联网平台管理和数据交互。
点击设备管理-产品,找到相应产品,点击操作栏的查看。
在产品详情页,单击功能定义页签,然后点击编辑草稿。
点击添加标准功能。
选择你要的参数,我们这里选择了三个参数,分别是土壤温度、土壤湿度、光照度。确定,最后点击发布上线。
3 建立设备与平台的连接
- 配置MQTT连接参数
分别需要参数:域名、端口、客户端id、keepalive时间、用户名、密码、是否删除session、是否开启TLS加密。在设备详情页可以查看相关的信息。
AT+MQTTCFG="iot-06z00f8bo0pxsix.mqtt.iothub.aliyuncs.com",1883,"k0jupf7pPVt.MN316|securemode=2,signmethod=hmacsha256,timestamp=1704972397484|",60,"MN316&k0jupf7pPVt","fb43335eadd65562accca94286ceb0c714eaf14da0356311a97f692*********",1,0
ok //收到回复
- 连接服务器
AT+MQTTOPEN=1,1,0,0,0
OK // 收到回复,代表指令成功发出去了
+MQTTOPEN:OK // 收到回复,服务器连接成功,一定要收到该条回复才能进行下一步操作
此时平台设备状态显示在线
- 订阅消息
参数分别是:订阅的主题、订阅的消息质量等级。
AT+MQTTSUB="/sys/k0jupf7pPVt/MN316/thing/event/property/post_reply",1
OK // 收到回复
+MQTTSUBACK:1,1,/sys/k0jupf7pPVt/MN316/thing/event/property/post_reply // 收到回复
在设备所属产品详情页,可以看到该产品所有的topic
- 发布消息
参数分别是:订阅的主题、订阅的消息质量等级、服务器是否储存该消息并向新订阅者发送最新消息、重发标志、输入消息类型(0代表字符串类型)、消息内容(消息key值在产品详情可查看)。
AT+MQTTPUB="/sys/k0jupf7pPVt/MN316/thing/event/property/post",0,0,0,0,"{params:{SoilTemperature:51.8,SoilMoisture:37,LightLux:56.3}}"
OK // 收到回复
+MQTTPUBLISH:0,0,0,0,/sys/k0jupf7pPVt/MN316/thing/event/property/post_reply,107,{"code":200,"data":{},"id":"null","message":"success","method":"thing.event.property.post","version":"1.0"} // 收到回复
发布成功后再回到后台,在设备详情-物模型数据可以看到最新上报的数据。
- 主动断开连接
AT+MQTTDISC
OK // 收到回复
+MQTTDISC:OK // 收到回复
- 删除客户端
AT+MQTTDEL
OK // 收到回复 删除成功并释放资源,之后可以再次使用+MQTTCFG配置
4、 云端下发指令:
设备成功上报消息后,我们也可以尝试从云端下发指令到设备端。
左侧菜单栏点击监控运维 - 在线调试,选择相应的产品和设备,在属性调试页签,设置调试参数,下发指令。
设备端接收到属性已被成功设置
以下是设备连接平台发送AT指令的整个流程:
有问题可以加入QQ群或者淘宝店铺旺旺联系:
野牛物联网
QQ交流群:897268542
淘宝店铺(点击跳转链接)