阿里云物联网平台、DataHub、RDS和DataV集成样例-阿里云开发者社区

开发者社区> 数据库> 正文

阿里云物联网平台、DataHub、RDS和DataV集成样例

简介: 本文通过一个DEMO,演示了如何基于阿里云产品和服务实现设备数据在大屏上显示。在设备端模拟两个点位,通过MQTT协议向阿里云物联网平台设备(高级版)发送数据,物联网平台接收到数据后通过规则引擎转发至DataHub,接着在DataHub中通过DataConnector将数据同步到RDS MySQL数据库中,最终使用DataV将RDS MySQL中数据呈现在大屏上。

1.         概述

本文通过一个DEMO,演示了如何基于阿里云产品和服务实现设备数据在大屏上显示。在设备端模拟两个点位,通过MQTT协议向阿里云物联网平台设备(高级版)发送数据,物联网平台接收到数据后通过规则引擎转发至DataHub,接着在DataHub中通过DataConnector将数据同步到RDS MySQL数据库中,最终使用DataVRDS MySQL中数据呈现在大屏上。

物联网平台转发至DataHub是因为DataHub可以将数据同步至MaxComputer,为后续数据计算做准备。

2.         物联网平台

物联网平台主要负责获取设备端数据,并通过规则引擎将数据转发至Table StoreDataHubRDSMessage ServiceMessage QueueHiTSDBFC以及另外一个Topic

2.1.        创建产品

[1]       https://iot.console.aliyun.com/

[2]       【产品管理】-【高级版】-【创建产品】

e21d291673de256303543dfb6057d9fbebc4b03e

 

2.2.        添加设备

[1]       【设备管理】-【添加设备】

d692f51988f6fef323476676efd7c0ebf8f4c204

 

2.3.        创建规则-处理数据

[1]       【规则引擎】-【创建规则】

ac2040f0e7bfb3ba0604436bb5a8b24a4c1a66dc

 

[2]       编写SQL

n  【规则引擎】-【规则列表】-【管理】:规则详情

n  完成【字段】、【Topic】的填写后,自动生成【规则查询语句:】SELECT content, age FROM “/a1aTa12qI93/myiRobot/user/update” WHERE

4da30eb0436c02febac30bbd7d002d599c8cb9a4

2.4.        规则引擎-添加操作

[1]       【添加操作】-【发送数据到DataHub】:如果未创建DataHub,则按第3小节说明创建DataHub

424c7c8117b188c3459e8fddddef7b8c821be3f2

 

2.5.        启动规则引擎

 

9e78ad6f3941edb642312c0aa2360841a864ec24

3.         DataHub

3.1.        创建Topic

[1]       进入阿里云DataHub控制台https://datahub.console.aliyun.com/

[2]       【项目管理】-【华东2(上海)】-【创建Project

[3]       【项目列表】-【查看】-【创建Topic】:添加两个点位,c1c2

 

98a40708a66b9c4482babb4d2990e482dbb0ebc6

 

b9f755397ecac0b52bbb8b1dffa0f9387f37c1cc

3.2.        数据同步

[1]       【项目管理】-【华东2-myirobotdatahub-【查看】-gettwostring-【查看】-DataConnector

[2]       【同步到RDS Mysql: 如果RDS未创建,则按第4小节描述操作

1cab32b692b681b6edea0d7e6335468c28a03e79

4.         RDS Mysql

4.1.        创建实例

[1]       https://rdsnext.console.aliyun.com

[2]       创建实例后,需等候几分钟。

3425bac7309fda8b46d4641f736ff9afbd690783

4.2.        建表

[1]       【云数据库RDS-【管理】-【基本信息】:以下数据需要在DataHub中填写

n  内网地址

n  内网端口

[2]       【云数据库RDS-【管理】-【账号管理】:root和密码

[3]       【云数据库RDS-【管理】-【数据库管理】-【创建数据库】:mydb

[4]       【云数据库RDS-【管理】-【数据库管理】-【数据安全性】:设置成允许任何IP访问, 0.0.0.0/0

[5]       【云数据库RDS-【管理】-【登录数据库】:通过DMS管理数据,新建表mytable,两个字段

8218aed5ef28f573fb81d73060f373bbbf4f29c9

 

4f2e031889d30c60b99bd46272a8a53bc2633f90

5.         DataV

[1]       http://datav.aliyun.com/ 51/

[2]       数据源:【域名】填写RDS内网地址,【名称】可自定义,【用户名】和【密码】和RDS中设置保持一致

[3]       SQL: SELECT c1,c2 FROM mytable

24146eebffe4c5bbb36860799293d76dfdafc039

[4]       【我的可视化】-【新建可视化】:选择列表区域后,右下角【自定义列】

n  标签1

Ø  列字段名c1

Ø  列显示名content

n  标签2

Ø  列字段名c2

Ø  列显示名age

eaf1754af8497d70f5f449ccffa24027f1155806

 

6.         验证

6.1.        运行MQTT客户端

[1]            进入官网:www.aliyun.com

[2]            【文档】-【阿里云物联网平台】> 【设备端开发指南】> SDK使用参考】> JAVA-SDK (MQTT)

[3]            下载iotx-sdk-mqtt-java-20170526.zip

[4]            解压iotx-sdk-mqtt-java-20170526

[5]            导入Eclipse

n  file-import-Maven-Existing Maven Projects

n  编辑SimpleClient4IOT.java文件以下内容

(1)  修改设备三元组

n  public static String deviceName = "myiRobot";

n  public static String productKey = "a1aTa12qI93";

n  public static String secret = "WvHXg4EZqSFkVephkPQ1N1**********";

(2)  修改topic

n  private static String subTopic = "/" + productKey + "/" + deviceName + "/user/get";

n  private static String pubTopic = "/" + productKey + "/" + deviceName + "/user/update";

n  修改content

(3)  运行Java Applicatiion

c8e77e4f6351718abc9497eb95e44b9b14488b27

3f19f25841568ff6a37ee25445d8ada96ce21118

1a09d3ea385d9c760fc17140e3a325d5140663d9

fcc0626e27a6b827c848e26bcdbf2ffc06fea3b1

 


6.2.        DataHub控制台

564783d0e0c95d3cfb1aab1212e55836f6785025

6.3.        RDS

804c3f4cb45efaa3ca906ee85621dbed3b4786a8

 

6.4.        DataV

5741d1d27500a62d8be6edb9b519e8957cdb26db

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章