目录
* 一. 产品和设备创建
<https://blog.csdn.net/weixin_44101331/article/details/87981052#__1>
* 二. 进入iot studio界面
<https://blog.csdn.net/weixin_44101331/article/details/87981052#_iot_studio_7>
* 三. 数据解析过程
<https://blog.csdn.net/weixin_44101331/article/details/87981052#__23>
* 四. 重回app开发界面
<https://blog.csdn.net/weixin_44101331/article/details/87981052#_app_66>
<>一. 产品和设备创建
1,登陆物联网平台
2,创建高级版的产品
在数据格式的选择有两种,我选择的是透传,设备接受和发送数据很简单,但是需要在产品下进行数据解析。
3,在产品下创建一个设备
<>二. 进入iot studio界面
1,点击移动可视化开发
2,发挥想象随意创作布局,发现动不了什么组件
3,在首页添加跳转页,如图
4,进入控制设备开关页面,开始创作布局
5,布局完成,配置数据。如图是开关的配置
6,选择完成后如图
不出意外,你们的界面大致如下
但是如果最初选择的数据格式不是透传,应该验证通过了。
7,接下来开始进行数据解析
<>三. 数据解析过程
1,在iot studio中打开如下产品界面
2,开始编写脚本
这里有阿里提供的技术文档 <https://help.aliyun.com/document_detail/68702.html>
,可以对照的看细节。而我,只讲怎么处理自己的参数,懂js语言的就不说了。
* 表达方式问题
*
不知道各位有没有遇到,反正拿着阿里云的参考例程放到产品下的脚本编辑会报错。不得已全部把类似jsonMap['method']改为jsonMap.method。
*
对于参数的值设置为如下,如果设备报上来的数据命令是 0x0000000001003201,试问,对于我用的单片机怎么返回1003前面的这么多的0??懵!
var COMMAND_REPORT = 0x00; //属性上报 var COMMAND_SET = 0x01; //属性设置 var
COMMAND_REPORT_REPLY = 0x02; //上报数据返回结果 var COMMAND_SET_REPLY = 0x03;
//属性设置设备返回结果
改为:
var COMMAND_REPORT = 0x01; //属性上报 var COMMAND_SET = 0x02; //属性设置 var
COMMAND_REPORT_REPLY = 0x03; //上报数据返回结果 var COMMAND_SET_REPLY = 0x04;
//属性设置设备返回结果
* 属性的更改
* 把数据字节对齐,弄清楚就差不多了。类似如下,LightStatus为自己的属性 var params = {}; //定义参数params为结构体
// params['prop_int16'] = dataView.getInt16(5); //对应产品属性中 prop_int16 == 0032
(两个字节) params.LightStatus = uint8Array[5]; //对应产品属性中 prop_bool == 01 //
params['prop_float'] = dataView.getFloat32(8); //对应产品属性中 prop_float == 00
jsonMap.params = params; //ALink JSON格式 - params标准字段
3,在线调试模式
如图所示,当发送指令后,设备接收到解析后的一连串十六进制数据,在设备端进行编码,分解字节数据。最后,按照通讯的协议返回正确的十六进制字节数据,如果返回成功,实时日志会显示;否则会有报错代码。
* 另外设备返回的时候,选择的方法是ALINK_PROP_REPORT_METHOD = 'thing.event.property.post'
,注意分开。
* 且,设备返回的是灯的状态(本例中),而不是成功的代码code:200.
若日志报成功,就可以返回到移动开发界面了。
<>四. 重回app开发界面
再次选择属性,验证数据格式,成功。就可以进行你想要的基本控制了。
后续:对于APP开发,估计阿里云刚推出来,功能很少。望加强!
热门工具 换一换