• 欢迎大家分享资料!前往留言板评论即可!

air202luat二次开发设备接入阿里云(三)

合宙 模组资料网 7个月前 (05-15) 91次浏览 已收录 0个评论 扫描二维码

记录设备接入阿里云的过程

三,下发命令

上一篇写了上传数据,今天继续分享如何从云平台下发命令控制终端设备

1,添加功能,要实现新的事件第一件事还是在阿里云添加功能

还是添加一个自定义功能,就是个开关功能选布尔型就可以

air202luat二次开发设备接入阿里云(三)2,接下来直接就是修改代码了

设备是如何获取我们下发的命令的呢?阿里云使用的是mqtt协议,所以我们就用到了mqtt协议的一个很重要的功能–主题订阅。在阿里云里就是Topic订阅。

air202luat二次开发设备接入阿里云(三)我们可以看到在我们的产品Topic列表里有一条是用于设备属性设置的,我们就是用这个Topic下发命令到设备,设备订阅这个Topic对消息解析即可

代码的具体修改

air202luat二次开发设备接入阿里云(三)根据api我们可以在demo里找到如下代码,结合上面说的,我们需要修改订阅topic为我们产品的

air202luat二次开发设备接入阿里云(三)订阅了主题接下来就是对命令解析了

问题来了,阿里云到底给我们的设备发送了什么呢?第一种方法是去翻阿里的产品文档,另一种是更直观的方法直接在产品里选择调试功能,然后云平台模拟命令下发(也就是阿里云的属性设置)

air202luat二次开发设备接入阿里云(三)其中的MessageParams的内容就是云平台下发的数据,把转义符去一下也就是这样一条json数据,很明显我们需要的就PowerSwitch的值

MessageParams:{
"method":"thing.service.property.set",
"id":"189921488",
"params":{"PowerSwitch":0},
"version":"1.0.0"
}"

怎么把这个值取出来呢,既然是json数据那肯定还是json数据操作

air202luat二次开发设备接入阿里云(三)根据api修改代码

air202luat二次开发设备接入阿里云(三)然后烧录代码,去阿里云调试设备下发开关指令,可以看到我们成功的控制了一盏灯的开关

air202luat二次开发设备接入阿里云(三)

<

p style=””>


喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址