自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 解析机智云MCU源码

深入解析机智云源码最近在搞了一块乐鑫的ESP8266模块,实现手机无线控制单片机,模块烧写的固件是机智云32M的,具体烧录过程就不说了,这里解释一下源码** 队列我就不多说了已经有好多人解释过了,这里引用杰杰的解释下文便是:ringbuffer.h先看看头文件:ringbuffer.h。主要是用宏实现了一个求最小值的函数。还有就是定义了一个环形缓冲区的结构体。#define min(a, b) (a)<(b)?(a):(b) ///< Calc

2020-05-29 14:34:59 890

原创 【系统架构设计师】- 知识点汇总(易错总结)

鸿蒙使用的是微内核,安卓则是宏内核,相比于安卓的宏内核,鸿蒙的微内核更加安全,并且在微内核中可以自由加入各类模块,而宏内核中可以自由修改的范围很小。6、伪传递规则:若X→Y和YW→Z在R上成立,则XW→Z在R上也成立。2、增广律:若X→Y在R上成立,且Z⊆U,则XZ→YZ在R上也成立。7、复合规则:若X→Y和W→Z在R上成立,则XW→YZ在R上也成立。4、合并规则:若X→Y和X→Z在R上成立,则X→YZ在R上也成立。3、传递律:X→Y和Y→Z在R上成立,则X→Z在R上也成立。所以考察的是操作系统的知识点。

2024-04-02 23:51:23 988

原创 实现大华摄像头的抓图-使用HTTP方式

实现抓图,网上大部分都是使用SDK二次开发的,HTTP接口实现的基本没有介绍,好像官方叫CUI接口,但是找官方要文档,基本要不到,我自己下载了一份以前的文档,可以做大部分操作,这里免费分享给大家,评论留下邮箱。在资源里面,但是只需要实现一个抓图,使用SDK的话就太麻烦了,这里分享给大家,使用python实现,转换为其他也很方便的,直接上代码,基于自己摄像头的账号密码,以及Ip,请注意修改url、username 、password 改为自己的就行拉。也可以使用posman实现,直接出图。

2024-03-07 17:53:54 349

原创 RTSP交互过程

在交互过程中,推流客户端负责将媒体数据推送到RTSP服务器,而拉流客户端则从RTSP服务器获取媒体数据。推流客户端和拉流客户端通过向服务器发送不同的请求来进行区分,并根据需要建立传输通道、开始/暂停/停止传输等操作来完成相应的功能。在RTSP(实时流协议)中,存在两种不同的角色:推流客户端和拉流客户端。

2023-12-25 22:35:02 477

原创 使用FFmpeg进行录屏

这个示例命令使用x11grab(Linux)或gdigrab(Windows)作为输入设备,指定视频大小为1920x1080,指定编码器为libx264,并将录制的内容保存为output.mp4文件。另外,由于屏幕录制可能消耗较多的系统资源,建议在性能较好的计算机上进行录制。这只是一个简单的示例,FFmpeg提供了丰富的选项和功能,可以根据您的需求进行更高级的设置,如调整音频参数、选择不同的编码器等。构建FFmpeg命令行:使用构建好的FFmpeg命令行来录制屏幕。确定屏幕分辨率:确定要录制的屏幕分辨率。

2023-12-25 14:51:17 1869

原创 FFmpeg常见命令行

讲解视频:[https://www.bilibili.com/video/BV1WP4y1Q7Y9/?

2023-12-24 16:31:21 1458

原创 μC/OS-III 里面的环形表

在各个表项上,任务按照延时结束的先后顺序排序。因此,时钟节拍任务每次被节拍中断唤醒后,只处理一个表项,从该表项中的第一个任务开始判断任务延时是否结束,延时结束则继续判断下一个任务,否则停止判断并返回,从而大大节省时间节拍处理时间。如图 F12-10 所示,第二个定时器插入到同一个条目指向的链表中,并且系统将根据定时器的剩余时间排序,将剩余时间较少的定时器排在链表头,而剩余时间最长的定时器排在链表尾。在同一个表项上等待的多个任务按照升序排列,因此,剩余等待时间最少的任务会放在时钟节拍列表的最前面。

2023-12-21 18:34:05 1192

原创 RTP/RTCP/RTSP/SIP/SDP/RTMP对比

RTSP(Real-Time Streaming Protocol)是一种用于流媒体服务的应用层协议,它允许客户端控制和传输实时或点播媒体数据。这些协议涵盖了不同层次的功能,例如传输层(RTP)、应用层(RTCP、RTSP、SIP)以及应用层和传输层之间的接口(SDP、RTMP)。它们在实时通信、媒体传输和会话控制中发挥着重要的作用。RTCP(Real-Time Control Protocol)是 RTP 的控制协议,用于在 RTP 会话中传输控制信息,如发送者和接收者之间的统计数据、网络延迟等。

2023-12-21 16:58:01 797

原创 FFmpeg实现RTSP推流

实际应用中,您可能需要根据具体需求进行更多的配置和处理,如设置音频流、传输参数、验证身份等。释放资源,包括关闭输入文件、释放输入和输出格式上下文、释放 AVIO 上下文以及释放相关内存缓冲区。函数向输出上下文发送 RTSP TEARDOWN 请求,结束 RTSP 会话。函数打开输入文件(mp4),然后读取并发送数据包到输出上下文。打开输入文件(本地 mp4 文件),创建输入格式上下文,并读取流信息。创建输出格式上下文,设置推流的目标 URL(RTSP 服务器地址)。函数从输入文件中读取数据包,然后通过。

2023-12-21 16:10:42 836

原创 FFmpeg实现rtp推流

这个示例代码基于 FFmpeg 库,演示了如何使用 UDP 或 TCP 进行音视频传输。您可以根据实际需求修改相关参数,如输入文件、目标地址、端口号等,以适配您的具体场景。希望这个示例对您有所帮助。如果您还有其他问题,请随时提问。

2023-12-21 16:03:35 1042

原创 C++迷宫问题完全详解

深度优先搜索(DFS)和广度优先搜索(BFS)是两种常用的图遍历算法,适用于不同的问题和场景。广度优先使用的是Queue队列,队列是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口。这里使用了栈,stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口。迷宫我们都玩过,有些复杂的看的眼花缭乱,但是有没有想过,让机器帮你完成这个工作,想着就很酷,好,在实际应用中,根据问题的特点和需求,选择合适的算法来进行图遍历是非常重要的。

2023-12-20 13:15:04 1298

原创 虚拟机下Ubuntu上网设置

在NAT模式下,虚拟机的网络连接通过宿主机转发,使用宿主机的公共IP地址进行通信,外部网络无法直接访问虚拟机。在桥接模式下,虚拟机直接与物理网络相连,获得一个独立的IP地址,可以直接与外部网络通信,外部网络设备可以直接访问虚拟机。选择使用哪种模式取决于实际需求,NAT模式更适合一些简单的网络连接,而桥接模式则提供了更灵活和直接的网络访问方式。还不懂?

2023-12-16 21:01:08 2095 1

原创 【嵌入式面试】嵌入式经典面试题汇总(C语言)

在实际使用时,需要根据具体的需求和平台环境,实现相应的线程池类并提供适当的方法来创建、销毁和执行任务。平衡二叉搜索树(Balanced Binary Search Tree):平衡二叉搜索树是在BST的基础上进行了优化,以确保树的高度保持平衡,从而提供更稳定的性能。散列表具有快速的查找和插入性能,适用于大规模数据集。这个布尔表达式的含义是,如果地址段1(起始地址为a,长度为b)的结束地址大于地址段2(起始地址为C,长度为d)的起始地址,并且地址段1的起始地址小于地址段2的结束地址,则说明两个地址段有重叠。

2023-12-15 21:17:28 1241

原创 scp实现将本地的文件复制到远端

The authenticity of host '192.168.xxx.xx (192.168.xxx.xx)' can't be established.ECDSA key fingerprint is SHA256:xxxxmOCmf3G26VX1rwFh1wArLy4T4k33kEMBl482mgw.Are you sure you want to continue connecting (yes/no/[fingerprint])?Host key verification failed.

2023-12-15 15:58:34 415

原创 Tinyxml基本用法

这里介绍一下Tinyxml的基本用法,废话不多说了,直接上代码。

2023-12-14 17:36:06 247

原创 C++设计模式-Builder 构建器

将一个复杂对象的构建与其表示相分离,使得同样的构建过程(稳定)可以创建不同的表示(变化)。——《设计模式》GoF在软件开发过程中,有时候需要构建具有复杂结构的对象。如果直接在客户端代码中创建和配置这些对象,会导致代码变得复杂且难以维护。此外,如果要构建多个具有不同配置的相似对象,每次都重复编写相似的构建代码也是低效的。为了解决这些问题,可以使用建造者模式。建造者模式的核心思想是将对象的构建过程从其表示中分离出来。它允许你使用相同的构建过程来创建不同的表示形式。

2023-12-14 12:58:22 93

原创 C++ 标准库-chrono 基本用法

库,您可以在 C++ 程序中方便地进行时间和日期的处理,例如计算时间间隔、测量代码运行时间、转换时钟类型等。这个库提供了强大而灵活的工具,使得时间相关的操作变得更加简单和可靠。是 C++ 标准库中的一个头文件,它提供了处理时间和日期的功能。这个库引入了一组类型和函数,用于在程序中进行时间点、时钟和时间间隔的操作。:表示两个时间点之间的时间长度。例如,可以将一个系统时钟的时间点转换为稳定时钟的时间点。:表示一个时间的度量尺度,可以用于测量时间点之间的间隔。:可以对时间点进行算术运算,如加法、减法和比较操作。

2023-12-13 17:41:32 291

原创 单片机的低功耗模式介绍

低功耗,其实并不是嵌入式行业独有的名词,对于大多数我们常见的电器,比如。电视机、冰箱、空调等等,都有低功耗概念在里面,包括手机以及电脑。现在给大家科普一下,其实低功耗离我们并不远,它对工业生产和嵌入式而言有何意义。家用电器,比如电视机,在关机之后,通过遥控板还能控制电视机的开关,这其实就是电视机进入了低功耗状态,只保留必要的相关部分功能,将其他暂不需要的功能涉及的外设全部关闭,对电视机而言,关闭最耗电的屏幕部分,将处理器主板断电,只保留监听红外信号的MCU以及电路的供电,将设备功耗降到最低,以节约能源。

2023-12-13 17:19:18 792

原创 ONVIF协议和GB28181对比

ONVIF(Open Network Video Interface Forum)协议是一个开放的行业标准,旨在实现不同厂商的网络摄像头之间的互操作性。它基于SOAP(Simple Object Access Protocol)和XML(eXtensible Markup Language),通过Web服务提供统一的接口来管理和控制摄像头。GB28181(也称为SIP视频标准)是中国国家标准委员会发布的一项标准,旨在实现视频监控设备之间的互通互联。

2023-12-12 11:07:34 878

原创 关于linux开机自启动

这些配置项定义了系统启动过程中的各个步骤和要执行的命令或脚本。它们确保系统在启动和关闭时按照特定的顺序进行必要的初始化和清理操作。这段代码是/etc/inittab文件的示例内容,用于初始化和配置系统启动过程中的各个步骤。/etc/inittab是Linux系统中的一个配置文件,用于定义系统的运行级别和相应的操作。最后,进程(process)部分表示要执行的具体进程。以S开头的为start,以K开头的为kill。数字小的先执行,字母小的先运行。

2023-12-08 18:37:10 175

原创 使用单例模式+观察者模式实现参数配置实时更新

需要注意的是,由于比较的是观察者对象的地址而不是函数对象本身,因此在使用这种比较器时需要小心。确保观察者对象的生命周期足够长,以便比较其地址的有效性。这样做可以确保观察者在集合中以特定的顺序存储,并且在通知观察者时按照指定的顺序进行遍历。来比较两个观察者对象的函数对象类型是否相同。函数,该函数接受两个观察者对象作为参数,并返回一个布尔值来表示它们的相对顺序。对象的指针是否相等,以判断两个观察者对象的函数对象类型是否相同。在这个比较器中,我们简单地使用观察者对象的内存地址进行比较。在上述代码中,我们使用。

2023-12-07 23:28:37 434

原创 Uboot顶层Makefile分析记录-make的流程

目标 u-boot 依赖于 u-boot_init、u-boot-main 和 u-boot.lds,u-boot_init 和 u-boot-main 是两个。第 832 行就是目标 u-boot.bin 的规则,目标 u-boot.bin 依赖于 u-boot-nodtb.bin,命令为$(call。既然 u-boot.bin 依赖于 u-boot-nodtb.bin,那么肯定要先生成 u-boot-nodtb.bin 文件,顶层。KBUILD_EXTMOD 肯定为空,_all 的依赖就是 all。

2023-12-06 16:52:30 46

原创 智能家居开关接线方法

一、灵动开关

2023-12-03 22:09:54 44

原创 linux 手动安装移植 haveged,解决随机数初始化慢的问题

根据错误提示,你使用的是Automake 1.16.1版本,但项目中的configure.ac文件中使用了AM_INIT_AUTOMAKE宏定义来指定Automake版本为1.15。但是在某些时候会卡在这个log很长时间,这是因为在开机时系统中断不够或程序运行时熵不足,生成随机数非常缓慢,导致阻塞,进而导致无法开机、app无法正常运行等一系列bug。前面提到的版本错误是由于automake的版本不一致问题,首先查看自己的版本,这里的版本是1.16。1、修改configure文件,将版本改为自己的版本,

2023-11-29 12:06:40 460

原创 PDF书签自动生成

不知你是否遇到过网上下载了一个PDF文件,打开后发现,里面有几百页,甚至上千,最让人头疼的是,竟然没有导航标签,头都大了,手动一个个敲也不现实,那么,这篇文章对你有很大的用处,好,废话不多说,直接上手把手教程!注意不能直接在目录进行添加,需要到正文里面找一级标题、二级标题、三级标题等。打开软件,点击“自动生成书签”将xml文件拖拽到编辑区。

2023-11-27 11:26:36 352

原创 ubuntu下valgrind的安装与调试记录

Valgrind工具套件提供了许多调试和分析工具,可帮助您加快程序运行速度更正确。这些工具中最流行的是Memcheck。它可以检测到许多与内存相关的错误在C和C++程序中很常见,这可能导致崩溃和不可预测的行为。本指南的其余部分提供了开始检测程序中内存错误所需的最低信息Memcheck。有关Memcheck和其他工具的完整文档,请阅读用户手册。

2023-11-15 17:00:33 274

原创 C++常用的字符转换、算法

4、格式化字符串流:可以使用 std::stringstream 的成员函数 str()、seekp()、tellp()、clear() 等进行格式化字符串流的操作。例如:std::string s = ss.str();1、创建字符串流:可以使用 std::stringstream 构造函数创建一个字符串流。2、向字符串流中插入或写入数据:可以使用 << 运算符向字符串流中插入或写入数据。3、从字符串流中提取或读取数据:可以使用 >> 运算符从字符串流中提取或读取数据。可以使用到sstream。

2023-11-14 17:03:32 421

原创 linux路由表配置-解决多网卡问题

在Linux系统中,路由表是用于指导数据包转发的关键配置。当你的服务器拥有多个网卡时,理解并正确配置路由表就变得尤为重要。本文将帮助你解决Linux多网卡路由表配置问题,以确保数据包能够正确地转发到目标网络。

2023-11-08 18:24:02 822

原创 系统架构师-J2EE

2023-10-22 19:39:44 39

原创 作为一名程序员,还是要好好写注释的

当我们写代码时,我们可能会非常清楚自己的思路和目的,但是随着时间的推移,我们可能会对代码的具体实现产生困惑。如果我们写了注释,就可以很容易地了解代码的功能和设计思路,而不需要花费过多的时间和精力去理解代码的具体实现。其次,注释可以帮助我们提高代码的可读性。对于其他开发人员来说,要理解我们的代码可能会非常困难,如果他们没有足够的时间和精力去仔细阅读我们的代码。当我们需要修改或扩展代码时,如果我们有详细的注释,就可以很容易地了解代码的原有结构和设计思路,而不需要花费过多的时间和精力去理解代码的具体实现。

2023-10-10 14:54:34 54

原创 【软考系统架构设计师】面向对象的分析与设计(1)-基本概念

【软考系统架构设计师】面向对象的分析与设计。

2023-10-01 18:25:33 204

原创 【系统架构设计师】- 工作流参考模型WFMS

工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流逻辑进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。它由多个组件组成,包括工作流执行服务、工作流引擎、流程定义工具、客户端应用、调用应用和管理监控工具。

2023-09-24 22:58:26 123

原创 【软考系统架构设计师】软件架构风格

词汇表中包含一些构件和连接件类型,而这组约束是指出系统时如何将这些构件和连接件组合起来的。架构风格反应了领域中众多系统所共有的结构和语义特性,并指导如何将整个模块和子系统有效地组织成一个完整的系统。对软件架构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。架构设计的一个核心问题是能否达到架构级的软件复用。架构风格定义了用于描述系统的术语表和一组指导构建系统的规则。

2023-09-23 23:06:39 521

原创 【软考系统架构设计师】软件架构的概念

从需求分析到软件设计之间的过渡过程称为软件架构。只要软件架构设计好了,整个软件就不会出现坍塌性的错误,即不会崩溃。架构设计就是需求分配,将满足需求的职责分配到组件上。软件架构为软件系统提供了一个结构、行为、属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成软件架构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构件之间的对应关系,提供了一些设计决策的基本原理。解决好软件的服用、质量和维护问题,是研究软件架构的根本目的。

2023-09-23 17:55:15 101

原创 基于架构的软件开发方法

(Architecture Specification Document):这个文档描述了软件系统的整体架构,包括各个组件、模块之间的关系和交互方式,以及系统的功能和性能要求等。架构复审:由外部人员(独立于开发组织之外的人,如用户代表和领域专家等)参加的复审,复审架构是否满足需求,质量问题,构件划分合理性等。ABSD方法是递归的,且迭代的每一个步骤都是清晰定义的。因此,不管设计是否完成,架构总是清晰的,有助于降低架构设计的随意性。的组合驱动架构设计。文档是至关重要的,是所有人员通信的手段,关系开发的成败。

2023-09-22 10:24:26 428

原创 数据流图DFD

数据流图是一种以图形方式表示数据处理过程的工具,它描绘了数据在系统中的流动路径和经过的处理过程。在数据流图中,可以清晰地看出系统的数据处理流程、信息交流以及各部分之间的关系,有助于分析人员更好地理解系统的结构和功能,从而更好地进行系统设计和实现。:在绘制完初步的数据流图后,根据系统的实际情况和完善需求,完善图中的细节,例如添加注释、标明数据类型和格式等。:数据存储是系统中存储数据的单元,它可以是一个文件、数据库或内存中的变量。:数据流是系统中数据的流动,它可以是输入、输出或存储在系统中的数据。

2023-09-20 11:07:55 4941

原创 【软考系统架构设计师】DSSA特定领域软件架构

本阶段的重点是确定什么在感兴趣的领域中以及本过程到何时结束。这个阶段的一个主要输出是领域中的应用需要满足一系列用户的需求。本阶段的目标是编译领域字典和领域术语的同义词词典。在领域工程过程的前一个阶段产生的高层块圈将被增加更多的细节,特别是识别领域中应用间的共同性和差异性。本阶段的目标是描述解空间中有差别的特性。不仅要识别出约束,并且要记录约束对设设计和实现决定造成的后果,还要记录对处理这些问题时产生的所有问题的讨论。本阶段的目标是产生一般的体系结构,并说明构成它们的模块或构件的语法和语义。

2023-09-18 10:31:31 884 2

原创 【系统架构设计师】-软件开发方法

与瀑布模型相反,原型针对的就是需求不明确的情况,首先快速构建一个功能模型,演示给用户看,并按要求及时修改,中间再通过不断的演示与用户沟通,最终设计出项目,就不会出现与用户要求不符合的情况,采用的是迭代的思想,不适合超大型项目的开发。在RAD模型中,也采用了基于构件的开发方法,利用已有的程序结构或使用构件进行复用,以提高开发进度和效率。总的来说,快速应用开发模型通过基于构件的开发方法和CASE工具的使用,能够快速构建可运行的软件原型,然后逐步完善和优化,以适应需求的变化并提高开发效率。

2023-09-17 23:57:40 272

原创 【软考系统架构设计师】2022年下系统架构师综合知识历年真题-论文

是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。湖仓一体是一种新型的开放式架构,打通了数据仓库和数据湖,将数据仓库的高性能及管理能力与数据湖的灵活性融合了起来,底层支持多种数据类型并存,能实现数据间的相互共享,上层可以通过统一封装的接口进行访问,可同时支持实时查询和分析,为企业进行数据治理带来了更多的便利性。在面向对象的软件开发方法中,如果从类库中检索出来的基类能够完全满足新系统的需求,则可以直接应用,否则,必须以基类为父类,生成相应的子类,以满足新系统的需求。

2023-09-17 15:21:28 563 1

原创 【软考系统架构设计师】2022年下系统架构师综合知识历年真题-案例分析

智能决策数据库中的策略可以对故障开展定性或定量分析,通常,在定量分析中,普遍采用基于解析模型的方法和数据驱动的方法,张工在方案中提出该系统定量分析时应采用基于解析模型的方法。系统的故障检测和诊断是宇航系统提高装备可靠性的主要技术之一,随着装备信息化的发展,分布式架构下的资源配置越来越多、资源布局也越来越分散,这对系统的故障检测和诊断方法提出了新的要求,为了适应宇航装备的分布式综合化电子系统的发展,解决由于系统资源部署的分散性,造成系统状态的综合和监控困难的问题,公司领导安排张工进行研究。

2023-09-17 15:20:15 258 1

LogSummon20210729.log

SL651-2014水文协议,里面有协议的示例

2022-09-19

SL651协议示例,南水所送检

SL651-2014水文协议,里面有协议的示例

2022-09-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除