2.1 app下发命令
完成下发命令,控制电机,led,彩灯,并可以通过手动控制后,在app观察到,状态更改
1.拖出来一份,然后更改名字

2.然后把文件夹拖到Hubuilder打开
3.上次我们已经能获取到数据,这次就是下发数据
4.下发数据, 也是需要云平台, 所以也是需要向云平台发送请求
5.在methods()里面再建立一个方法, 所以复制一下刚才写的读取数据的函数,进行修改

6.这里记得加逗号

7.然后对函数名进行修改,
改成onLedSwitch()

8.这里的接口地址需要看文档

9.打开Onenet官网->文档->onenet物联网开放平台->平台api->接口详情->
物模型使用->设置设备属性->右侧的接口地址

10.请求的参数有三个,

11.把接口地址, 放在这里

12.method更改为POST

13.参数多一个parms, 然后标识符加数据
14.这个状态, 要绑定到开关上面,就可以根据开关的状态,控制led灯的亮灭,
token不变,下面的变量删掉


15.在函数里面定义一个参数, 用来接收led的状态,

16.将这个方法绑定到开关组件(这里的意思是, 在这个switch变动的时候, 这个组件就会调用一下这个函数onLedSwitch,并传入组件信息—这个函数传入的参数event,就是这个组件的所有信息, 方便进行联动)
注意这里绑定的时候,记得加@ 符号,不然绑定不了

17.每当开关的状态改变, 就会通过event这个参数,将开关的状态传递进来,我们可以打印一下这个参数

18.然后运行到内置浏览器,就可以获取到数据了
19.把定时获取数据关了,先注释

20.然后我们开关,就会打印event,我们来观察结构, 方便提取

21,开关按钮后, 观察控制台

22.点开后,发现detail , 就是app中开关的状态,我们就要提取这个值,detail里面的value ,
23.保存,然后观察控制台,就可以看到app里面的按钮状态,
我们把这个值保存到变量里面,然后把这个值作为下发的命令

24.把提取到的app里面的按钮值value, 送给param里面的led

25.如果开关开的话, 这个value值就是true,关就是false
我们设备端,就根据这个值来控制led灯的亮灭
26.如果发送成功,就打印一下发送的信息

27.把板子接上,下载个程序,进行测试