物联网平台建设方案一
- 系统概述
构建物联网全域支撑服务能力,为实现学院涵盖物联网设备的全面感知、全域互联、全程智控、全域数字基底、全过程统筹管理奠定基础,为打造智能化提供坚实后台基石。
物联网平台向下接入各种传感器、终端和网关,向上通过开放的实施分析、实施服务各种能力,快速集成融合数据。
平台解决工业现场的各类型物联网数据的适配接入、智能分析、实时服务、以及物联网数据呈现的问题。
本项目针对现有设备设施情况,梳理设备物模型,为物联网数据接入提供支撑;构建智能分析机制,为设备健康检测、故障预警提供支撑;以及选取一个车间构建组态展现模式,动态的呈现车间的运行情况。
物联网平台满足智能化的需求,建设全域支撑能力,逻辑架构图如下图:
物联网平台主要有数据网关、实时服务、智能分析、数据呈现、以及设备管理和设备维护组成。
数据网关:采用协议适配技术,适配各类型生产制造过程中的设备,提供统一的物联网数据接入标准;
智能分析:采用实时流数据处理技术,对数据网关接入的实时数据进行在线分析,并且建立规则库能够对分析的结果进行告警推送;
实时服务:采用MQTT+接口方式,提供实时服务,为前端展现、组态展现提供实时数据服务;
数据呈现:采用组态方式对现场的生产制造过程进行数据呈现;
设备管理、设备维护:对所有设备、设施进行统一的注册、以及建立物模型管理机制,对设备的全生命周期进行管理。
数据网关是负责对接工业物联设备的适配器,针对不同类型的物联网协议提供通信的统一适配接口,能够对设备的上行、下行数据进行编解码。
协议网关负责对接设备,采集数据内容,架构上采用可拔插的设计模式,将数据网关划分为协议网关、编码组件、解码组件、转换规则组件组成。由协议网关对接设备,对数据进行编解码、并处理,示意图如下:
协议网关是负责对接设备,实现对设备数据采集,以及涉及下行指令的对数据进行下发控制。针对常用的物联网协议提供支持,包括:MQTT数据网关、ModBus数据网关、TCP/UDP数据网关、OPC UA数据网关、WebSocket数据网关以及可以根据规范进行自定义数据网关。
-
-
-
-
-
- MQTT数据网关
-
-
-
-
MQTT数据网关用于实现与基于MQTT协议通信的设备进行互联,支持基于TCP协议、WebSocket协议进行MQTT通信,针对上行数据使用配置的解码组件对数据进行解码,形成有效的数据集,并发送到消息队列中。
-
-
-
-
-
- ModBus数据网关
-
-
-
-
构建ModBus通信协议连接设备,支持ASCII、RTU、TCP模式对数据进行传输。
-
-
-
-
-
- TCP/UDP数据网关
-
-
-
-
提供基于TCP/UDP协议的自定义数据网关,可以结合编码组件、解码组件对数据进行解码,实现双向通信。
-
-
-
-
-
- OPC UA数据网关
-
-
-
-
通过OPC UA,所有需要的信息在任何时间,任何地点对每个授权的应用,每个授权的人员都可用。这种功能独立于制造厂商的原始应用,编程语言和操作系统。 OPC UA是目前已经使用的OPC 工业标准的补充,提供重要的一些特性,包括如平台独立性,扩展性,高可靠性和连接互联网的能力。 OPC UA不再依靠DCOM,而是基于面向服务的架构,OPC UA的使用更简便。现在,OPC UA已经成为独立于微软,UNIX或其他的操作系统企业层和嵌入式自动组建之间的桥梁。
-
-
-
-
-
- WebSocket数据网关
-
-
-
-
基于WebSocket协议订阅设备推送的数据内容,采用解码组件对数据报文进行解码,形成有效的数据集,并发送到消息队列中。
-
-
-
-
-
- 自定义数据网关
-
-
-
-
定义统一的数据网关接口,能够根据自己的需求实现特定的协议协议处理过程,采用Docker容器方式进行运行和管理数据网关。
解码组件是负责解析从物联网设备上采集的数据内容,提供常用的内置解码器,包括:JSON解码、XML解码、CSV解码、二级制解码,以及可以按照规范来对实现自定义的解码器。
编码组件负责将接收到的指令编码成为物联网设备的传输格式下发到物联网设备中,JSON解码、XML解码、CSV解码、二级制解码,以及可以按照接口规范实现自定义的编码器。
基于容器实例方式对数据网关的运行情况进行管理,支持对网关进行维护操作。
- 运行监控:支持对数据网关实例的CPU、内存、网络流量、自动重启次数进行监控;
- 维护操作:支持对数据网关进行重启、日志查看、命令执行等操作。
对接入的物联网设备进行统一的管理,以及对物模型进行定义,为数据网关采集物联网数据、数据分析提供基础支撑。
-
-
-
- 设备信息维护
-
-
对物联设备进行注册维护,包括以下三部分内容:
- 设备基础信息:包括设备的基础描述信息,包括:设备编码、设备名称、二维码、品牌、型号、出厂日期、尺寸、总量、材质、使用寿命、价格、供应商单位名称、供应商电话、供应商联系人、供应商网址、供应商邮箱、合同编码、使用日期、保修周期、合同截止日期等
- 设备测点信息:设备监测点信息,包括:测点名称、数据类型、描述、有效值范围等
- 表单扩展信息:包括针对不同设备类型创建的模板填写的属性信息。
-
-
- 设备分类标签
-
-
从多个维度对设备进行分类,提供分类维度管理、分类标签定义,一般常用的设备分类维度:
维度 | 标签值(示意) | 说明 |
物理位置 | XX厂房、XX楼层、XX房间 | |
所在设施 | ||
管理岗位 | 设备管理上所属的岗位 |
功能上采用多维度的方式进行管理,如下图所示。
-
-
-
- 物模型管理
-
-
对接入的物联网对象进行模型化定义,以便可以对设备进行扩展。
-
-
-
-
- 物模型维护
-
-
-
梳理各类型的设备信息,针对设备类型以及生产厂家、规格型号的设备,定义物模型,形成设备基础数据。
-
-
-
-
- 测点管理
-
-
-
对物模型关联的物联网测点信息进行管理,统一定义物联网测点数据的格式、标准、以及规则。
-
-
-
-
- 表单管理
-
-
-
对设备涉及的扩展信息,通过表单来进行维护和管理。
对设备维护过程中,涉及的维护活动进行定义,包括:活动的属性、活动行为值、活动的扩展信息。
-
-
-
-
- 维护表单模板
-
-
-
根据维护的行为需要,按照岗位职责进行组合维护活动,形成维护表单,并且提供多维度的维护表单标签功能,能够按照需求生成维护的表单。
-
-
-
-
- 维护任务管理
-
-
-
对下发或者生成的任务进行维护,根据日常巡检的情况记录到表单中。
构建实时计算引擎,接收物联网采集的数据进行实时处理,按照预定义的规则对数据进行实时分析。
提供实时计算、算法建模两种模式对物联网数据进行分析,如下图所示:
实时开发软件基于开源的分布式计算引擎(Flink、Storm)进行构建,开源的实时计算引擎已具备流式计算、任务运行调度等功能,为了方便使用以及运维管理,在开源软件基础上,封装和构建实时开发软件,包括:实时元数据管理、JAR、SQL、DAG可视化开发、任务监控与管理。
实时开发软件采用多种计算引擎,支持SQL、JAR、DAG方式构建实时任务作业,如图所示:
元数据管理模块:针对实时的元数据信息进行维护和管理,可以定义元数据的结构信息,并且将定义的元数据可以应用到不同的分布式计算系统中(Flink、Spark、Storm);
作业编排模块:提供基于WEB可视化方式进行构建实时计算作业,提供SQL作业、JAR作业、DAG作业的构建,能够满足不同场景开发实时作业的需要;
作业提交模块:将配置和开发的作业提交到Flink、Storm实时计算引擎进行执行,并且动态的检测提交的作业运行状态,同步到数据库中;
管理监控模块:读取实时计算引擎的作业监控信息,展示运行状况、以及可以查看日志信息。
流式数据处理编排:
基于人工智能、机器学习、模式识别、统计学、可视化技术等,搭建大数据建模工具和AI建模工具,提供可视化建模、Notebook 建模,集成主流机器学习、深度学习框架和丰富的标准化算法组件能力,为数据智能、数据科研、预测分析等应用快速构建和落地提供工具支持。构建故障诊断、寿命预测、能耗优化、运行态势等数据分析算法模型,进行归纳性推理,挖掘数据潜在模式和价值,满足智能监测、装备运维的智能化业务建模的场景需求。智慧电厂AI智能服务自学习。
算法开发工具主要功能包括:算法建模工具(可视化建模、Notebook建模)、模型仓库管理、算法模型服务等组成。
可视化建模模块:通过可视化拖拽,自由编排数据集、模型以及机器学习/深度学习算法组件,组成DAG。屏蔽算法代码开发过程,降低用户算法开发和数据分析门槛,提供所见即所得的交互体验;
Notebook建模模块:提供基于JupyterLab在线编程进行算法建模,提供专业机器学习环境,支持代码编写、运行和结果查看;
模型训练管理模块:实现对算法模型中使用到的数据集进行在线管理,支持文件数据集、数据库数据集的管理;
模型仓库模块:将可视化建模、Notebook建模的算法模型,构建到模型仓库中进行管理和使用;
模型服务模块:将算法模型以接口服务或者任务调度的方式发布进行使用。
可视化建模模块通过可视化拖拽,自由编排数据集、模型以及机器学习/深度学习算法组件,组成DAG。屏蔽算法代码开发过程,降低用户算法开发和数据分析门槛,提供所见即所得的交互体验,功能内容如下:
(1)构建算法模型
拖拽式实验流:通过可视化拖拽,自由编排数据集、模型以及机器学习/深度学习算法组件,组成DAG。屏蔽算法代码开发过程,降低用户算法开发和数据分析门槛,提供所见即所得的交互体验;
(2)内置丰富算法组件,支持用户完成数据处理、模型训练、模型评估和预测的实验流程设计和调试,覆盖主流算法应用场景;
(3)平台基于Web的IDE环境,提供丰富的B/S用户接口,界面友好易操作,通过简单地拖拽算法进行流程创建,支持算子连接、算子参数配置;
2.DAG模型维护
(1)发布DAG接口服务:将构建完成的算法模型发布成为接口服务算法模型,发布到模型仓库中;
(2)发布DAG任务调度:将构建完成的算法模型发布成为任务调度算法模型,发布到模型仓库中;
(3)算法模型维护:提供对构建的算法模型进行维护管理。
算法可视化建模如图所示。
基于DAG组件化的算法编排如图所示。
提供可扩展的算法组件注册机制:
提供各种常用的算法建模工具,能够快速的完成建模过程。
Notebook建模模块提供基于JupyterLab在线编程进行算法建模,提供专业机器学习环境,支持代码编写、运行和结果查看,功能内容如下:
1.Notebook建模
1)JupyterLab在线编程:JupyterLab在线编程,提供专业机器学习环境,支持代码编写、运行和结果查看;
2)交互式代码运行:以交互式方式进行代码运行,支持代码、Markdown文档、JSON、YML、CSV、各种格式的图片、Vega文件等多种类型;还支持插件扩展,最大化提升;
3)支持多语言:包括Scala、Python、R、Shell等,并能进行扩展;
4)支持通过API方式调用标准算法组件,内置统计机器学习、深度神经网络、自然语言处理、信号处理、运筹优化等算法;
2.Notebook引擎管理
1)创建Notebook引擎:支持创建notebook环境引擎,不同的实验环境提供不同的环境,支持共享存储,实现数据高可用和数据隔离,保证服务的高可用和资源隔离;
2)Notebook引擎维护:提供对Notebook的监控、销毁等维护功能;
3.Notebook模型维护
1)发布Notebook接口服务:将构建完成的算法模型发布成为接口服务算法模型,发布到模型仓库中;
2)发布Notebook任务调度:将构建完成的算法模型发布成为任务调度算法模型,发布到模型仓库中;
3)创建Notebook训练任务:通过开发测试的任务,创建成为Notebook训练任务,执行训练过程;
4)模型维护操作:对开发的模型维护管理,包括:查找、编辑、删除等。
提供对机器学习算法的训练任务进行管理和维护,支持同时训练多个分支流程,使得分析人员在一个工程中即可快速比对建模效果、调整优化模型。
模型训练管理模块实现对算法模型中使用到的数据集进行在线管理,支持文件数据集、数据库数据集的管理,功能内容如下:
1.训练任务管理
1)训练任务维护:提供对在线训练任务的管理和维护,包括:启用、停止、删除;
2)训练记录查看:支持在线查看运行结果、运行记录及运行日志,运行日志支持下载;
3)训练评估结果:对训练任务执行后的效果进行执行评估;
2.训练数据管理
1)创建文件数据训练集:创建文件数据集,能够在线对文件进行管理和维护,包括:上传、下载、移动、复制等;
2)创建数据库训练集:创建以数据库存储的数据集,能够对数据进行维护和管理;
3.训练过程监控:任务执行监控,对训练过程的任务进行监控,展示执行的信息。
构建模型仓库用户存储和管理各种类型的算法模型。
模型仓库模块:将可视化建模、Notebook建模的算法模型,构建到模型仓库中进行管理和使用,功能内容如下:
1.模型分类标签
1)分类维度管理:对算法模型进行多维的定义分类;
2)分类标签管理:定义分类维度对应的分类标签信息,提供给创建模型的时候进行选择;
2.模型分类管理:分类目录维护,对模型的主题分类进行维护,包括:创建、编辑、删除分类;
3.模型维护管理
1)上传PMML模型:将sklearn开发的PMML算法模型文件进行导入,上传成功后,生成模型镜像;
2)上传镜像模型:将按照接口规范开发的算法程序镜像包上传后,生成算法模型;
3)模型版本管理:对多次生成或者上传的算法模型进行版本管理和维护,支持滴历史版本的浏览;
4)模型导出:将算法模型导出为Docker镜像文件;
5)模型分类维护:对模型的主题分类信息进行创建、编辑、删除;
6)创建接口模型服务:将模型部署成为接口服务,接口服务以docker方式镜像运行;
7)创建任务调度模型服务:将模型部署成为调度任务,调度任务以docker容器镜像方式运行。
实现将算法模型发布成为接口服务、或者进行任务调度的方式进行部署和应用。
模型服务模块将算法模型以接口服务或者任务调度的方式发布进行使用,功能内容如下:
1.接口模型管理
1)创建接口模型服务:从算法模型中创建模型接口服务,配置模型的属性以及参数;
2)部署接口模型服务:将模型发布成为接口服务到K8S容器平台中运行;
3)卸载接口模型服务:将已经发布的模型接口服务进行卸载,停止对外服务;
4)删除接口模型服务:删除配置的接口模型服务;
5)接口模型服务监控:统计接口模型服务的访问情况,以及异常情况;
2.任务模型管理
1)创建任务模型服务:从算法模型中,创建定时调度类型的模型服务;
2)部署任务模型服务:部署到K8S中,启用任务调度机制;
3)卸载任务模型服务:停止已经发布的任务调度模型,并且回收运行的资源;
4)删除任务模型服务:移除已经配置的任务模型;
5)任务模型执行监控:对任务模型的执行进行记录和监控。
智能告警是根据实时分析、算法建模分析过程中,产生的事件,推送到智能告警规则,根据规则定于情况将告警进行推送到指定的目标中,示意图如下:
可以根据告警事件的内容,定义多条件组合告警,能够在触发满足条件后的规则发送告警通知。告警规则采用CEP实时事件引擎进行计算,支持表达式计算、时间窗口计算等规则。
针对告警规则匹配或者聚合后的事件,发送通知到指定的目标,支持MQTT推送通知、HTTP回调通知、Email发送通知。
基于MQTT协议的实时数据推送接口和基于HTTP的实时数据查询接口,从消息系统(Kafka)中接收物联网管理软件发送过来的实时监控数据,并对数据的内容进行格式提取和处理后,推送到MQTT服务器上,提供给各个分系统订阅,并且提供HTTP接口方式进行查询实时数据。软件架构图所示。
实时服务软件由实时消息接收、实时接口查询、实时MQTT推送、监控管理模块组成,功能描述如下:
- 实时消息接收模块:实现从分布式消息系统(Kafka)中接收感知车辆分系统发送过来的实时监控数据,并对数据的内容进行格式提取;
- 实时MQTT推送模块:将提取后的实时数据,通过预处理后推送到MQTT服务器上,提供给各个分系统订阅;
- 实时接口查询模块:提供基于REST方式接口查询实时的数据,基于实时数据SQL方式发布
- 监控管理模块:对数据接收、数据服务进行监控和管理。
BY组态介绍
体验地址:http://www.hcy-soft.com
演示地址:若依管理系统(生产环境)
相关文章:
物联网平台建设方案一
系统概述 构建物联网全域支撑服务能力,为实现学院涵盖物联网设备的全面感知、全域互联、全程智控、全域数字基底、全过程统筹管理奠定基础,为打造智能化提供坚实后台基石。 物联网平台向下接入各种传感器、终端和网关,向上通过开放的实施分…...
java23种设计模式-桥接模式
桥接模式(Bridge Pattern)学习笔记 🌟 定义 桥接模式属于结构型设计模式,将抽象部分与实现部分分离,使它们可以独立变化。通过组合代替继承的方式,解决多维度的扩展问题,防止类爆炸。 &#x…...
springboot实现文件上传到华为云的obs
一、前言 有时在项目中需要使用一些存储系统来存储文件,那么当项目要接入obs作为存储系统时,就会利用obs来进行文件的上传下载,具体实现如下。 二、如何通过obs实现文件的上传下载? 1.添加相关的obs的maven依赖。 <dependency…...
【红队利器】单文件一键结束火绒6.0
关于我们 4SecNet 团队专注于网络安全攻防研究,目前团队成员分布在国内多家顶级安全厂商的核心部门,包括安全研究领域、攻防实验室等,汇聚了行业内的顶尖技术力量。团队在病毒木马逆向分析、APT 追踪、破解技术、漏洞分析、红队工具开发等多个…...
DeepSeek 助力 Vue 开发:打造丝滑的滚动动画(Scroll Animations)
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
Compose 动画,让页面动起来
Compose 动画,让页面动起来 概述高级别动画APIAnimatedVisibilityMutableTransitionStateModifier.animateEnterExit自定义Enter/Exit动画 AnimatedContentContentTransform自定义动画SizeTranstion定义大小动画定义子元素动画自定义Enter/Exit动画 CrossfadeModifi…...
Windows CMD 命令大全(Complete List of Windows CMD Commands)
Windows CMD 命令大全: Windows CMD 是 Windows 系统内置的命令行工具,用于执行各种命令和管理任务。 称为Command Prompt。它提供了一个通过键入命令来与计算机系统进行交互的方式,类似于早期的DOS操作系统。以下是 CMD 的基础知识和常用命…...
DeepSeek在MATLAB上的部署与应用
在科技飞速发展的当下,人工智能与编程语言的融合不断拓展着创新边界。DeepSeek作为一款备受瞩目的大语言模型,其在自然语言处理领域展现出强大的能力。而MATLAB,作为科学计算和工程领域广泛应用的专业软件,拥有丰富的工具包和高效…...
IP代理在网络数据挖掘中的关键作用(AI大模型数据采集版)
在当今人工智能飞速发展的时代,AI大模型的训练需要海量且多样化的数据。然而,在数据采集过程中,常常面临诸多挑战,而IP代理在其中发挥着至关重要的作用。 数据采集的多样性是影响AI大模型性能的关键因素。如果数据来源单一&#x…...
pandas数据的导出
数据导出 将数据导出到CSV文件 数据对象.to_csv(filepath,sep"",indexFalse,encoding)参数1:文件的路径参数2:分隔符,默认是 ,参数3:是否保留索引 默认 Ture参数4:文件编码代码 : # 将数据导出到CSV # 引用 pandas import pandas as pd # 定…...
Claude-3.7-Sonnet:Cursor 的新引擎,解锁编码与推理的未来
引言 claude-3.7-sonnet 是 Anthropic 最新发布的大型语言模型,于 2025 年 2 月 24 日推出,并已集成到 Cursor AI 平台中。Cursor 是一个 AI 驱动的集成开发环境(IDE),旨在通过 AI 增强开发者的生产力。claude-3.7-so…...
JavaScript函数-函数的两种声明方式
在JavaScript中,函数是构建复杂逻辑和实现代码重用的基本单元。了解如何正确地定义和使用函数对于任何JavaScript开发者来说都是至关重要的。本文将详细介绍JavaScript函数的两种主要声明方式:函数声明(Function Declaration)和函…...
微服务即时通信系统---(六)语音识别子服务
目录 功能设计 模块划分 业务接口/功能示意图 服务实现流程思想 服务代码实现 编写proto文件 服务端创建子类(SpeechRecognitionServiceImpl)完成RPC服务调用函数重写 SpeechRecognize(语音识别) 服务端完成语音识别子服务类(SpeechRecognitionServer) 注意 …...
【Java 8】Lambda表达式介绍
目录 1、Lambda简介 2、语法介绍 3、Lambda表达式示例 3.1、无参数的 Lambda 表达式 3.2、单个参数的 Lambda 表达式 3.3、多个参数的 Lambda 表达式 3.4、带语句块的 Lambda 表达式 4、Lambda使用场景 4.1、替代匿名内部类 4.2、集合操作 4.3、排序 4.4、函数式接口…...
2011-2019年各省电视节目综合人口覆盖率数据
2011-2019年各省电视节目综合人口覆盖率数据 1、时间:2011-2019年 2、来源:国家统计局、统计年鉴 3、指标:行政区划代码、地区、年份、电视节目综合人口覆盖率(%) 4、范围:31省 5、指标解释:电视节目综合人口覆盖…...
便捷高效的免费 PDF 文件处理帮手
软件介绍 今天要给大家推荐一款超实用的 PDF 工具箱。它的优势十分突出,完全免费且没有任何使用限制。 安装起来毫不费力,下载完成后,直接打开就能使用。软件界面简洁大方,操作便捷顺手。其核心功能涵盖三大板块:一…...
DeepSeek引领目标检测新趋势:如何通过知识蒸馏优化模型性能
目录 一、知识蒸馏是什么? 二、知识蒸馏在目标检测中的重要性 提升实时性 跨任务迁移学习 三、如何使用知识蒸馏优化目标检测? 训练教师模型 生成软标签 训练学生模型 调节温度参数 多教师蒸馏(可选) 四、案例分享 定…...
“深入解析 SQL Server 子查询:从基础到应用”
目录 引言什么是子查询? 子查询的定义子查询的类型 子查询的使用 标量子查询多行子查询多列子查询相关子查询 子查询的性能优化子查询的实际案例总结 引言 在 SQL Server 中,子查询是一种强大的工具,允许我们在一个查询中嵌套另一个查询&am…...
375_C++_cloud手机推送,添加人脸告警信息到任务队列中,UploadAlarmPush是典型的工厂模式应用,为什么使用工厂模式完成这部分代码
一:AlarmFaceInfo的应用 让我帮你解析这个lambda表达式的实现: // ...................... .h ...........................// struct RsMsgPushTask_S : public Task{AlarmType_E mainAlarmType;unsigned int subAlarmType;DateTime alarmTime...
Vue进阶之AI智能助手项目(二)——项目评审与架构设计
AI智能助手项目 基于Vue的最佳实践main.tsApp.vue主应用给子应用下发功能语言language,theme设置及appStore状态管理状态管理router路由index.tspermission.ts基于Vue的最佳实践 src目录概览 api 接口,基于接口可以做 状态处理,interceptorassets/public 静态资源component…...
LambdaQueryWrapper在Mybatis-plus中的应用
LambdaQueryWrapper 是 MyBatis-Plus 中非常强大的工具,用于构建类型安全的查询条件。它利用 Java 的 Lambda 表达式,使得查询条件的编写更加简洁和直观。 public R getAppArticleCategoryPage(ParameterObject Page page,ParameterObject AppArticleCa…...
DeepSeek AI人工智能该如何学习?
人工智能(Artificial Intelligence, AI)是当今科技领域的热门话题,它涵盖了机器学习、深度学习、自然语言处理、计算机视觉等多个子领域。 作为中国科技发展的核心方向之一,AI在国家战略规划中占据了重要地位,特别是在…...
element ui的select选择框
我们首先先试一下,这个东西怎么玩的 <el-select v-model"select" change"changeSelect"><el-option value"香蕉"></el-option><el-option value"菠萝"></el-option><el-option value&quo…...
解决Value of type ‘AVCodecContext‘ has no member ‘channels‘ 的问题
在 FFmpeg 7.1 中,AVCodecContext 的 channels 和 channel_layout 字段已经被移除,取而代之的是 AVChannelLayout 结构。因此,代码需要进行调整以适应新的 API。 以下是如何正确设置 AVCodecContext 和 AVCodecParameters 的方法。 1. 问题分析 在 FFmpeg 7.1 中: AVCode…...
【STM32H743IIT6】STM32H7的ADC时钟频率设置问题 —— 网上大多文章未注意到的要点!
前言 我使用的是定时器触发ADC采样。最近在想达到ADC的最高采样率的时候,发现一直却卡在1Msps上不去,直到在硬汉嵌入式的论坛里才发现了答案:[ADC] STM32H743/H750的Y版和V版芯片ADC的主频区别 这篇文章就详细的讲一下这个问题,这…...
GGUF 文件格式全解析
在机器学习领域,模型的存储和部署一直是关键环节。随着大语言模型 (LLM) 的广泛应用,如何高效地存储和加载这些复杂的模型成为一个亟待解决的问题。GGUF(GGML Universal Format)作为一种新兴的二进制文件格式,旨在解决…...
剑指offer - 面试题11 旋转数组的最小数字
题目链接:旋转数组的最小数字 第一种:正确写法(num[m]和nums[r]比较) class Solution { public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * param nums int整型v…...
JNA基础使用,调用C++返回结构体
C端 test.h文件 #pragma oncestruct RespInfo {char* path;char* content;int statusCode; };extern "C" { DLL_EXPORT void readInfo(char* path, RespInfo* respInfo); }test.cpp文件 #include "test.h"void readInfo(char* path, RespInfo* respInfo…...
Typora的Github主题美化
[!note] Typora的Github主题进行一些自己喜欢的修改,主要包括:字体、代码块、表格样式 美化前: 美化后: 一、字体更换 之前便看上了「中文网字计划」的「朱雀仿宋」字体,于是一直想更换字体,奈何自己拖延症…...
计算机网络模型-TCP/IP协议簇
目录 1. OSI 参考模型 2. TCP/IP 5层协议簇 3. 数据传输过程 4. OSI模型vsTCP/IP模型 5. 工作设备和协议 1. OSI 参考模型 OSI 参考模型 OSI 参考模型 7层参考协议:同层使用相同协议,下层为上层提供服务 再往每一层填网络协议的时候,表…...
ros进阶——强化学习倒立摆的PG算法实现
项目地址:https://github.com/chan-yuu/cartpole_ws git clone https://github.com/chan-yuu/cartpole_ws依赖安装: xterm等 python3.8 torch等上一节中我们定义了很多ros工具,在这里我们将进行验证。 对于launch_robot_test.py来说&#x…...
BUU41 [GYCTF2020]FlaskApp1【SSTI】
题目: 加密处没啥事,但是解密的地方提交{{7*7}}就会返回报错界面,顺便把代码也爆出来了 text_decode base64.b64decode(text.encode()) 先将字符串 text编码为字节对象,然后使用 base64.b64decode 函数对这个字节对象进行 Base…...
pandas读取数据
pandas读取数据 导入需要的包 import pandas as pd import numpy as np import warnings import oswarnings.filterwarnings(ignore)读取纯文本文件 pd.read_csv 使用默认的标题行、逗号分隔符 import pandas as pd fpath "./datas/ml-latest-small/ratings.csv" 使…...
React + TypeScript 全栈开发最佳实践
React TypeScript 全栈开发最佳实践 一、环境搭建与项目初始化 node.js和npm的安装请参考我的文章。 1.1 脚手架选择与工程创建 # 使用Vite 5.x创建ReactTS项目(2025年主流方案) npx create-vitelatest my-app --template react-ts cd my-app npm in…...
RK3399 Android7双WiFi功能实现
在Android系统里面,WiFi功能STA和AP模式是互斥的,而现在越来越多的WiFi模组或者芯片能支持并发模式,即STA+P2P、STA+STA或者STA+AP模式组合。不管是单WiFi并发,还是双WiFi模组,想让STA和AP两个模式同时运行,对于Android7来说,是需要修改到系统源码,才能让APP层用Androi…...
前端包管理工具进化论:npm vs yarn vs pnpm 深度对比
前端包管理工具进化论:npm vs yarn vs pnpm 深度对比 一、工具定位与核心差异二、功能特性对比三、优缺点深度解析四、性能实测对比(示例数据)五、选型建议六、未来趋势 一、工具定位与核心差异 npm (Node Package Manager) Node.js 官方捆绑…...
绕过information_schema与order by注入以及seacsmv9注入
一:information_schema绕过 1,、sys数据库包含了许多视图,这些视图整合了来自information_schema和performance_schema的数据,攻击者可以利用这些视图来获取数据库结构信息。 -- 获取所有数据库名 SELECT DISTINCT table_schema FROM sys.schema_table_…...
在LangFlow中集成OpenAI Compatible API类型的大语言模型
一、背景与核心价值 从Dify换到这个langflow真的时各种的不适应啊。 就比如这个OpenAI Compatible API,这不应该是基本操作嘛? 算了,服了,习惯了就好了。咱闲言少叙,正片开始: LangFlow作为LangChain的可视化开发工具,其最大优势在于无需编写代码即可构建复杂的大模型…...
PING命令TTL解析
在 ping 命令中,TTL(Time to Live,生存时间) 是 IP 数据包的核心字段之一,用于控制数据包在网络中的生命周期。以下是针对 TTL 的简明解析: 1. TTL 的核心作用 防循环机制:TTL 是一个计数器&a…...
Hadoop 基础原理
Hadoop 基础原理 基本介绍Hadoop 的必要性Hadoop 核心组件Hadoop 生态系统中的附加组件 HDFSHDFS 集群架构HDFS 读写流程HDFS 写流程HDFS 读流程 NameNode 持久化机制 MapReduce底层原理示例 Hadoop 是一个由 Apache 基金会开发的分布式系统基础架构,主要解决海量数…...
蓝桥杯单片机基础部分——1.5基础模块代码升级
前言 之前的蓝桥杯单片机基础部分——1、基础模块代码发现有的同学不太会使,这样的话就给他们都封装一下函数,额外封装一下蜂鸣器和继电器,这就全了,到时候的逻辑只要没问题就没啥事了 LED灯模块 现在,给这里封装一个…...
PyTorch常用函数总结(持续更新)
本文主要记录自己在用 PyTorch复现经典模型 过程中遇到的一些函数及用法,以期对 常见PyTorch函数 更加熟练~ 官方Docs:PyTorch documentation — PyTorch 2.6 documentation 目录 数据层面 torch.sign(tensor) torch.tensor(np.eye(3)[y]) torch.on…...
Docker 常用命令大全
一、启动类 1. 启动 docker systemctl start docker 2. 关闭 docker systemctl stop docker 3. 重新启动 docker systemctl restart docker 4. docker 设置自启动 systemctl enable docker 5. 查看 docker 运行状态 systemctl status docker 6. 查看 docker 版本号等信息 docke…...
单片机裸机编程:状态机与其他高效编程框架
在单片机裸机编程中,状态机是一种非常强大的工具,能够有效管理复杂的逻辑和任务切换。除了状态机,还有其他几种编程模式可以在不使用 RTOS 的情况下实现高效的程序设计。以下是一些常见的方法: 1. 状态机编程 状态机通过定义系统…...
TCP,http,WebSocket
TCP(Transmission Control Protocol,传输控制协议)和HTTP(HyperText Transfer Protocol,超文本传输协议)都是网络通信中的重要协议,但它们在网络协议栈的不同层次上工作,各自负责不同…...
gotool在线工具集
1. 包含各种 sql 处理 2. 包含 json 处理 3. 包含 图片处理 4. 跨平台传输 gotool...
HBuilder X中,uni-app、js的延时操作及定时器
完整源码下载 https://download.csdn.net/download/luckyext/90430165 在HBuilder X中,uni-app、js的延时操作及定时器可以用setTimeout和setInterval这两个函数来实现。 1.setTimeout函数用于在指定的毫秒数后执行一次函数。 例如, 2秒后弹出一个提…...
ow rank decomposition如何用于矩阵的分解
1. 什么是矩阵分解和低秩分解 矩阵分解是将一个矩阵表示为若干结构更简单或具有特定性质的矩阵的组合或乘积的过程。低秩分解(Low Rank Decomposition)是其中一种方法,旨在将原矩阵近似为两个或多个秩较低的矩阵的乘积,从而降低复…...
2.3做logstash实验
收集apache日志输出到es 在真实服务器安装logstash,httpd systemctl start httpd echo 666 > /var/www/html/index.html cat /usr/local/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-patterns-core-4.1.2/patterns/httpd #系统内置变量 cd /usr/local/…...
JAVAweb之过滤器,监听器
文章目录 过滤器认识生命周期FilterConfigFilterChain过滤器执行顺序应用场景代码 监听器认识ServletContextListenerHttpSessionListenerServletRequestListener代码 过滤器 认识 Java web三大组件之一,与Servlet相似。过滤器是用来拦截请求的,而非处…...