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

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于网站搭建
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
简介: 无需开发,手把手教你把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

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
4月前
|
存储 JSON 关系型数据库
【干货满满】解密 API 数据解析:从 JSON 到数据库存储的完整流程
本文详解电商API开发中JSON数据解析与数据库存储的全流程,涵盖数据提取、清洗、转换及优化策略,结合Python实战代码与主流数据库方案,助开发者构建高效、可靠的数据处理管道。
|
2月前
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
2月前
|
人工智能 Java 关系型数据库
使用数据连接池进行数据库操作
使用数据连接池进行数据库操作
72 11
|
3月前
|
存储 数据管理 数据库
数据字典是什么?和数据库、数据仓库有什么关系?
在数据处理中,你是否常困惑于字段含义、指标计算或数据来源?数据字典正是解答这些问题的关键工具,它清晰定义数据的名称、类型、来源、计算方式等,服务于开发者、分析师和数据管理者。本文详解数据字典的定义、组成及其与数据库、数据仓库的关系,助你夯实数据基础。
数据字典是什么?和数据库、数据仓库有什么关系?
|
7月前
|
存储 缓存 数据库
数据库数据删除策略:硬删除vs软删除的最佳实践指南
在项目开发中,“删除”操作常见但方式多样,主要分为硬删除与软删除。硬删除直接从数据库移除数据,操作简单、高效,但不可恢复;适用于临时或敏感数据。软删除通过标记字段保留数据,支持恢复和审计,但增加查询复杂度与数据量;适合需追踪历史或可恢复的场景。两者各有优劣,实际开发中常结合使用以满足不同需求。
516 4
|
3月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL数据库的WAL日志与数据写入的过程
PostgreSQL中的WAL(预写日志)是保证数据完整性的关键技术。在数据修改前,系统会先将日志写入WAL,确保宕机时可通过日志恢复数据。它减少了磁盘I/O,提升了性能,并支持手动切换日志文件。WAL文件默认存储在pg_wal目录下,采用16进制命名规则。此外,PostgreSQL提供pg_waldump工具解析日志内容。
230 0
|
5月前
|
存储 SQL Java
数据存储使用文件还是数据库,哪个更合适?
数据库和文件系统各有优劣:数据库读写性能较低、结构 rigid,但具备计算能力和数据一致性保障;文件系统灵活易管理、读写高效,但缺乏计算能力且无法保证一致性。针对仅需高效存储与灵活管理的场景,文件系统更优,但其计算短板可通过开源工具 SPL(Structured Process Language)弥补。SPL 提供独立计算语法及高性能文件格式(如集文件、组表),支持复杂计算与多源混合查询,甚至可替代数据仓库。此外,SPL 易集成、支持热切换,大幅提升开发运维效率,是后数据库时代文件存储的理想补充方案。
|
10月前
|
数据采集 数据库 Python
有哪些方法可以验证用户输入数据的格式是否符合数据库的要求?
有哪些方法可以验证用户输入数据的格式是否符合数据库的要求?
427 75

热门文章

最新文章

下一篇
开通oss服务