手把手教你把IoT传感器数据存储到数据库

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
云服务器(按量付费),48vCPU 186GiB
简介: 无需开发,手把手教你把IoT传感器采集的实时数据存储到数据库。

手把手教你把IoT传感器数据存储到数据库

1. 云起实验室实验资源方式介绍

本实验支持开通免费试用、个人账户资源两种实验资源方式。

在实验开始前,请您选择其中一种实验资源,单击确认开启实验

  • 如果您选择的是开通免费试用,下方卡片会展示本实验支持的试用规格,可以选择你要试用的云产品资源进行开通。您在实验过程中,可以随时用右下角icon唤起试用卡片。

说明:试用云产品开通在您的个人账号下,并占用您的试用权益如试用超出免费试用额度,可能会产生一定费用。

阿里云支持试用的产品列表、权益及具体规则说明请参考开发者试用中心


2. 领取免费试用资源

实验前必看!

  • 本实验使用的物联网平台和表格存储Tablestore均为付费资源。这两个产品支持免费试用,如果您的阿里云主账号符合开通免费试用的资格,建议您开通免费试用物联网平台和表格存储Tablestore的免费试用,物联网平台标准版免费试用时长为1个月,表格存储Tablestore的免费试用时长为3个月超出免费额度的用量,计入按量付费,会产生后付费账单,具体计费详情,请参见计费概述
  • 如果您的阿里云账号只能领取部分免费试用产品,请您领取符合免费试用资格的产品,然后进入实验,不满足免费试用资格的产品将会使用个人账户资源进行创建,并会产生一定的费用,请您及时关注账户扣费。
  • 为了避免资源浪费并造成账号扣费的情况,请严格按照本文提供的参数进行配置。在实验完成之后,请您及时删除或禁用压测任务。
  1. 在实验开始前,请您选择领取免费试用额度

  1. 开通物联网平台免费试用。

2.1 在实验室页面下方,选择物联网平台,单击立即试用

  1. 开通表格存储Tablestore免费试用。

3.1 在实验室页面下方,选择表格存储Tablestore,单击立即试用

3.2 在表格存储Tablestore面板,选中服务协议,然后单击立即试用,如弹出新的页面,您可先忽略。

  1. 领取完免费试用后,返回资源领取界面,单击我已开通,进入实验

说明:如果您的阿里云账号只能领取部分免费试用产品,请您领取符合免费试用资格的产品,然后进入实验,不满足免费试用资格的产品将会使用个人账户资源进行创建,并会产生一定的费用,请您及时关注账户扣费。


3. 物联网平台设备开发

本实验中我们将工业传感器(温度、湿度、压力)数据通过4G网络实时采集到阿里云IoT物联网平台,再配置规则引擎流转规则,实现设备数据存储到数据库中。

物联网开发实战完整链路参考如下:

其中PLC工控机上报数据格式如下:

Topic格式
/${productKey}/${deviceName}/user/update
Payload格式示例
{"temperature":23,"humidity":65,"pressure":2546}

您在物联网平台控制台操作如下:

  1. 您需要先登录阿里云账号,进入物联网平台https://iot.console.aliyun.com/

说明:如果您未开通物联网平台,请您根据页面提示,开通物联网平台。

  1. 实例概览页面,选择您的实例。

说明:本实验以公共实例为例,如果您领取物联网平台免费试用额度,您也可以通过物联网平台生产环境下的标准型实例进行实验操作。

  1. 在左侧导航栏中,选择设备管理>产品

  1. 产品页面,单击创建产品

  1. 新建产品页签,产品名称输入PLC工控机,所属品类选择自定义品类,其他配置保持默认即可,单击确认

  1. 创建完成后,单击查看产品详情

  1. Topic类列表自定义Topic页签,检查是否有/g*****M/${deviceName}/user/update,操作权限为发布,该Topic的作用为设备端传感器数据采集上报。

  1. 检查完成之后,你可以在产品详情页面单击添加设备,添加具体设备。

  1. 在设备详情,可以查看设备证书信息,如下图。


4. 创建表格存储数据库

接下来,我们需要创建表格存储数据库,用来存储PLC工控机的数据。

  1. 前往表格存储控制台https://ots.console.aliyun.com/
  2. 在华东2(上海) 地域,单击创建时序模型实例

  1. 创建时序模型实例对话框中,实例名称输入minApp4IoT,实例规格选择容量型实例,单击确定

(注:实例名称不允许重复,您可以按规则自定义名称)

  1. 在左侧导航栏中,单击全部实例

  1. 全部实例页面, 您可以看到创建的数据库实例,单击实例名称

  1. 创建数据表对话框中,数据表名称输入devices_data,其中主键为deviceId字符串timestamp整型,单击确定

创建完成后,数据库实例中数据库表如下。

数据库表基本详情。

至此,我们完成了表格存储数据库miniApp4IoT和数据库表devices_data的创建。


5. 配置云产品流转OTS

然后,我们配置云产品流转表格存储数据库。先创建数据源,数据目的地,再通过解析器串联起数据源和数据目的地。

  1. 在物联网平台控制台的导航栏中,选择规则引擎>云产品流转

  1. 数据源页签,单击创建数据源

  1. 创建数据源对话框中,数据源名称输入PLC数据上报,并添加Topic如下。

添加完成后,可以看到如下Topic列表。

至此,完成PLC工控机设备的数据源配置。

  1. 数据目的地页签,单击创建数据目的表格存储devices_data,选择操作存储到表格存储(Tablestore),选择上一章节创建的数据库miniApp4IoT和数据库表devices_data,如下图

完成后,你会看到数据目的地列表,如下图。

  1. 接下来,在解析器页签,单击创建解析器:PLC数据存储到OTS数据库。在数据源中添加PLC数据上报

  1. 数据目的中,单击关联数据目的数据目的选择表格存储devices_data

  1. 解析器脚本编辑脚本区域中,输入如下脚本,单击发布

参考文档https://help.aliyun.com/document_detail/270937.html

//通过payload函数,获取设备上报的消息内容,并按照JSON格式转换。
var data = payload("json");
//设备信息
var deviceId = deviceName();
var ts = timestamp();
//设备感知数据
var temperature = data.temperature;
var humidity = data.humidity;
var pressure = data.pressure;
// 表中添加主键deviceName、id,在writeTableStore方法中,可以按column:value的形式,将温湿度值写入对应的列。
writeTableStore(替换成目的地id, {"deviceId":deviceId, "timestamp":ts, "temperature":temperature, "humidity":humidity, "pressure":pressure});

至此,完成了解析器配置。

  1. 最后,在解析器页签,我们启动解析器脚本,状态为运行中


6. 启动设备,完成数据入库

当我们完成以上物联网平台、表格存储数据库、云产品流转配置后,就可以测试完整物联网场景了。

  1. 我们在物联网平台控制台的导航栏中,选择设备管理>设备模拟器,启动PLC设备plc2023。
  2. 选择自定义Topic消息上报主题,并输入数据内容,单击消息上报。

Payload数据参考如下

{"temperature":26,"humidity":78,"pressure":2546}
  1. 然后,我们会在表格存储的数据库表devices_data查看到上报数据,如下图。

当然您也可以调整模拟数据值,观察数据库记录的变化。

  1. 最后,在物联网平台控制台,运维监控日志服务里,可以查看到消息处理记录。


7. 资源释放

本场景的部署过程是免费的,但是在后期的使用过程是会产生一定的费用,主要包括:

所以您之后如果需要商品下单以及库存更新等操作,可能都会涉及到相关费用,为了避免费用的产生,您可以删除相对应的资源:

  • 删除表格存储表格。

前往表格存储控制台https://otsnext.console.aliyun.com/,进入对应实例中,单击删除表格。

  • 删除表格存储实例。

前往表格存储控制台https://otsnext.console.aliyun.com/,找到对应实例,单击释放


8. 总结

恭喜你,完成了本次物联网开发实战。

让我们再回顾一下完整开发过程:

  1. 在阿里云IoT物联网平台创建PLC工控机,并注册新设备。
  2. 在表格存储创建数据库和数据表,用于存储物联网平台流转过来的PLC工控机数据。
  3. 配置云产品流转规则,把IoT数据流转到表格存储数据库表。
  4. 启动设备模拟器,模拟PLC工控机数据上报,在数据库表中实时查看到设备数据记录。

注意:

在完成实验之后,若您想保留实验相关的云产品资源,请随时关注账户扣费情况。若您不想保留实验相关的云产品资源,释放云产品资源即可。

欢迎加入阿里云IoT物联网在线交流群,如果实验有任何问题,可以进群咨询。

实验链接:https://developer.aliyun.com/adc/scenario/69795f59e7674c048bf5f8f42fa98772

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
17天前
|
关系型数据库 MySQL 数据库
实时计算 Flink版产品使用合集之支持将数据写入 OceanBase 数据库吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
17天前
|
关系型数据库 MySQL API
实时计算 Flink版产品使用合集之可以通过mysql-cdc动态监听MySQL数据库的数据变动吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
125 0
|
19天前
|
关系型数据库 数据库 数据安全/隐私保护
关系型数据库的数据完整性保障
【5月更文挑战第9天】关系型数据库的数据完整性保障
22 1
|
5天前
|
OLAP 数据处理 Apache
众安保险 CDP 平台:借助阿里云数据库 SelectDB 版内核 Apache Doris 打破数据孤岛,人群圈选提速4倍
众安保险在CDP(Customer Data Platform,客户数据平台)建设中,通过引入阿里云数据库SelectDB版内核Apache Doris,成功打破了数据孤岛,并显著提升了人群圈选的速度
165 1
|
7天前
|
关系型数据库 数据库 数据库管理
关系型数据库数据唯一性保证
【5月更文挑战第17天】
14 1
|
11天前
|
SQL 资源调度 关系型数据库
实时计算 Flink版产品使用合集之源表的数据被删除后,目标数据库在重启服务后没有进行相应的删除操作,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
11天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之从Oracle数据库同步数据时,checkpoint恢复后无法捕获到任务暂停期间的变更日志,如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
11天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之如何SQL同步数据到Oracle数据库中
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
11天前
|
消息中间件 关系型数据库 Kafka
实时计算 Flink版产品使用合集之使用DTS从RDSMySQL数据库同步数据到云Kafka,增量同步数据延迟时间超过1秒。如何诊断问题并降低延迟
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
14天前
|
存储 监控 前端开发
关系型数据库数据输入验证
【5月更文挑战第12天】
47 5