对阿里云生活物联网平台"本地倒计时功能开发实践"的补充

42 篇文章 21 订阅

之所以写这篇博文,实在是因为阿里云的帮助文档写得让人难以理解,一如既往地正确而无用,对需要帮助的人帮助甚少。基本上就是懂的人不用看,不懂的人看不懂。

先给出官方文档的链接:

  1. 最新版
    本地倒计时功能开发实践_最佳实践_生活物联网平台-阿里云
  2. 旧版(旧版信息多一些,但是举的例子信息还是很模糊)
    本地倒计时功能开发实践 · 开发指南

官方文档举例:

CountDownList: {
Target: "PowerSwitch"(string,当次设置操作指定的布尔值的identifier),
Contents: "PowerSwitch-1-1-123-1535644800000,LightSwitch-0-1-456-1535644800000"(string, 该设备的所有倒计时任务字符串,具体格式说明见下方)
XXX1:0(bool,该产品已有的布尔类型标准属性),
XXX2:0(bool,该产品已有的布尔类型标准属性)
}

然后是说明:

CountDownList是可选的标准属性,其中Target和Contents为CountDownList的必选属性二者都是string类型(最大长度为2048字节)。
XXX1XXX2为当前产品已有的标准布尔属性,可以由开发者随意增删,默认值为0。
说明 功能定义里如果含有CountDownList,则CountDownList里除了Target和Contents外,还需要含有其他的布尔属性,否则运行会报错。

场景举例说明
1.点击倒计时按钮
2.检查tsl,发现CountDownList里还有额外的XXX1,XXX2属性
3.倒计时列表弹层展示XXX1、XXX2的中文名称列表
4.选择其中一个属性,例如PowerSwitch,展示设置时间和动作界面,设定好时间(1000s)和动作(打开)
5.设置Target: “PowerSwitch”, 设置Contents: “PowerSwitch-1-1-1000-1535644800000”,下发给云端
6.设备端收到CountDown后,解析Contents和Target内容,设置实际的定时任务
7.此时又设置了第二个属性XXX2,Contents为:“PowerSwitch-1-1-1000-1535644800000,XXX2-0-1-2000-1535644800000”,Target:“XXX2”
8.1000s到了之后,第一个PowerSwitch倒计时任务结束,设备端删除Contents里PowerSwitch这一条任务,同时设置Target为PowerSwitch,将整个CountDownList属性上报到云端,插件侧查询CountDown属性,发现Contents里没有Target指定的布尔属性,代表PowerSwitch倒计时任务已执行,进而提示PowerSwitch倒计时任务执行完毕
注意:整个插件和设备端上报云端的过程中,CountDownList里的XXX1和XXX2等布尔属性可以设置为任意符合布尔属性的值

你看懂了吗?我反正没看懂。XXX1XXX2是什么鬼?
群里朋友给了旧文档链接我才看懂了一些,然后尝试了半天,终于搞明白了。
首先,我启用了产品PowerSwitchOscillatingSwitch这两个属性的本地倒计时功能。

  1. 首先设置PowerSwitch定时器,收到信息如下:
{"CountDownList":
	{
	 "Target":"PowerSwitch",
	 "Contents":"PowerSwitch-0-1-300-1582091699849",
	 "PowerSwitch":0,
	 "OscillatingSwitch":0
	}
}
  1. 然后我再设置OscillatingSwitch定时器,收到信息如下:
 {"CountDownList":
    {
      "Target":"OscillatingSwitch",
      "Contents":"PowerSwitch-0-1-300-1582091699849,
      OscillatingSwitch-1-1-300-1582091711139",
      "PowerSwitch":0,
      "OscillatingSwitch":0
    }
}

可以看到第二次的Contents多了一段内容用逗号隔开的OscillatingSwitch-1-1-300-1582091711139
所以索性贴个图,大家就清楚了。
在这里插入图片描述

 【课程特色】从需求分析到硬件设计再到软件开发全部都是在设计本课程时候真实同步进行的。比如元器件的选型、原理图的设计、PCB的下单生产,用我自购买的贴片机进行样板贴片的操作过程,代码部分框架如何搭建,驱动怎么编写,NB-iot如何一步步连接到阿里云云端,我把在公司开发物联网产品经验常碰到的问题点都融入到了这套课程当中整个课程力求让同学们能通过一个NB-IOT项目掌握同一类的物联网项目的开发,即便你以后使用其他型号NB-IOT模组或者实现其他功能同样知道该如何把一个大的项目划分成小的功能最后实现出来针对核心的内容我们会先给大家讲实现的思路,配套画出流程图,最后再对照流程图实现代码,而不至于面对一个复杂的项目迷失在代码的海洋里找不到方向把STM32使用、Freertos的应用、阿里云物联网平台的应用的知识都贯穿在整个项目进行中在课程中产生的每一个文档,每一张流程图,以及原理图PCB等设计的源文件全部开放给学员 【建议学习计划】1、建议一到两天学习一节,整个项目学习周期大概在两个月时间 2、除了看视频一定要动手实践,这样才能有最大的收获 3、在代码环节可以先模仿我们写,之后可以再尝试自己写,直到能把它理解透彻 4、遇到疑问点要学会首先使用搜索引擎,搜索引擎找不到答案的问题及时向我提问,我会给你解答【课程内容大纲】【提供完善的文档资料】 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值