首先简单的介绍下这两个阿里云的产品功能吧
阿里云物联网:物联网平台提供安全可靠的设备连接通信能力,支持设备数据采集上云,规则引擎流转数据和云端数据下发设备端。此外,也提供方便快捷的设备管理能力,支持物模型定义,数据结构化存储,和远程调试、监控、运维。
表格存储:表格存储(Tablestore)面向海量结构化数据提供Serverless表存储服务,同时针对物联网场景深度优化提供一站式的IoTstore解决方案。适用于海量账单、IM消息、物联网、车联网、风控、推荐等场景中的结构化数据存储,提供海量数据低成本存储、毫秒级的在线数据查询和检索以及灵活的数据分析能力。
再说一下我的需求:在公司未能完成硬件开发的前提下,模拟硬件设备向物联网发送数据并采集到表格存储中 再通过云服务器向移动端转接。
整体步骤如下:
-
开通物联网这个功能并且创建产品
-
添加设备
设备证书最好是拿文档存一下哈,后面需要使用。 -
进行物模型设置(意思就是给这个设备添加一些数据属性)
物模型参数填完后记得左下角发布一下!!!!物模型json数据也要保存下来 -
由于我没有真机设备所以目前只能用LinkSdk 模拟真机进行上传数据,下载地址:https://help.aliyun.com/document_detail/42648.html
-
开始设备建连:
#一. 下载sdk(文档地址https://help.aliyun.com/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的部分)
脚本文档地址https://help.aliyun.com/document_detail/270937.html)
代码如下:文章来源:https://www.toymoban.com/news/detail-724890.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);
点击保存和发布 然后退回来点击发布
#五. 接下来就该测试一下啦~ 打开
文章来源地址https://www.toymoban.com/news/detail-724890.html
结尾:这样基本大功告成了,虽然不是一个完整的物联网开发 但是有助于我们这些开发者能够早点认识了解并学习到这些功能(啃文档的日子真的好难受阿!!!) 如有写错或者写的不好的地方希望在评论区赐教 感谢!
到了这里,关于阿里云物联网流转表格存储Tablestore的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!