IoT Studio服务开发MySQL数据流转示例Demo

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 阿里云物联网平台的规则引擎功能支持将数据流转到MySQL数据库,但是仅支持同区域(上海--华东二)的数据流转,这里介绍使用IoT Studio服务开发:云数据库MySQL节点,通过MySQL数据库的公网地址,完成跨区域的数据流转。

概述

阿里云物联网平台的规则引擎功能支持将数据流转到MySQL数据库,但是仅支持同区域(上海--华东二)的数据流转,这里介绍使用IoT Studio服务开发:云数据库MySQL节点,通过MySQL数据库的公网地址,完成跨区域的数据流转。

Step By Step


物联网产品及设备的创建

1、创建产品
_

2、导入物模型
_

_

_

model.json

{
    "schema":"https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json",
    "profile":{
        "productKey":"<替换为自己产品的productkey>"
    },
    "properties":[
        {
            "identifier":"Distance",
            "name":"距离",
            "accessMode":"rw",
            "required":false,
            "dataType":{
                "type":"double",
                "specs":{
                    "min":"0",
                    "max":"10000",
                    "unit":"m",
                    "step":"1"
                }
            }
        },
        {
            "identifier":"GeoLocation",
            "name":"自定义地理位置",
            "accessMode":"rw",
            "required":false,
            "dataType":{
                "type":"struct",
                "specs":[
                    {
                        "identifier":"Longitude",
                        "name":"经度",
                        "dataType":{
                            "type":"double",
                            "specs":{
                                "min":"-180",
                                "max":"180",
                                "unit":"°",
                                "step":"0.01"
                            }
                        }
                    },
                    {
                        "identifier":"Latitude",
                        "name":"纬度",
                        "dataType":{
                            "type":"double",
                            "specs":{
                                "min":"-90",
                                "max":"90",
                                "unit":"°",
                                "step":"0.01"
                            }
                        }
                    },
                    {
                        "identifier":"CoordinateSystem",
                        "name":"坐标系统",
                        "dataType":{
                            "type":"enum",
                            "specs":{
                                "1":"WGS_84",
                                "2":"GCJ_02"
                            }
                        }
                    }
                ]
            }
        },
        {
            "identifier":"CellSignalStrength",
            "name":"信号强度",
            "accessMode":"r",
            "required":false,
            "dataType":{
                "type":"int",
                "specs":{
                    "min":"-128",
                    "max":"127",
                    "unit":"dBm",
                    "step":"1"
                }
            }
        }
    ],
    "events":[
        {
            "identifier":"post",
            "name":"post",
            "type":"info",
            "required":true,
            "desc":"属性上报",
            "method":"thing.event.property.post",
            "outputData":[
                {
                    "identifier":"Distance",
                    "name":"距离",
                    "dataType":{
                        "type":"double",
                        "specs":{
                            "min":"0",
                            "max":"10000",
                            "unit":"m",
                            "step":"1"
                        }
                    }
                },
                {
                    "identifier":"GeoLocation",
                    "name":"自定义地理位置",
                    "dataType":{
                        "type":"struct",
                        "specs":[
                            {
                                "identifier":"Longitude",
                                "name":"经度",
                                "dataType":{
                                    "type":"double",
                                    "specs":{
                                        "min":"-180",
                                        "max":"180",
                                        "unit":"°",
                                        "step":"0.01"
                                    }
                                }
                            },
                            {
                                "identifier":"Latitude",
                                "name":"纬度",
                                "dataType":{
                                    "type":"double",
                                    "specs":{
                                        "min":"-90",
                                        "max":"90",
                                        "unit":"°",
                                        "step":"0.01"
                                    }
                                }
                            },
                            {
                                "identifier":"CoordinateSystem",
                                "name":"坐标系统",
                                "dataType":{
                                    "type":"enum",
                                    "specs":{
                                        "1":"WGS_84",
                                        "2":"GCJ_02"
                                    }
                                }
                            }
                        ]
                    }
                },
                {
                    "identifier":"CellSignalStrength",
                    "name":"信号强度",
                    "dataType":{
                        "type":"int",
                        "specs":{
                            "min":"-128",
                            "max":"127",
                            "unit":"dBm",
                            "step":"1"
                        }
                    }
                }
            ]
        }
    ],
    "services":[
        {
            "identifier":"set",
            "name":"set",
            "required":true,
            "callType":"async",
            "desc":"属性设置",
            "method":"thing.service.property.set",
            "inputData":[
                {
                    "identifier":"Distance",
                    "name":"距离",
                    "dataType":{
                        "type":"double",
                        "specs":{
                            "min":"0",
                            "max":"10000",
                            "unit":"m",
                            "step":"1"
                        }
                    }
                },
                {
                    "identifier":"GeoLocation",
                    "name":"自定义地理位置",
                    "dataType":{
                        "type":"struct",
                        "specs":[
                            {
                                "identifier":"Longitude",
                                "name":"经度",
                                "dataType":{
                                    "type":"double",
                                    "specs":{
                                        "min":"-180",
                                        "max":"180",
                                        "unit":"°",
                                        "step":"0.01"
                                    }
                                }
                            },
                            {
                                "identifier":"Latitude",
                                "name":"纬度",
                                "dataType":{
                                    "type":"double",
                                    "specs":{
                                        "min":"-90",
                                        "max":"90",
                                        "unit":"°",
                                        "step":"0.01"
                                    }
                                }
                            },
                            {
                                "identifier":"CoordinateSystem",
                                "name":"坐标系统",
                                "dataType":{
                                    "type":"enum",
                                    "specs":{
                                        "1":"WGS_84",
                                        "2":"GCJ_02"
                                    }
                                }
                            }
                        ]
                    }
                }
            ],
            "outputData":[
                
            ]
        },
        {
            "identifier":"get",
            "name":"get",
            "required":true,
            "callType":"async",
            "desc":"属性获取",
            "method":"thing.service.property.get",
            "inputData":[
                "Distance",
                "GeoLocation",
                "CellSignalStrength"
            ],
            "outputData":[
                {
                    "identifier":"Distance",
                    "name":"距离",
                    "dataType":{
                        "type":"double",
                        "specs":{
                            "min":"0",
                            "max":"10000",
                            "unit":"m",
                            "step":"1"
                        }
                    }
                },
                {
                    "identifier":"GeoLocation",
                    "name":"自定义地理位置",
                    "dataType":{
                        "type":"struct",
                        "specs":[
                            {
                                "identifier":"Longitude",
                                "name":"经度",
                                "dataType":{
                                    "type":"double",
                                    "specs":{
                                        "min":"-180",
                                        "max":"180",
                                        "unit":"°",
                                        "step":"0.01"
                                    }
                                }
                            },
                            {
                                "identifier":"Latitude",
                                "name":"纬度",
                                "dataType":{
                                    "type":"double",
                                    "specs":{
                                        "min":"-90",
                                        "max":"90",
                                        "unit":"°",
                                        "step":"0.01"
                                    }
                                }
                            },
                            {
                                "identifier":"CoordinateSystem",
                                "name":"坐标系统",
                                "dataType":{
                                    "type":"enum",
                                    "specs":{
                                        "1":"WGS_84",
                                        "2":"GCJ_02"
                                    }
                                }
                            }
                        ]
                    }
                },
                {
                    "identifier":"CellSignalStrength",
                    "name":"信号强度",
                    "dataType":{
                        "type":"int",
                        "specs":{
                            "min":"-128",
                            "max":"127",
                            "unit":"dBm",
                            "step":"1"
                        }
                    }
                }
            ]
        }
    ]
}

注意: 替换自己产品的ProductKey

3、添加设备
_


IoT Studio绑定产品+设备

1、创建项目
_

2、项目创建完成后分别关联创建的产品和设备
_

3、新建业务服务
_
_

4、业务流程搭建
_

_

_

5、云数据库MySQL节点配置介绍

  • 5.1 MySQL的版本

请使用MySQL5.7或MySQL5.6版本,其它版本兼容性会有问题,可能会出现连接异常。

  • 5.2 参数配置
{
    "table": "iotdevice1",
    "rows": [
        {
            "CellSignalStrength": "{{query.props.CellSignalStrength.value}}",
            "Distance": "{{query.props.Distance.value}}",
            "Longitude": "{{query.props.GeoLocation.value.Latitude}}",
            "Latitude": "{{query.props.GeoLocation.value.Longitude}}"
        }
    ]
}

也可以是(注意节点Id按照具体节点情况修改):


{
    "table": "iotdevice1",
    "rows": [
        {
            "CellSignalStrength": "{{payload.props.CellSignalStrength.value}}",
            "Distance": "{{query.props.Distance.value}}",
            "Longitude": "{{query.props.GeoLocation.value.Latitude}}",
            "Latitude": "{{node.node_339cdef0.props.GeoLocation.value.Longitude}}"
        }
    ]
}

payload表示上一个节点输出参数;query表示输入节点的参数;node.nodeId表示指定某一节点的输出参数。

  • 5.3 MySQL建表语句
/*------- CREATE SQL---------*/
CREATE TABLE `iotdevice1` (
  `CellSignalStrength` int(11) DEFAULT NULL,
  `Distance` double DEFAULT NULL,
  `Longitude` double DEFAULT NULL,
  `Latitude` double DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

设备在线模拟测试

1、部署调试
_

_

_

2、数据流转查看

_

3、流程测试正常后,发布即可

_

参考链接

云数据库MySQL
IoT Studio 服务开发概述

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
传感器 监控 数据可视化
IoT Studio 物联网可视化应用搭建开发实践
阿里云 IoT Studio 物联网可视化应用搭建开发实践
23314 4
IoT Studio 物联网可视化应用搭建开发实践
|
传感器 存储 运维
IoT Studio场景最佳实践
本次物联网场景最佳实践我们用六合一传感器(温度、湿度、二氧化碳、PM2.5、PM10、甲醛)实现家庭环境数据实时采集,通过家中Wi-Fi上报到阿里云IoT物联网平台,借助IoT Studio低代码工具搭建可视化大屏,实时监控家中环境指标变化。
708 0
IoT Studio场景最佳实践
|
存储 数据采集 运维
IoT Studio 产品介绍(一)|学习笔记
快速学习 IoT Studio 产品介绍
472 0
IoT Studio 产品介绍(一)|学习笔记
|
运维 监控 数据可视化
IoT Studio 产品介绍|学习笔记(二)
快速学习 IoT Studio 产品介绍
242 0
IoT Studio 产品介绍|学习笔记(二)
|
8天前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较
|
4天前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
23 5
Mysql(3)—数据库相关概念及工作原理
|
8天前
|
SQL 关系型数据库 MySQL
|
3天前
|
关系型数据库 MySQL 数据库
MySQL数据库基础(数据库操作,常用数据类型,表的操作)
MySQL数据库基础(数据库操作,常用数据类型,表的操作)
21 5
|
4天前
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
32 5
|
7天前
|
监控 关系型数据库 MySQL
MySQL 查看数据库实例
MySQL 查看数据库实例
23 6