前言
这篇文章的主要内容包括,如何创建设备与产品,如何通过下位机发送数据到物理数据,如何创建RDS数据库,如何通过DATAHUB来连接物理数据与RDS数据库。注意:想要实现全套流程的话,产品、DATAHUB、RDS数据库所在地区必须完全一样!!!
一、如何创建设备与产品
登录阿里云账号之后,以:产品→物联网→物联网平台为路径找到管理控制台
点击管理控制台之后,若想要试用公共实例的话,地区选择 华东2(上海),这里有一个可以免费试用的实例,其他地区好像只能购买。
开通公共实例之后,可以在左侧导航栏中找到 设备管理→产品,点击之后会出现一个蓝色底纹的"创建产品"按钮,点击之后出现新建产品页面,产品名称按照项目名称来填写,剩下的可以以我的为例,对于数据格式方面,我是使用JSON格式上传数据,所以数据格式方面选用的是 "ICA标准数据格式",创建完毕之后点击"确认",此时在产品页面就可以看见自己刚创建好的产品啦!
产品创建完成,开始进行创建设备,同样在左侧导航栏中找到 设备管理→设备,进入设备页面以后,也会出现一个蓝色底纹的 "添加设备"按钮,填写自己的信息,完毕之后,设备页面会出现刚才创建的设备信息,显示未激活状态。
激活设备的流程,我这里以我使用的4G模块为例,我使用的是正点原子开发的ATK-IDM750C 4G模块,模块自身配套了一款类似于串口助手的软件,可以帮助激活设备,将这些参数全部填写进该软件后,点击保存所有参数,此时就可以看到设备已经被成功激活了!
下面说一下这里的参数都在哪里找到,KEY、NAME、SECRET这三个参数点击 设备->查看 在设备名称下面可以 找到KEY和SECRET这两个参数,至于NAME就是所创建的设备名称。
订阅主题与发布主题,在 产品→Topic列表→物模型通信Topic 中找到属性上报功能。操作权限为发布的,填写入发布主题;为订阅的,填写入订阅主题。
到了这里,第一步创建设备与产品算是完成了~
二、如何发送数据到物模型数据
在产品页面中,点击功能定义,然后点击编辑草稿,在编辑草稿中,有添加标准功能与添加自定义功能,可以都点进去看看,标准功能是直接使用阿里云官方提前配置好的参数,自定义功能就是根据自身的需要去定义自己想要的数据类型。这里我选择添加自定义功能。
在编辑完草稿之后,不要忘了发布上线!!! 发布上线之后,编辑的草稿才有效
如果想要查看发送的数据,在设备→物模型数据中可以查看
发送数据的具体格式需要结合自身所选择的数据格式,我这里选择的是ICA标准数据格式,所以发送数据的格式如下,id和version貌似是自定义的,我是随便填写的,发现也可以发送成功,剩下的params里就需要用到之前所强调的标识符了,标识符后面跟随着数据,如果有多个参数,需要用英文逗号去分隔开,例如{"CO2":123,"O2":456}。
{
"id": "123",
"version": "1.0",
"params": {"CO2":123},
"method": "thing.event.property.post"
}
这里我还是通过4G模块所带的软件模拟下位机发送数据,可以看到,物模型数据里添加了刚才的数据。
三、创建RDS数据库
与创建设备与产品类似,下面是具体的操作图。
第一次点击云数据库RDS应该会有一些试用的阿里云数据库,各位可以通过具体情况选择合适的数据库进行开通服务。但是如果要与物模型中的数据进行互通,那么地区一定要选择同一个!比如我创建的设备在华东2,那么创建的数据库也要在华东2。如果单纯创建数据库,并没有数据同步的需求的话,那么可以忽略地区这个问题。
那么开通完云数据库之后,可以在实例列表中看见正在运行的数据库。
点击实例ID下的蓝色字段,会出现该实例的具体配置。
①创建账号,按照自己的需求创建即可,这里不过多叙述
②创建数据库,要求同上,按照需求创建
③白名单与安全组,这里请参照官方的文档去进行设置
设置RDS MySQL实例的IP白名单_云数据库 RDS(RDS)-阿里云帮助中心 (aliyun.com)
④数据库连接,这里我是使用的外网地址去连接阿里云的,需要点击开通外网地址
⑤创建数据库表格,创建数据库表格我是使用的第三方软件Navicat进行的创建,在阿里云中,也可以使用查询语句去创建。如要使用阿里云自身去创建数据库表格,需要进行下图的操作。具体创建表格语句请自行上网学习,这里不过多叙述。
如果使用Navicat去连接阿里云,首先根据自身创建的阿里云数据库进行选择,这里我使用的是MYSQL版本,所以我选择RDS MYSQL版。
选择完毕后,可以通过测试连接来检测是否连接成功
然后就可以在Nvicat上面去操作阿里云数据库啦!到此为止,数据库也创建完成
四、使用DATAHUB来同步物模型数据到RDS数据库
最开始我是参照这篇文章来进行设置的,如果这部分写的看不懂,也可以去看看这位大佬的文章
物联网平台设备数据同步到RDS & MySQL数据库(保姆级教学)_硬件的数据怎么实时更新到数据库-CSDN博客
那么接下来正式开始,DATAHUB的具体位置如下图。同样再次强调,如要使用数据同步服务,所在地区必须相同!DATAHUB在某年之后开始收费,不过每个月好像有1G的免费流量,所以想要试用也可以购买,只要不超过1G流量就都是免费的哈
①开通后,在项目管理中找到新建项目,按照具体要求创建名称与描述
②创建完项目之后,再去新建Topic,点击项目列表中的查看操作,然后在弹出的页面点击 新建Topic
填写完毕后,点击创建。
下图是字段名与Topic名称的对比,必须完全相同。
③创建完Topic之后,点击Topic中的查看,再点击同步
选择RDS&MYSQL
然后就到了最关键的一步,也是最容易出错的一步。
最开始上面的步骤随随便便就填写完了,但是到了VPC和实例ID的时候可是犯了难,因为单纯填写VPC ID和实例ID总是报错,如下,VPC ID大家可以安心填写,但是实例ID需要从别的地方去找
实例ID需要从API调试中去获取,填完下面的参数点击发起调用
DescribeDBInstanceAttribute_云数据库 RDS_API调试-阿里云OpenAPI开发者门户
在调用结果中可以找到VPC CLOUD INSTANCE ID,后面所对应的才是真正的实例ID,泪目,当时找到这个可费了我好大劲.....
然后点击创建,就可以创建成功啦!!!!
④返回公共实例中,也就是我们创建玩的设备与产品那里,按下图步骤点击。
创建规则,按照自己的情况去填写。
确认之后,在规则名称中点击查看,并点击 编写SQL
上面的timestamp还需要加(),一时疏忽。填写完毕后,选择确认,并点击转发数据中的 添加操作
注意
:${key},key就是编写SQL
时,所对应的字段名称,比如time的值也就是${TIME}
随后点击确认,最后,返回云产品流转,点击启动就大工告成了!!