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

简介: 无需开发,手把手教你把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
相关文章
|
18天前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
在9月20日2024云栖大会上,阿里云智能集团副总裁,数据库产品事业部负责人,ACM、CCF、IEEE会士(Fellow)李飞飞发表《从数据到智能:Data+AI驱动的云原生数据库》主题演讲。他表示,数据是生成式AI的核心资产,大模型时代的数据管理系统需具备多模处理和实时分析能力。阿里云瑶池将数据+AI全面融合,构建一站式多模数据管理平台,以数据驱动决策与创新,为用户提供像“搭积木”一样易用、好用、高可用的使用体验。
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
|
2月前
|
关系型数据库 MySQL 数据库
ORM对mysql数据库中数据进行操作报错解决
ORM对mysql数据库中数据进行操作报错解决
85 2
|
20天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
60 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
17天前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
25天前
|
人工智能 Cloud Native 容灾
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
|
1月前
|
SQL 存储 关系型数据库
数据储存数据库管理系统(DBMS)
【10月更文挑战第11天】
88 3
|
2月前
|
JavaScript Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
本文介绍了一个基于Spring Boot和Vue.js实现的在线考试系统。随着在线教育的发展,在线考试系统的重要性日益凸显。该系统不仅能提高教学效率,减轻教师负担,还为学生提供了灵活便捷的考试方式。技术栈包括Spring Boot、Vue.js、Element-UI等,支持多种角色登录,具备考试管理、题库管理、成绩查询等功能。系统采用前后端分离架构,具备高性能和扩展性,未来可进一步优化并引入AI技术提升智能化水平。
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
|
2月前
|
Java 关系型数据库 MySQL
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
本文介绍了一款基于Spring Boot和JSP技术的房屋租赁系统,旨在通过自动化和信息化手段提升房屋管理效率,优化租户体验。系统采用JDK 1.8、Maven 3.6、MySQL 8.0、JSP、Layui和Spring Boot 2.0等技术栈,实现了高效的房源管理和便捷的租户服务。通过该系统,房东可以轻松管理房源,租户可以快速找到合适的住所,双方都能享受数字化带来的便利。未来,系统将持续优化升级,提供更多完善的服务。
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
|
1月前
|
SQL 存储 关系型数据库
添加数据到数据库的SQL语句详解与实践技巧
在数据库管理中,添加数据是一个基本操作,它涉及到向表中插入新的记录
|
1月前
|
SQL 监控 数据处理
SQL数据库数据修改操作详解
数据库是现代信息系统的重要组成部分,其中SQL(StructuredQueryLanguage)是管理和处理数据库的重要工具之一。在日常的业务运营过程中,数据的准确性和及时性对企业来说至关重要,这就需要掌握如何在数据库中正确地进行数据修改操作。本文将详细介绍在SQL数据库中如何修改数据,帮助读者更好
205 4