01 前言
本文章原文发表于我的微信公众号,请大家关注阅读,涉及的源代码等都在公众号,扫描以下二维码即可关注。
也可点击链接访问:NodeRed与涂鸦生态的完美结合:如何让本地设备接入涂鸦云(二)
02 概述
有人说涂鸦生态接入不可能永久免费,总是要收费的,其实对我来说涂鸦平台是可有可无的,羊毛能薅就薅点,天底下哪里有免费的午餐;玩智能家居本来就在于享受折腾的过程,他要收费便宜我会考虑用,贵就不用,又不是非他不可的。
03 在涂鸦平台添加开关
这一章的内容就主要讲解涂鸦下发数据的处理,主要针对有控制需求的设备,例如开关、窗帘、阀门等等。
如果没有看到过“涂鸦平台注册和设置”教程的朋友请点击链接查看上一篇文章。这里我们在选择“功能定义”中添加“标准功能中添加一个测试开关,请记住标识符:relay_switch_1,另外可以看到数据传输类型为“可下发可上报”,即通过下发数据控制本地设备,数据类型为布尔值,即服务器可接受的数据类型为true或false。
当完成以上步骤后,不用其他操作就可以在涂鸦APP中看到添加的开关设备了,当然如果是新建的产品则需要按照上一篇中的方法操作并添加到涂鸦中。
04 NodeRed中上报数据
上报开关数据的方法和传感器是一致的,区别是需要发送数据类型必须是布尔型。我们只需要稍微更改一下传感器的流程即可。例如把数据更换为布尔值来模拟开或关,把数据处理函数节点中data值更改为表示符relay_switch_1即可。示例如下:
完成以上操作后,触发流程中true或false就可以在APP中看到开关状态的变化,至此开关状态上报就已经完成。
05 解析涂鸦下发数据
上面已经设置完成开关状态上报,接下来就需要对涂鸦客户端的命令进行处理,从而达到控制本地开关的目的。
首先用MQTT in节点订阅涂鸦主题,格式为:tylink/26bcaefee02146a34dbdbc/thing/property/set,其中26bcaefee02146a34dbdbc是我的DeviceID,把它替换成你的ID即可,然后用Debug节点输出状态消息,在APP上操作相应的开关就可以看到相应的信息。
然后我们直接用一条简单的NodeRed读取解析出下发的指令:
通过以上步骤就完成了涂鸦云的下发命令解析操作。