阿里云物联网平台数据上传到RDS

博客分类: 技术 阅读次数: 🤔

阿里云物联网平台数据上传到RDS

目的

物联网设备通过MQTT或者其他方式将数据上传到阿里云物联网平台,数据处理后再转入RDS for MySql数据库中存储。

前期准备

注册阿里云账户 并实名认证
开通物联网平台
开通购买实例RDS for MySQL

RDS 数据库设置

购买实例

bt

实例基础设置

地址管理,开通外网ip
创造高权限账号 /创建普通用户
白名单IP设置
登录数据库DMS或者其他的MySQLbench

创建表结构

bt

创建库名,表名,列,数据类型
数据格式与上送的数据能一一对应正确

物联网平台

创建一个产品

产品名称—按照功能命名
自定义类别—可读写功能,标准一般是只读
创建产品Alink JSON格式,便于平台调试
其他默认就OK
bt

添加产品功能定义

与数据库数据类型一致,注意表示服和取值范围 bt

添加设备

bt

规则引擎设置

平台中是透过规则引擎将收到的数据根据规则转发。规则引擎设置只要区分两个阶段步骤:处理数据和转发数据。还有一个错误处理占不做了解

处理数据

对数据源筛选 处理
物联网平台收到数据后,使用数据处理引擎进行比对过滤,决定是否转发此数据以及转 的内容。数据处理引擎使用SQL SELECT语法查询。
SELECT FROM WHERE 基本语句
注意系统topic和自定义topic是不一样的

格式:sql语法

SELECT deviceName() as deviceName,timestamp(‘yyyy-MM-dd HH:mm:ss’) as timestamp,items.Temperature.value as temperature,items.GeoLocation.value.latitude as latitude,items.GeoLocation.value.longitude as longitude,items.TotalAvlEnergy.value as TotalAvlEnergy,items.DrvDistDay.value as DrvDistDay,items.RestEnergy.value as RestEnergy,items.ElConsumpAvrg.value as ElConsumpAvrg,items.RestEnergy.value as RestEnergy,items.iMaxBattCh.value as iMaxBattCh,items.batpt.value as batpt,items.uMaxBatt.value as uMaxBatt,items.DrvDistTemp.value as DrvDistTemp FROM “/sys/a1YZenZ2zdO/BMCU_20190705_001/thing/event/property/post”

坐标结构体表示:items.GeoLocation.value.longitude as longitude (G为结构标识符) 普通表示:items.Temperature.value as temperature

转发数据

数据转发到RDS对应列 。 键为数据库字段(列名)、值(数据处理as 后面值)为上面定义的值并用’${}’括起来,这是格式,

更新2019.08.03

其他方式的调试:数据流分析可以较快的实现。另外还有数据过滤,聚合计算,异常处理等快捷功能。

IOT STUDIO开发服务也可以实现。

参考

阿里云物联网平台之数据上传至RDS for MySql数据库
平台到数据库
设备数据流转-RDS存储 MySQL
数据流分析

联系方式

Any question connect me.
ccwanyuan2014@163.com
提issue

转载请注明

转载自chanjeff123.github.io