产品DEMO

首页 -- 资料下载 -- 产品DEMO -- 正文

关于使用阿里云物联网平台使用资料总结
作者:        发布时间:2022-01-06        阅读量:

# 目标实现:

**阿里云物联网平台某设备实时数据(MQTT协议上云)同步存储到RDS MySQL数据库**

# 实现步骤:

`注意:以下实现默认MQTT上云已经完成,可实时上传数据`

1、物联网平台接收到数据通过规则引擎转发至DataHub。

2、在DataHub中通过DataConnector将数据同步到RDS MySQL数据库中

[阿里云教程概述](https://help.aliyun.com/document_detail/92024.html?spm=a2c4g.11186623.6.1062.2ff21f67pr8772)

![image-20210723231641378](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210723231641378.png)

# 细节!!!拿来吧你!

## 1、创建RDS MySQL数据库表

这步的依据是什么?

答:物联网平台的设备有什么数据?以我这边的情况为例,有甲醛、PM2.5。

![image-20210723233430175](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210723233430175.png)

思考:是不是现在新建一张数据表,表中创建两个就可以字段,分别是HCHO(甲醛)、PM25(PM2.5)就可以了呢?

答:表结构实际上有点问题,因为这样的话那`主键未明确`,后面还要查出来看的,不单单是存着就好,于是这里决定再加一个字段id作为主键(或许也可考虑复合主键,),`并设置自动递增,因为原设备上云数据中没有对应id的值`,然后可以再加两个字段`create_time 和 devicename`,`create_time 和 devicename的值`可通过`阿里云内置函数`获取,后面会讲到。

![image-20210723235021055](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210723235021055.png)

至此,第一步就完成了

## 2、创建DataHub项目

DataHub通俗理解:它是一条线,把两个阿里云的产品连起来,通过一些转发规则完成产品之间的数据流转(我瞎扯的可能不准确,具体可看官网文档)

1、开通服务(有个梗:这游戏求你下一个吧,不用钱好吧)

2、创建项目

![image-20210724001052217](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724001052217.png)

点击新建项目,随便填,我这里填项目名`alice_air`

![image-20210724001409258](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724001409258.png)

3、新建Topic

Topic通俗理解:一个话题,物联网平台后面需要去订阅这个话题,把数据同步到Datahub

![image-20210724002619605](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724002619605.png)

4、同步到RDS MySQL数据库

`注意:我这里先配完DataHub同步数据库,后配置物联网同步到DataHub,当然你也可以先配物联网同步到DataHub,看看DataHub有没有`实时流量`显示`

**点击`查看`**

![image-20210724003009151](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724003009151.png)

**点击`同步`**

![image-20210724003707089](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724003707089.png)

**选择`RDS & MySQL`**

![image-20210724003805731](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724003805731.png)

`新建Connector`(配置对应的MySQL Host,数据库、数据表)

![image-20210724004320554](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724004320554.png)

至此,第二步也完成了。

## 3、规则引擎

`这步是为了把物联网平台数据转发到DataHub`

1、云产品流转

![image-20210724005807322](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724005807322.png)

2、创建规则

![image-20210724005525075](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724005525075.png)

3、选择json(我这边设备数据是通过json格式上云)

![image-20210724010035642](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724010035642.png)

4、编写SQL

![image-20210724010224744](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724010224744.png)

![image-20210724011614008](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724011614008.png)

5、转发数据到DataHub,添加规则

![image-20210724011837618](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724011837618.png)

![image-20210724012054541](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724012054541.png)

`注意`:${key},key是什么,key就是`编写SQL`时,`as xxx` 的那个`xxx`

items.HCHO.value as HCHO ==> ${HCHO}

最后`确定`,完美撒花?NO,注意,记得`启动`,这下应该完美撒花了。

![image-20210724012748167](C:\Users\黄子豪\AppData\Roaming\Typora\typora-user-images\image-20210724012748167.png)

经过以上步骤,如果数据库并没有新增任何数据记录,可一步一步排查问题。

1、先确定设备数据是不是在`实时上传`,在物联网平台查看设备`物模型数据`

2、看看DataHub有没显示`实时流量`数据,没有的话说明`云产品流转`这块没弄好

3、如果DataHub有数据流量显示了,说明很可能是`配置MySQL数据库`有问题,看看账号密码,host地址,和网络类型等。

地址:广州市天河区中山大道西293号     邮编:510665  

人工智能与主动健康交叉创新实验室  版权所有 ©2021    Guangdong Polytechnic Normal University  粤ICP备10076626号