SANSAN新鲜事|一文搞懂IOT平台的数据采集架构

2024-03-03 17:30

本文主要是介绍SANSAN新鲜事|一文搞懂IOT平台的数据采集架构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本专栏的上一篇文章“场站数字化避坑指南”中提到,场站数字化实施所遇到的“坑”中,其中一个是:传感器协议种类多且复杂,会导致系统架构复杂,最终系统难以实现、BUG多、工期长。想避免这种问题,需要抽象一个高内聚、低耦合、易于扩展和维护的数据采集架构。今天,本文就来聊一下,什么是一个合理的数据采集架构。

首先插播一个广告:三三是一个开源的物联网平台,代码可以商用而无限制,欢迎访问

什么是数据采集架构

数据采集架构是物联网平台技术架构的组成部分,主要负责数据采集,也就是从各种IOT设备上收集数据。这部分功能是任何物联网应用的核心组成部分。没有这部分功能,物联网应用就是无源之水、无本之木。

数据采集架构的组成部分

我们从架构的最下层开始,看看数据采集架构应该包含哪些组成部分。

物理设备

数据采集的对象,比如传感器、PLC、控制器、机床、智能灯/锁/开关等各种IOT设备。

设备协议

物理设备传输数据的协议,比如工业上的Modbus、西门子S7、OPCUA;电力领域的DL/T645、IEC104;水利的SL651;视频传输的国标协议GB28181。

网关

网关的含义特别杂,比如DTU、WiFi路由器都被叫做网关;工业中各种协议转换的盒子,被叫做网关;有的电脑部署了一个代理软件,也被叫做网关。究其根本,网关的本质就是做协议转换,从最底层的物理层协议到最上层的应用层协议,各种网关不过是对应在协议栈的不同层上做转换。比如工业数采网关实现的是工业协议到平台协议的转换;WiFi路由器实现的是WiFi到以太网的转换。

连接

负责将物理设备的数据通过网络传输到上层软件平台,它可能包括各种通信技术,如以太网、Wi-Fi、蓝牙、Zigbee、LTE、5G等。

平台

物联网平台负责将设备数据收集上来、处理和存储。而为了适配不同的设备协议,IOT平台需要在架构上进行合理的抽象,一般都会抽象出设备、网关、产品这几种对象,以及制定物模型、平台协议作为设备模型、接入设备的标准通信协议。

三三物联网平台的数据采集架构

三三在沿用一般IOT平台的基本抽象(设备、网关、产品)的基础上,有着自己独特的创新,真正将数据采集架构做到了简洁和优美,能够非常方便的扩展各种设备接入方式。比如三三将软网关和硬网关的做了很好的统一,对三三而言,软网关和硬网关甚至可以相互转换,比如你将软网关部署到了盒子里,它就变成了硬网关。

三三物联网平台接入设备示例

正是由于三三简洁的数据采集架构,基于三三开源物联网平台,众多开发者已经轻松扩展适配了数百种设备,以下是一些示例:

空调:

智能锁:

摄像头:

电表:

本文到这里就结束了,欢迎您也作为开发者,使用三三开源物联网平台接入您自己的设备,搭建属于您自己的物联网应用。

关注宏电官方微信公众号

每周三带您了解不一样的SANSAN开源物联网平台

这篇关于SANSAN新鲜事|一文搞懂IOT平台的数据采集架构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/770365

相关文章

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

Java实现Elasticsearch查询当前索引全部数据的完整代码

《Java实现Elasticsearch查询当前索引全部数据的完整代码》:本文主要介绍如何在Java中实现查询Elasticsearch索引中指定条件下的全部数据,通过设置滚动查询参数(scrol... 目录需求背景通常情况Java 实现查询 Elasticsearch 全部数据写在最后需求背景通常情况下

一文详解Java Condition的await和signal等待通知机制

《一文详解JavaCondition的await和signal等待通知机制》这篇文章主要为大家详细介绍了JavaCondition的await和signal等待通知机制的相关知识,文中的示例代码讲... 目录1. Condition的核心方法2. 使用场景与优势3. 使用流程与规范基本模板生产者-消费者示例