阿里云基础平台解析脚本使用JS语言,语法说明少之又少。
基本原理,通过protocolToRawData下行通道将json转为16进制给予设备端解析;rawDataToProtocol上行通道将16进制转为json格式给予客户端解析。
下行通道有set、get、service方法,get属性是获取设备上报存至飞燕服务器上的属性,通过service获取的才是设备实时的属性。上行有set方法的reply、service的reply、report主动上报的方法。
js脚本通过识别这些method,再识别data所代表的含义返回给客户端。
高级平台通过自定义多个topic在服务器做消息路由,不同topic有不同作用,例:上报事件和上报属性极有可能是两条通道,为了保证事件的及时性和可靠性,事件类型单独开辟一个topic。
在自动生成脚本时,标准功能大部分能用,在选择透传/自定义时需要自己写,生成的有毛病。
生成脚本后,需要模拟数据输入,总是返回null通不过,哈哈。
模拟上报时:待写
模拟下发时: {"method":"thing.service.property.set","id":"12345","version":"1.0","params":{"powerswitch":1}}
保证powerswitch这个属性在你的设备已经实现并且有返回既可调通。
服务是无法自动生成脚本的,客户端调用返回result is error!