自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 乐鑫安全制造全流程

制造安全可以分为两个方面:每台设备独一无二 和 安全。

2024-09-05 13:28:41 443

原创 工业设计开发生命周期

需求收集与分析(Requirements Gathering and Analysis)确定用户需求和外观需求。细化设计,确定外观和机械结构。比较常见的打印方式有FDM 和 光固化。下面是一张某厂家的光固化打印流程。4.

2024-08-14 12:17:59 194

原创 软件开发生命周期(基于ESP-IDF)

软件开发生命周期(Software Development Life Cycle, SDLC)是软件从概念到正式交付和维护的一系列阶段。需求收集与分析(Requirements Gathering and Analysis)确定用户需求和软件需求。根据需求创建软件架构、界面设计和系统设计。编写代码来实现设计阶段定义的软件功能。验证软件是否满足需求并且没有缺陷。包括单元测试、集成测试、系统测试和验收测试。通常在开发环境中进行,由开发者或一小群信任的测试者进行,以发现和修复基本问题。

2024-07-03 16:15:06 627

原创 硬件PCB开发生命周期

2.信号衰减和延迟测试:测试信号在传输过程中的衰减情况以及延迟程度,确保在传输路径上不会出现过多的信号衰减或延迟过大。方法:在一个信号通道中发送测试信号,使用工具监测其他信号通道中的信号,观察和记录其他通道中是否出现了不应该存在的信号。2.纹波和噪声测试:确保输出的电压是稳定的,没有过多的纹波和噪声,保证电源提供的电压是干净、稳定的。3.串扰测试:检测不同信号通道之间的串扰情况,即一个信号通道的变化对其他信号通道的影响,以避免干扰。电源和信号完整性测试:确保电源和信号传输的稳定性和完整性。

2023-11-24 01:10:26 4690

原创 Python3基础库入门(个人学习用)

事件循环(event loop)是 asyncio 的核心,可以理解为一个无限循环,我们可以把一些函数(通过 async 定义的函数,称为协程)注册到事件循环(event loop)上,Python 的 queue 库(标准库,无需安装)提供了线程安全的队列(FIFO、LIFO、优先级队列)实现,主要用于多线程编程中实现线程间的数据共享和通信。这个fun()是一个coroutine function(有点像是注册的意思),返回的是一个coroutine object,虽然调用了,但是它不会立马运行。

2025-03-29 17:20:56 608

原创 Kubernetes入门

2025-03-29 13:02:57 95

原创 大模型语音生成入门(基于cosyvoice)

下面是一段火山引擎对大模型语音生成的说明。(注意合成 与 生成)传统的语音合成方法只局限在把对应的文本内容合成出来,对于语音的自然度、富文本以及多情感的关注其实比较少。而语音生成大模型在输入和输出方面表现都要更丰富。主要包含三个模块:(1)从富文本、参考语音等输入中去生成语音token这样一个自回归的transformer模型(2)从语音token重构出语音特征的常微分扩散模型Flow Matching(3)从语音特征合成出语音波形的声码器vocoder通常是根据给定的文本 或者 其他的一

2025-03-13 17:57:07 207

原创 logger入门(基于Python3)

在 Python 中,from loguru import logger 是用于导入 Loguru 库 的核心日志记录工具 logger。Loguru 是一个第三方日志库,旨在简化 Python 日志记录(相比标准库 logging 更简洁易用),提供开箱即用的功能,如彩色输出、文件轮转、异常自动捕获等。

2025-03-12 16:09:54 190

原创 pydub AudioSegment入门(基于Pyhton3)

pydub 是一个简单易用的 Python 音频处理库,专注于提供高层次的音频操作接口,而 AudioSegment 是它的核心类,用于表示音频片段(如 MP3、WAV、OGG 等格式)。通过 AudioSegment,你可以轻松实现音频文件的加载、切割、合并、格式转换、音量调整等操作。

2025-03-12 01:18:49 359

原创 D类音频功放NS4150B

在设计功放电路时,直接copy了别人的电路,却将喇叭由原来的8Ω1W替换为了4Ω3W。测试时,毫无意外声音没有出来,下面一步步查找原因。电源端加适当的去耦电容可以确保器件的高效率及最佳的 THD+N 性能(Total Harmonic Distortion(THD)是衡量信号失真程度的核心指标,定义为基波信号以外的谐波成分总有效值与基波有效值的百分比。),同时为得到良好的高频瞬态性能,希望电容的 ESR 值要尽量小。一般使用 1uF 的陶瓷电容将 VDD 旁路到地。去耦电容在布局上应尽可能的靠近芯片的 VD

2025-03-08 18:03:13 320

原创 VAD入门(基于Python)

Silero VAD 是 Silero 语音模型系列中的语音活动检测(VAD)工具,基于深度学习实现,相比传统 VAD(如 WebRTC VAD),它在复杂噪声环境下的检测效果更好,且支持更灵活的输入格式。(1)安装(2)依赖Python 3.7+PyTorch 1.10+TorchAudio 0.10+(1) 语音段检测输入音频波形,返回语音段的起止时间(单位:毫秒)。(2) 实时语音检测支持流式音频输入,逐帧判断是否包含语音。(1) 加载模型(2)检测语音段输出示例:(3) 提取语音

2025-03-08 16:28:55 343

原创 专利规避入门

独立权利要求是专利文件中保护范围最宽泛的权利要求,它无需引用其他权利要求,直接定义了发明的核心技术方案。作用:划定专利权的边界,明确他人未经许可不得实施的技术内容。特点:独立权利要求必须包含解决技术问题的全部必要技术特征,且能够独立存在。

2025-03-07 12:46:19 227

原创 Node.js 入门

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,让 JavaScript 可以脱离浏览器在服务端运行。它发布于2009年,彻底改变了 JavaScript 只能做网页特效的刻板印象。事件驱动和非阻塞 I/O 模型轻量高效,适合高并发场景统一前后端开发语言(JavaScript)拥有最大的开源生态系统(npm)

2025-02-18 12:44:24 278

转载 Opus编解码协议入门

Opus是一种开源免费的音频编解码器,支持音乐和语音,具有低延时、带内FEC、DTX、PLC等特点,默认22.5ms延时,非常适用网络实时传输。官网:https://www.opus-codec.org。Opus协议收录于RFC6716,使用SILK和CELT两种编码。Opus在语音app应用很广泛,包括VoIP、视频会议、语音聊天、音乐直播演唱会等。即支持低码率语音,也支持高音质音乐。码率支持从6kb/s到510kb/s;采样率支持从8kHz到48kHz;可变帧长从2.5ms到60ms;

2024-12-15 14:05:22 336

原创 Wi-Fi AP模式入门(基于ESP-IDF)

主要参考资料:Wi-Fi 库: https://docs.espressif.com/projects/esp-idf/zh_CN/v4.4/esp32s3/api-reference/network/esp_wifi.htmlESP-NETIF: https://docs.espressif.com/projects/esp-idf/zh_CN/v4.4/esp32s3/api-reference/network/esp_netif.htmlWi-Fi 初始化 APvoid wifi_init

2024-11-06 01:36:19 323

原创 电子器件入门

电容量的基本单位是法拉(F),但实际使用的电容器电容量通常较小,因此常用毫法(mF)、微法(μF)、纳法(nF)和皮法(pF)等单位。对触摸感应按键而言,PCB 板上的金属感应盘就是电容的一个极板,而周围铺铜或手指构成了另一个极板,PCB材料本身或者PCB板上覆盖的介质就是电容中间的绝缘体,因而构成一个电容器。:电容器实际电容量与标称电容量的偏差称为误差,在允许的偏差范围内称为精度。:指在规定的工作温度范围内,电容器长期可靠工作时能承受的最大直流电压。

2024-10-26 16:18:51 237

原创 Wi-Fi安全性入门(基于ESP-IDF-v4.4)

Wi-Fi 网络中,非 AP 设备使用如信标、探测、(解)身份验证和(断)关联等管理帧,扫描并连接到 AP。不同于数据帧,管理帧在传输时不会加密。由此,攻击者可以利用窃听和数据包注入,在适当时机发送伪造的(解)身份验证或(断)关联管理帧,发起拒绝服务 (DoS) 和中间人攻击等攻击。PMF 通过加密单播管理帧以及为广播管理帧提供完整性检查,来应对上述解身份验证、解关联和鲁棒管理帧等攻击。此外,PMF 还提供了安全关联 (SA) 拆除机制,防止伪造的关联或验证帧使已连接的客户端断开连接。station 和 A

2024-10-19 18:19:17 1201

原创 看门狗(基于ESP-IDF)

中断看门狗定时器 (IWDT)任务看门狗定时器 (TWDT)中断看门狗负责确保 ISR(中断服务程序)不被长时间阻塞,TWDT 负责检测任务长时间运行而不让步的情况。

2024-10-19 15:43:35 291

原创 Unity测试入门(基于ESP-IDF)

ESP-IDF 提供以下方法测试软件。一种是基于目标的测试,该测试使用运行在 esp32 上的中央单元测试应用程序。这些测试使用的是基于 Unity的单元测试框架。通过把测试用例放在组件的 test 子目录,可以将其集成到 ESP-IDF 组件中。本文档主要介绍这种基于目标的测试方法。另一种是基于 Linux 主机的单元测试,其中所有硬件行为都通过 Mock 组件进行模拟。此测试方法目前仍在开发中,暂且只有一小部分ESP-IDF 组件支持 Mock,具体请参考 基于 Linux 主机的单元测试。

2024-10-11 11:58:31 1377

原创 C语言进阶(基于ESP-IDF)

GNU C对C语言标准作了扩展,允许在一个表达式里内嵌语句,允许在表达式内部使用局部变量、for循环和goto跳转语句。这种类型的表达式,我们称为语句表达式。语句表达式的格式如下。({表达式1;表达式2;表达式3})语句表达式最外面使用小括号()括起来,里面一对大括号{}包起来的是代码块,代码块里允许内嵌各种语句。语句的格式可以是一般表达式,也可以是循环、跳转语句。和一般表达式一样,语句表达式也有自己的值。语句表达式的值为内嵌语句中最后一个表达式的值。我们举个例子,使用语句表达式求值。

2024-10-09 22:14:36 1453

原创 图片格式入门

像素图(pixel image)又称位图(bitmap image)、栅格图(raster image)或点阵图。照片就是像素图。像素图是由像素点的网格组成。每个像素(pixel)是一个具有特定颜色和灰度的小方块。像素图具有分辨率的概念。分辨率通常用dpi(dots per inch)表达。像素图的特点如下:矢量图(Vector graphics)使用直线和曲线描述图形和线条,构造组成图形的元素,包括点、线、多边形、圆弧等。矢量文件中的图形元素称为对象。每个对象都是一个自成一体的实体,它具有颜色、形状、轮廓

2024-10-07 16:30:24 549

原创 esp32-camera入门(基于ESP-IDF)

2.相机初始化 并 配置图像传感器二、传输camera 到 lcd 显示可以看到 camera 示例 里对应的代码如下:这部分就是经过封装的 API 调用。先调用 esp_camera_fb_get 获取 camera 拍摄的数据,然后通过 lcd_set_index 设置 lcd 的起始和结束地址。之后将 camera 拍摄到的数据通过 lcd_write_data 来让 lcd 显示出来,最后使用 esp_camera_fb_return 释放 camera 使用的 buffer 来方便后续重复

2024-10-07 14:49:58 1752

原创 platformio.ini工程配置文件入门

ini是一个配置文件,它可以设置开发环境,与他人共享代码和配置,并利用声明性方法进行开发。platformio.ini文件可以配置多个平台和体系结构,而不必担心不同的工具链或为每个平台和体系结构构建系统。

2024-10-07 12:28:17 728

原创 LCD屏入门(基于ESP-IDF、SPI屏)

MCU常用的驱动接口在下面,大致可以划分为串口屏和并口屏。串口屏相较于并行屏优势是占用IO少,相应地数据传输带宽也低。

2024-10-06 22:28:52 1504

原创 requests和websockets库使用(基于Python)

websockets库 是一个基于 asyncio 的 Python 库,旨在提供简单易用的 WebSockets 服务器和客户端功能。有如下特性:可以使用 websockets.serve 创建一个简单的 WebSocket 服务器:websockets.serve(): 这个函数负责创建并启动一个WebSocket服务器。websocket.recv(): 这个函数是一个协程函数,用于从WebSocket接收消息。websocket.send(): 这个函数是一个协程函数,用于向WebSocket

2024-10-04 18:33:55 1512 3

原创 WebRTC入门

早期的音频采集、处理和传输技术,主要依赖于 Websocket 这种通信方式。但这在实际使用中,有时会遇到一些问题,比如在网络环境复杂的情况下,可能会导致对话出现卡顿,或者在传输过程中丢失一些关键信息,这可能会造成对话内容的误解。另外,探索基于多模态大模型的智能场景感知和识别类应用场景,Websocket 也无法承接视频传输的扩展能力。而豆包大模型,如今已经向 ChatGPT 对齐,传输已经采用了 RTC 技术。结合 RTC 实时音视频服务,可为应用提供更加自然和高效的交互体验。

2024-09-30 11:30:03 984

原创 RVC变声器入门

使用少量数据进行训练也能得到较好结果(推荐至少收集10分钟低底噪语音数据)即便在相对较差的显卡上也能快速训练使用最先进的人声音高提取算法InterSpeech2023-RMVPE根绝哑音问题。效果最好(显著地)但比crepe_full更快、资源占用更小使用top1检索替换输入源特征为训练集特征来杜绝音色泄漏。

2024-09-29 22:12:12 2108

原创 轻量级 Web 服务器入门(基于ESP-IDF)

HTTP Server 组件提供了在 ESP32 上运行轻量级 Web 服务器的功能。

2024-09-19 16:16:49 1069

原创 开源协议入门

目录简介简介

2024-09-18 14:59:31 139

原创 事件循环event loop入门(基于ESP-IDF)

事件循环库允许 ESP32 执行异步编程,这意味着它可以在等待一个操作(如网络请求或文件读写)完成的同时,继续执行其他任务。在资源受限的嵌入式设备上,传统的多线程或多进程并发模型可能会消耗大量内存和处理能力。事件循环库通过单线程的协程提供了一种轻量级的并发机制,减少了资源消耗。

2024-09-18 14:01:16 664

原创 Python包管理工具pip 入门

requirements.txt 是 python 在不同的环境中对依赖包的一种约定,用于列出 Python 项目中所有的依赖包以及对应版本号的文本文件。一般在项目的在工程目录下。

2024-09-18 10:04:53 396

原创 eFuse入门(基于ESP32)

eFuse 是一种微型的一次性可编程保险丝,可以通过“烧录”(即编程)将数据存储到 ESP32 中。EFUSE_BLK0 完全用于系统用途;EFUSE_BLK1 用于 flash 加密密钥。如果不使用 flash 加密功能,此块也可以用于用户参数;EFUSE_BLK2 用于安全启动密钥。如果不使用安全启动功能,此块也可以用于用户参数;EFUSE_BLK3 可以部分保留,以存储自定义 MAC 地址,或者完全用于用户参数。请注意,一些位已经用于 ESP-IDF。

2024-09-10 16:19:55 1243

原创 Linux入门

Linux 是一个开源的类 Unix 操作系统内核,由 Linus Torvalds 在1991年首次发布。Linux 内核是大多数流行操作系统的核心组件,这些操作系统统称为 Linux 发行版。Linux 系统以其稳定性、安全性、灵活性和强大的社区支持而闻名。Ubuntu:适合初学者和企业的流行发行版。Debian:以其稳定性和安全性著称,是许多其他发行版的基础。Fedora:注重创新和最新技术,是 Red Hat 企业的测试床。

2024-09-09 01:24:18 358

原创 部署后端WebSocket服务到AWS云服务器

如果你需要通过域名访问你的WebSocket服务,并且想要使用SSL/TLS加密,你可以在AWS Route 53中配置域名,并在AWS Certificate Manager中申请SSL证书。配置安全组,确保开放SSH端口(默认是22)以及你的WebSocket服务需要的端口(通常是80或443)。选择一个实例类型,根据你的WebSocket服务需求选择合适的CPU、内存等配置。通过SSH连接到EC2实例后,你可以使用命令行上传你的WebSocket服务代码。输入你的EC2实例的公网IP地址或域名。

2024-09-08 21:56:44 787

原创 JSON入门(基于ESP-IDF)

JSON (JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。

2024-08-29 13:08:30 791

原创 MQTT入门(基于ESP-IDF)

MQTT(Message Queuing Telemetry Transport, 消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为远程连接设备提过实时可靠的消息服务,作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。

2024-08-27 10:28:31 1053

原创 电池的入门

其中C-表示以锂金属为负极,以二氧化锰为正极的化学电池体系,R-表示电池的形状为圆柱形,如果是方形则F替代;二次电池(Secondary Cell):可以反复充电和放电的电池,如铅酸电池、镍镉(NiCd)电池、镍氢(NiMH)电池和锂离子(Li-ion)电池。电压:LIR2032电池的额定电压为3.6V,充满电后电压可达4.15V,放电终止电压为2.7V;原电池(Primary Cell):只能放电不能充电的电池,如干电池(锌锰电池)和碱性电池。18是直径,65是长度,0是指圆柱,容量为2000mah。

2024-08-26 16:19:46 503

原创 微软azure入门

https://azure.microsoft.com/zh-cn/free/选择免费试用创建资源

2024-08-16 14:12:41 531

原创 中断入门(基于ESP-IDF)

在《Unix传奇》中有这样一句话,用户态的进程/线程是三等公民、root线程是二等公民、硬件中断是一等公民。在操作系统中,"用户态"和"内核态"是两种不同的执行级别或模式。进程和线程是用户态下的执行实体,而硬件中断处理则通常在内核态进行。这里的“三等公民”、“二等公民”和“一等公民”是形象地描述它们在资源访问权限和优先级上的不同。

2024-07-22 13:07:05 607

转载 RMT入门WS2812(基于ESP-IDF)

对RMT的初始化需要设置 rmt_config_t 中的相关参数,根据官方的说明:填好相关参数后,需要调用函数 rmt_config()​​​​​​ 以使初始化参数有效和函数 rmt_driver_install() 安装驱动。使用方法:1.2 WS2812初始化对WS2812进行初始化:根据 led_strip_config_t 的定义,该结构体的第一个参数为WS2812灯的数量,第二个参数为RMT的通道值。1.3 点亮WS2812led_strip_s 结构体使用了指向函数的指针来模拟面向

2024-07-19 17:01:55 169

D类音频功放NS4150B

D类音频功放NS4150B

2025-03-08

ESP32运行轻量级 Web 服务器入门(基于ESP-IDF)

ESP32运行轻量级 Web 服务器入门(基于ESP-IDF)

2024-09-23

ES7210 User Guide

ES7210 User Guide

2024-02-07

OG02B10寄存器配置

OG02B10寄存器配置

2024-02-01

CYUSB3065入门

CYUSB3065入门

2023-12-29

空空如也

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

TA关注的人

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