首先简单的介绍下这两个阿里云的产品功能吧
阿里云物联网:物联网平台提供安全可靠的设备连接通信能力,支持设备数据采集上云,规则引擎流转数据和云端数据下发设备端。此外,也提供方便快捷的设备管理能力,支持物模型定义,数据结构化存储,和远程调试、监控、运维。
表格存储:表格存储(Tablestore)面向海量结构化数据提供Serverless表存储服务,同时针对物联网场景深度优化提供一站式的IoTstore解决方案。适用于海量账单、IM消息、物联网、车联网、风控、推荐等场景中的结构化数据存储,提供海量数据低成本存储、毫秒级的在线数据查询和检索以及灵活的数据分析能力。
再说一下我的需求:在公司未能完成硬件开发的前提下,模拟硬件设备向物联网发送数据并采集到表格存储中 再通过云服务器向移动端转接。
整体步骤如下:
开通物联网这个功能并且创建产品
添加设备
设备证书最好是拿文档存一下哈,后面需要使用。
进行物模型设置(意思就是给这个设备添加一些数据属性)
物模型参数填完后记得左下角发布一下!!!!物模型json数据也要保存下来
由于我没有真机设备所以目前只能用LinkSdk 模拟真机进行上传数据,下载地址:/document_detail/42648.html
开始设备建连:
#一. 下载sdk(文档地址/document_detail/96596.html) 我是用的python3.7 所以直接 pip3 install paho-mqtt==1.4.0 和 pip3 install aliyun-iot-linkkit 即可
#二. 把设备信息更换掉(就是刚才保存在文档上的三个参数)
#三. 把第3步物模型json数据导到本地更换掉(因为这个模型json跟你创建的模型属性挂钩)
#四. 更换掉使用thing_post_property方法的标识符(当然不同语言sdk的方法命名不一样,仔细观察即可找出)
#五. 我们运行一下程序就能上报数据啦~
开始数据流转到表格存储:
#一. 创建数据源
#二. 添加Topic
#三. 创建数据目的(没有授权的授权一下)
没有创建表格存储实例的也创建下
创建好实例把表也创建一张(方便设备数据流转过来)
#四. 完成之后我们再回到数据目的这里进行创建
#五. 接下来创建一下解析器(按照步骤来全部创建)
关联数据源
关联数据目的
编写解析脚本(目前好像只支持js的部分)
脚本文档地址/document_detail/270937.html)
代码如下:
//通过payload函数,获取设备上报的消息内容,并按照JSON格式转换。var data = payload("json"); var obj={}//第一种方法。var lightcurrent = getOrNull(data, "items", "LightCurrent", "value");//第二种方法var lightswitch = data.items.LightSwitch.value;obj.put('lightcurrent',lightcurrent)obj.put('lightswitch',lightswitch)//这里需要注意下 获取的函数是deviceName,而我创建数据库的主键时拼错了拼成divceName,主键是必须要的哦。obj.put('divceName',deviceName())obj.put('id',timestamp())//writeTableStore是对应tablestore宽表模式,其他数据库要用其他函数。接收第一个参数实第二部数据目的的id,第二个参数是返回给tablestore的数据writeTableStore(1000, obj);
点击保存和发布 然后退回来点击发布
#五. 接下来就该测试一下啦~ 打开