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

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

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

三,下发命令

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

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

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

2,接下来直接就是修改代码了

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

我们可以看到在我们的产品Topic列表里有一条是用于设备属性设置的,我们就是用这个Topic下发命令到设备,设备订阅这个Topic对消息解析即可

代码的具体修改

根据api我们可以在demo里找到如下代码,结合上面说的,我们需要修改订阅topic为我们产品的

订阅了主题接下来就是对命令解析了

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

其中的MessageParams的内容就是云平台下发的数据,把转义符去一下也就是这样一条json数据,很明显我们需要的就PowerSwitch的值

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

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

根据api修改代码

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


  • 发表于 2018-11-20 21:06
  • 阅读 ( 5267 )
  • 分类:默认分类

0 条评论

请先 登录 后评论
不写代码的码农
国梁

24 篇文章

作家榜 »

  1. 技术销售Delectate 43 文章
  2. 陈夏 26 文章
  3. 国梁 24 文章
  4. miuser 21 文章
  5. 晨旭 20 文章
  6. 朱天华 19 文章
  7. 金艺 19 文章
  8. 杨奉武 18 文章