基于阿里云物联网的APP简单开发

版权声明:如有错误或侵权,请指正。 https://blog.csdn.net/weixin_44101331/article/details/87981052

一. 产品和设备创建

1,登陆物联网平台
2,创建高级版的产品
在数据格式的选择有两种,我选择的是透传,设备接受和发送数据很简单,但是需要在产品下进行数据解析。
在这里插入图片描述
3,在产品下创建一个设备

二. 进入iot studio界面

在这里插入图片描述
1,点击移动可视化开发
2,发挥想象随意创作布局,发现动不了什么组件
3,在首页添加跳转页,如图
在这里插入图片描述
4,进入控制设备开关页面,开始创作布局
5,布局完成,配置数据。如图是开关的配置
在这里插入图片描述
6,选择完成后如图
在这里插入图片描述
不出意外,你们的界面大致如下
在这里插入图片描述
但是如果最初选择的数据格式不是透传,应该验证通过了。
7,接下来开始进行数据解析

三. 数据解析过程

1,在iot studio中打开如下产品界面
在这里插入图片描述
2,开始编写脚本

这里有阿里提供的技术文档,可以对照的看细节。而我,只讲怎么处理自己的参数,懂js语言的就不说了。

  1. 表达方式问题
  • 不知道各位有没有遇到,反正拿着阿里云的参考例程放到产品下的脚本编辑会报错。不得已全部把类似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; //属性设置设备返回结果
  1. 属性的更改
  • 把数据字节对齐,弄清楚就差不多了。类似如下,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,在线调试模式

如图所示,当发送指令后,设备接收到解析后的一连串十六进制数据,在设备端进行编码,分解字节数据。最后,按照通讯的协议返回正确的十六进制字节数据,如果返回成功,实时日志会显示;否则会有报错代码。

扫描二维码关注公众号,回复: 6238015 查看本文章
  • 另外设备返回的时候,选择的方法是ALINK_PROP_REPORT_METHOD = 'thing.event.property.post',注意分开。
  • 且,设备返回的是灯的状态(本例中),而不是成功的代码code:200.

在这里插入图片描述
若日志报成功,就可以返回到移动开发界面了。

四. 重回app开发界面

再次选择属性,验证数据格式,成功。就可以进行你想要的基本控制了。


后续:对于APP开发,估计阿里云刚推出来,功能很少。望加强!

猜你喜欢

转载自blog.csdn.net/weixin_44101331/article/details/87981052
今日推荐