- 博客(162)
- 资源 (6)
- 收藏
- 关注
原创 低功耗蓝牙(BLE):4、理解蓝牙的五种工作状态
蓝牙设备在工作时有五种主要状态:就绪态(低功耗待机)、广播态(发送设备信息)、扫描态(监听广播信号)、发起连接态(建立连接请求)和连接态(稳定数据通信)。这些状态通过动态转换实现设备的发现、连接和断开恢复功能,例如蓝牙音箱与手机的配对过程。通过事件处理机制(如MicroPython中的中断处理函数),设备能响应连接建立/断开等事件,并在断开后自动返回广播态。实验通过手机扫描和连接ESP32设备,验证了状态转换逻辑的实际表现。理解这些状态机制是掌握蓝牙通信原理的基础。
2026-06-03 10:32:51
209
原创 高通安卓设备DIAG端口启用指南
本文针对高通平台安卓设备刷机时DIAG端口启用失败的问题,提供了系统性的解决方案。首先介绍了标准方法:通过ADB命令修改系统属性启用DIAG端口。然后分析了在自定义ROM下标准方法失效的原因:关键配置文件init.qcom.usb.rc缺失DIAG相关配置。最后给出详细的手动修复方案:获取root权限后,编辑配置文件添加DIAG和DIAG+ADB模式的配置代码,包括设置正确的VID(0x05C6)和PID(0x901D/0x900E)。该方法已在小米6(LineageOS 22)上验证有效
2026-02-13 13:22:12
3554
原创 刷入原生安卓系统后因FRP分区残留引发系统异常的排查与修复
本文详细记录了作者在刷入原生安卓系统后,因FRP分区残留导致系统异常的排查与修复过程。作者在入手二手小米10并刷入LineageOS后,遭遇了应用无法安装和系统密码无法设置等问题。经过一系列排查,发现是FRP分区残留前任用户的Google账户信息所致。通过使用`fastboot erase frp`命令擦除FRP分区后,问题得以解决。文章还提供了详细的排查逻辑图和操作建议,强调了在刷机前清理FRP分区的重要性,以避免类似问题的发生。
2026-02-13 13:14:44
3480
原创 低功耗蓝牙(BLE):3、扫描请求与响应机制技术解析
BLE广播包31字节限制导致设备信息容量不足、多服务支持受限和功能扩展困难。为解决这一问题,BLE协议设计了扫描响应机制:当扫描设备(如手机)发送扫描请求后,广播设备可回复包含额外31字节数据的扫描响应。扫描请求包含扫描者和广播者的6字节地址,并通过TxAdd/RxAdd位指示地址类型。扫描响应结构与广播包相同,包含广播者地址和最多25字节的扩展数据(总长不超过31字节),通过TxAdd位指示地址类型。这种机制在不增加功耗的情况下,有效扩展了BLE设备的信息传递能力。
2026-01-10 15:54:39
3290
原创 Cortex-Debug使用PyOCD超时问题
摘要: 在GD32F470ZI开发中,使用VS Code的Cortex-Debug插件配合PyOCD调试时出现连接超时问题。调试日志显示PyOCD服务已成功启动并识别目标芯片,但插件仍报超时错误。手动启动PyOCD服务验证功能正常,表明问题可能源于插件与PyOCD的通信异常,需检查配置或兼容性。建议排查端口占用、超时参数或插件版本适配性。
2026-01-04 14:03:18
3245
原创 低功耗蓝牙(BLE):2、广播数据包解析与应用实践
BLE广播数据包结构解析:一个完整的广播包最长37字节,前6字节为MAC地址,剩余31字节为可配置的广播数据区。广播数据由若干AD Structure组成,每个包含长度字段(1字节)、类型字段(1字节)和数据内容(N字节)。常见广播类型包括设备标识(0x01)、设备名称(0x09)、发射功率(0x0A)和厂商自定义数据(0xFF)等。通过ESP32开发板和MicroPython实验验证了广播数据的组成和解析方法。掌握广播类型及其编码规则是理解BLE通信的关键。
2025-10-28 13:56:21
5236
2
原创 低功耗蓝牙(BLE):1、认识低功耗蓝牙(BLE):省电高效的无线连接能手
低功耗蓝牙(BLE)是一种专为省电设计的无线通信技术,核心目标是实现超长待机。它通过快速连接、深度睡眠和高效数据传输机制,使小型物联网设备(如智能手环、传感器)能用纽扣电池工作数月甚至数年。BLE适用于健康监测、智能家居、物品追踪等场景,传输小数据包时响应迅速,但不足以支持大文件传输。其特性包括:2.4GHz频段、10-100米传输距离、1-2Mbps速率、多设备连接能力及完善的安全机制。相比传统蓝牙,BLE更轻量、更省电,已成为物联网时代的关键连接技术。
2025-10-28 13:54:49
5264
原创 深度学习YOLO实战:16、YOLO数据集从获取到格式应用
如果你的检测目标比较特殊,比如工业零件缺陷、特定场所的设施等,公开数据集可能不够用,这时候就得自己动手做数据集了。摄像头拍摄:根据任务场景,直接用摄像头采集图像是最直接的方式。比如在产线上用高清工业相机拍产品图做缺陷检测,或者用手机、普通摄像头采集现场图像。网络爬虫:通过编写爬虫程序,可以从图片网站、搜索引擎或公开图库中批量抓取和目标类别相关的图像。这种方式获取效率高,但要注意图片版权和内容合规性。数据标注:原始图像必须经过标注才能用于训练。
2025-10-26 16:00:00
4969
原创 深度学习YOLO实战:15、深入理解数据集:训练集、验证集与测试集
好的,我们暂时将目光从复杂的训练循环和超参数调优中移开,聚焦到一切机器学习项目的根基——数据集上。如果说模型是承载智能的“大脑”,那么数据集就是灌注给这个大脑的“知识与经验”。它的质量与结构,直接决定了模型能力的天花板。回顾之前的学习,我们知道训练的本质就是将一堆图片和对应的标签喂给模型,让它学习其中的规律。但实际操作中,这个过程比"简单喂食"要精细一些。数据集类型作用使用频率必要性训练集直接训练模型,调整参数每轮都使用必需验证集监控训练过程,防止过拟合每轮都使用强烈推荐测试集。
2025-10-25 15:00:00
4106
原创 深度学习YOLO实战:14、快速上手:运行一次完整的YOLO训练
我到底该从何入手?网络上充斥着大量的代码和教程,它们告诉你“这样跑就能出结果”。但作为一个开发者,我们真正渴望的不仅仅是让代码运行起来,更是要理解其内在的逻辑,掌握从数据准备到模型交付的完整工作流。只有这样,当项目需求变化或出现报错时,我们才能游刃有余地应对,而不是陷入无休止的复制粘贴和求助。这,正是我们编写这份指南的初衷。数据集是模型的“知识源泉”:我们将探讨如何准备和构建高质量的数据,这是所有智能的根基。模型是封装知识的“智能函数”:我们将理解不同模型的选择及其原理,它决定了学习的上限。
2025-10-25 13:00:00
4106
原创 深度学习YOLO实战:13、训练选项:模型的“成才计划”
训练选项并非模型要学习的知识,而是你,作为“总教练”,用来驾驭整个训练过程的强大工具。学习节奏:是激进还是保守?(学习率、优化器)学习方式:是少量多次还是批量处理?(批次大小)学习周期:要训练多久?(训练轮数)如何防止学偏:怎样确保学到的知识能灵活运用?(验证集、早停、数据增强)没有任何一套训练选项是万能钥匙。为特定的任务、数据和模型寻找最佳的超参数组合,本身就是一个重要且需要经验与技巧的过程,这个过程被称为“超参数调优”。
2025-10-24 15:00:00
5221
原创 深度学习YOLO实战:12、模型的角色:从数据中炼就的“智能函数”
视角模型的本质关键组成部分数学视角一个极其复杂的、可调节的函数参数(权重和偏置)架构视角一个分层的、用于信息处理的计算图层(输入层、隐藏层、输出层)、激活函数程序视角一个包含了架构和参数值的状态文件等格式的文件功能视角一个将输入数据映射到智能输出的能力封装体训练好的参数所蕴含的“知识”
2025-10-24 13:45:00
4096
原创 深度学习YOLO实战:11、模型的“知识之源”:构建高质量数据集的核心指南
只有明确了最终任务,我们才能有的放矢地去准备相应的数据。如果你要预测的是比较常见的物体,比如道路上的车辆,那情况会相对轻松。因为这类常见目标,学术界和工业界通常已经积累了高质量、大规模的开源数据集。这些数据集经过专业人员精心标注,包含了各种天气、光照、角度下的车辆图片,并提供了车辆位置、类别等丰富信息。在这种情况下,我们可以直接“站在巨人的肩膀上”,省去大量数据采集和标注的繁琐工作。
2025-10-23 10:21:13
4528
原创 深度学习YOLO实战:10、模型的“成长之旅”:理解深度学习中的训练
从专业角度讲,训练是一个利用已有数据(训练数据集),通过算法自动调整模型内部参数,从而使其逐步掌握完成特定任务所需之能力的过程。准备数据集:模型的“教材”任何学习都需要资料,模型的资料就是数据集。特征:这是原始数据,比如图片的像素、一段文字的编码。标签:这是对应的标准答案,比如图片对应的物体类别“猫”、或一段情感文本对应的“积极”。初始化模型:一张“白纸”的起点训练开始时,我们从一个“未经世事”的模型入手。它的参数通常是随机赋予的,这意味着它还没有任何知识,预测效果自然惨不忍睹。
2025-10-23 10:18:09
4052
原创 深度学习YOLO实战:7、摄像头实时目标检测完整实践
本文介绍了基于YOLOv11的实时目标检测实践方法。主要内容包括:1)提供可直接运行的代码模板,支持摄像头实时检测;2)详细讲解如何确定摄像头设备节点,包括Linux系统的精准查询方法;3)展示实际运行效果及日志分析;4)指出内存泄漏警告问题及解决方案。通过从基础代码到实际部署的完整流程,帮助读者快速实现目标检测应用,适合初学者和需要快速搭建演示系统的开发者参考。文中所有代码均经过验证,并包含实用排错建议。
2025-10-22 21:21:21
5242
原创 深度学习YOLO实战:6、通过视频案例,解析YOLO模型的能力边界与选型策略
本文介绍了使用YOLO模型进行视频目标检测的实践方法。通过分解视频帧并对每帧单独检测,再合成结果视频。示例代码展示了如何使用ultralytics库的YOLO模型处理鱼群视频,但由于通用模型未包含"鱼"类别,导致识别效果不佳,误判为鸟、盆栽等无关物体。相比之下,车辆检测效果显著提升,验证了模型在已知类别上的可靠性。关键结论指出:模型能力取决于训练数据范围,特殊任务需定制训练;实际应用中需权衡速度与精度,选择合适模型变体。该案例强调了针对具体需求选择或训练模型的重要性。
2025-10-21 11:05:14
5152
原创 深度学习YOLO实战:5、基于YOLO的自动化图像批量检测方案
本文介绍了使用YOLO算法批量处理文件夹图像的方法。YOLO作为高效目标检测算法,可应用于安防监控、医疗影像分析和工业质检等场景。示例代码展示了如何对指定目录下的所有图像进行推理检测,并保存结果。关键参数包括输入路径(source)、保存选项(save)和显示控制(show)。运行后,程序会输出处理详情,包括检测对象、处理速度等,并将标注结果保存到指定目录。这种方法能显著提升大批量图像处理效率,保证检测结果的一致性。
2025-10-21 11:04:25
4195
原创 深度学习YOLO实战:4、模型的三要素:任务、类别与规模
本文系统介绍了YOLO系列模型的核心要素与应用方法。主要内容包括:1)模型支持的任务类型(目标检测、实例分割、图像分类、姿态估计)及其适用场景;2)模型预测类型,通过names属性查看预训练模型支持的80种常见物体类别,并利用classes参数优化预测;3)模型参数数量对性能的影响,示例显示yolo11n约含260万参数。文章强调理解这些要素是有效应用YOLO模型的关键,并为实际项目选择合适模型提供了指导。
2025-10-20 13:31:12
4654
原创 深度学习YOLO实战:3、如何通过参数调整提升推理效果
YOLO目标检测参数优化指南 本文介绍了YOLO模型推理参数调整的核心技巧,重点解析了常用参数功能及实际应用场景。关键参数包括:置信度阈值(conf)、IoU阈值(iou)、图像尺寸(imgsz)等,通过调整这些参数可平衡速度、精度和计算资源。文章特别提供了两个实用示例:通过line_width参数调整边界框线条粗细(默认1像素,可设为8像素增强可视性),以及使用classes参数筛选特定类别(如安防监控中仅检测"人"类)。这些参数优化技巧能将YOLO从基础应用到高效定制化使用,适合不同
2025-10-20 13:30:23
2827
原创 深度学习YOLO实战:2、理解与实现模型推理
摘要: 推理是人工智能的核心环节,指利用训练好的模型对新数据生成预测结果的过程。典型的推理流程包括数据预处理、模型加载、前向传播计算、结果后处理和输出。以YOLO目标检测为例,通过加载预训练模型,输入图片可快速识别物体并输出可视化结果(如检测到公交车和行人)。推理过程涉及前向传播计算,最终提供预测类别、位置及置信度等关键信息,使AI模型在实际应用中发挥作用。
2025-10-17 15:28:46
2928
原创 深度学习YOLO实战:1、只需两步,轻松入门YOLO目标检测
YOLO是一种高效的目标检测算法,能够在单次处理中同时识别和定位图像中的多个物体。其核心优势在于速度快、精度高,支持目标检测、姿态估计、实例分割等多种功能。YOLO通过划分网格并预测边界框实现检测,采用非极大值抑制优化结果。目前已迭代多个版本,最新为YOLOv8,广泛应用于自动驾驶、安防监控等领域。安装时需配置Python环境,安装Ultralytics包和PyTorch框架,建议初学者从轻量级yolo11n模型入手。安装完成后可通过简单命令测试环境是否配置成功。
2025-10-17 15:27:16
2848
原创 FreeRTOS 在带 Bootloader 的项目中启动失败问题分析与解决
嵌入式系统开发中,Bootloader与应用程序分离设计导致启动异常。Bootloader(0x8000000-128K)成功跳转至应用程序(0x8020000-256K)后,系统崩溃并显示PC指针异常地位于Bootloader区域(0x0800C7E4)。调试发现程序在FreeRTOS的prvPortStartFirstTask函数中崩溃,向量表地址(0x08000000)仍指向Bootloader区域而非应用程序的预期地址。这表明系统未正确重定位应用程序的向量表,导致处理器继续引用Bootloader的
2025-07-23 10:11:50
3037
原创 组合导航系统:GNSS+INS组合导航耦合方式深度解析
摘要:GNSS/INS组合导航系统根据耦合深度分为松耦合、紧耦合和深耦合三种方式。松耦合在位置/速度层面融合GNSS输出与INS数据,实现简单但对GNSS依赖性强;紧耦合直接利用GNSS原始观测值(伪距、多普勒频移)与INS深度融合,提升弱信号环境下的性能;深耦合则深入到GNSS接收机信号跟踪环节,效果最优但实现复杂。不同耦合方式的选择取决于对精度、稳定性和实现难度的权衡,其中紧耦合和深耦合在遮挡环境下表现更优。
2025-07-07 13:44:06
4224
原创 组合导航系统:原理、融合与应用解析
组合导航系统通过融合多种导航技术(如INS与GNSS、多普勒、视觉导航等),有效提升导航精度和可靠性。其核心是利用数据融合算法(如卡尔曼滤波)整合各系统优势,弥补单一系统不足。尽管存在系统复杂、成本高等问题,组合导航系统已在航空航天、无人驾驶等领域广泛应用。随着技术进步,其应用前景将更加广阔,为复杂环境下的导航需求提供更可靠解决方案。
2025-07-07 13:42:10
4422
原创 差分定位技术:如何判断当前的定位状态
摘要: GNSS接收机通过NMEA 0183协议输出定位状态信息,关键语句包括GGA和GST。GGA语句的第7字段直接指示定位模式(0无效/1单点/2差分/4 RTK固定/5 RTK浮动),需结合卫星数(≥5)和HDOP(<3)验证可靠性。GST语句提供精度"体检",通过经/纬度标准差(第4、5字段)验证GGA状态真实性:RTK固定解要求标准差≤0.03米,若>0.05米则实际精度可能已降至浮动解水平。
2025-07-04 17:49:48
5483
1
原创 差分定位技术:原理、分类与应用场景
差分定位是一种高精度的相对定位技术,通过基准站和移动站的同步观测消除GNSS系统误差。主要方法包括位置差分(米级精度)、伪距差分(亚米级)和载波相位差分(厘米级)。关键技术涵盖精密单点定位(PPP)、差分全球定位系统(DGPS)和实时动态定位(RTK)。该技术广泛应用于智能驾驶(厘米级)、无人机(厘米级)、共享出行(亚米级)及智慧城市(毫米级)等领域,产品类型包括模组(几十至几百元)和板卡(千元级)。差分定位能有效消除卫星轨道误差、大气延迟等系统误差,显著提升定位精度,是当前GNSS测量中精度最高的方法。
2025-07-04 17:47:20
6435
原创 零成本学习单片机-从51单片机开始:6、一个简单的GPIO输入-按键状态读取
本文介绍了一种零成本学习51单片机的方法,通过开源工具实现按键控制LED的仿真实验。文章详细讲解了硬件连接原理、代码编写(包括延时、LED驱动和按键扫描函数)、使用SDCC编译器生成HEX文件的步骤,以及在Edism51模拟器中的测试过程。教程适合初学者,特别强调在不破解商业软件、不购买硬件的前提下,利用免费资源掌握单片机基础。最后还提供了后续学习建议,如中断机制和实际硬件开发。所有资料均托管在GitHub上供参考。
2025-07-03 15:14:23
4757
原创 零成本学习单片机-从51单片机开始:5、LED流水灯程序开发与仿真
《零成本学习单片机:51单片机流水灯开发指南》介绍了一种完全免费的单片机学习方法,无需破解软件或购买硬件。文章作者回忆大学时期因经济限制使用Proteus仿真软件的经历,提出基于SDCC开源编译器和Edsim51模拟器的合法解决方案。教程详细讲解了LED流水灯程序的编写、编译(使用SDCC命令)和仿真测试过程,包括代码解析、硬件原理和操作步骤。所有资料托管在GitHub上,旨在帮助预算有限的学习者掌握单片机开发基础。通过实践,读者能学会GPIO控制、延时函数编写和循环移位实现流水灯效果。
2025-07-03 15:13:14
4937
原创 NetworkTermination-原始固件-分区备份
本文介绍了设备固件备份的操作流程。首先需要通过debug接口连接设备(波特率115200),然后修改SSH配置允许密码登录(默认端口33998)。登录后查看系统版本为Buildroot 2019.11.1。通过内核日志获取设备eMMC的分区信息,包含bootloader、system、data等16个分区。其中/data分区挂载点可用空间1.3GB,通过清空数据后可增至3.5GB。文中提供了详细的命令操作步骤,包括查看分区、修改SSH配置和清理存储空间等关键操作。
2025-06-24 09:37:18
6071
原创 NetworkTermination-刷机为Armbian
本文介绍了将盒子刷机为Armbian系统的详细步骤。首先需要将设备刷为ATV系统,然后准备启动工具和固件文件,使用balenaEtcher制作启动U盘。通过安卓切换卡载系统切换启动方式,从U盘启动Armbian后使用默认账户登录。文中特别指出截至2025年6月23日,某些新版本固件存在兼容性问题会导致无限重启,建议使用验证可用的旧版固件Armbian_24.2.0_amlogic_s905w_jammy_5.15.142_server_2023.12.08.img.gz。
2025-06-24 09:35:32
7390
原创 NetworkTermination-刷机为ATV
摘要:本文详细介绍了将设备刷机为ATV系统的完整步骤。准备工作包括下载V2版本的USB_Burning_Tool刷机工具和ATV固件包。刷机过程分为:1)导入刷机包并启动刷机工具;2)提前点击"开始"按钮等待设备连接;3)使用双公口USB线连接设备USB2接口;4)等待刷机进度完成。注意事项包括必须使用V2版本工具、正确连接USB2接口以及可能需要使用短接器。刷机完成后需连接HDMI和输入设备,等待系统启动进入ATV界面。整个过程需严格按步骤操作,确保设备兼容性和连接稳定性。
2025-06-23 15:01:01
6798
原创 NetworkTermination-原始固件-设备基本信息
这是一款基于晶晨S905W芯片的小众设备,配备1GB内存+8GB存储,具有百兆网口、HDMI和USB2.0接口。采用蓝色铝合金外壳被动散热,无风扇设计。搭载Buildroot 2019.11.1系统(Linux内核4.9.113),搭载四核Cortex-A53处理器,支持64位运算。设备通过有线网络连接,缺少WiFi/蓝牙功能,主板预留调试串口。文件系统分区明确,内存管理采用纯物理内存方案。作为低成本开发板,其25元的低价位和良好的硬件基础使其成为替代玩客云等设备的实惠选择,适合嵌入式开发爱好者使用。
2025-06-23 14:59:53
5610
原创 零成本学习单片机-从51单片机开始:4、Hello World之旅
本文介绍了一种0成本学习51单片机的方法,通过使用免费工具SDCC和Edsim51仿真软件,实现了从代码编写到仿真测试的全过程。作者分享了如何在未购买硬件的情况下完成单片机入门学习,包括编写串口通信代码、使用SDCC进行编译、将.ihx文件转换为.hex格式,以及在Edsim51中配置仿真环境并运行程序。该方法特别适合经济条件有限的学生,所有相关资料均开源在GitHub上。通过这个简单的"Hello World"项目,初学者可以掌握单片机开发的基本流程。
2025-06-19 11:06:40
6265
原创 零成本学习单片机-从51单片机开始:3、Linux系统下开发环境搭建
本文介绍如何在零成本条件下学习51单片机开发。作者分享使用开源工具SDCC编译器(支持51单片机架构)和免费仿真软件Edsim51的完整方案,适用于Linux系统环境。SDCC作为开源C编译器支持多种微控制器,安装简便(Ubuntu下apt install sdcc);Edsim51提供直观的图形化仿真界面,需Java环境运行。这套方案完全规避商业软件授权费用和硬件购买成本,为电子爱好者特别是学生群体提供合法合规的学习途径。通过软件仿真手段,实现从编程到调试的全流程单片机学习体验。
2025-06-19 11:04:31
6097
原创 零成本学习单片机-从51单片机开始:2、Windows系统下开发环境搭建
介绍了如何在无需破解商业软件或购买硬件的情况下,通过完全免费的资源掌握51单片机开发。作者分享了使用开源编译器SDCC(支持ANSI C89至C11标准)和Edsim51仿真软件的具体方法:SDCC提供跨平台编译支持,安装后可通过命令行验证;Edsim51需配合Java环境运行,提供直观的单步调试和寄存器监控功能。文章强调,尽管商业工具如Keil MDK年授权费高达1845-4560美元,但通过开源方案可实现合法零成本学习,所有资源已托管至GitHub供初学者使用。这套方案特别适合预算有限的学生和爱好者入
2025-06-18 16:31:26
6857
原创 零成本学习单片机-从51单片机开始:1、零成本的起点
是一款开源的C语言编译器,专门用于8位微控制器,包括51单片机。它支持多种微控制器架构,是一个功能强大的编译工具,能够将C语言代码编译为机器代码,适用于嵌入式系统开发。Edsim51是一款免费的51单片机仿真软件,专门用于模拟51单片机的运行环境。它提供了直观的图形界面和丰富的仿真功能,能够帮助用户在没有硬件设备的情况下进行程序调试和功能验证。
2025-06-18 16:30:29
6119
Armbian-24.2.0-amlogic-s905w-jammy-5.15.142-server-2023.12.08.img.gz
2025-06-23
晶晨S912-S905 -S805刷机工具Burning-Tool-v2.0.5.15-build9
2025-06-23
Quectel-Windows-USB-Driver(Q)-ECM-V1.1.0.zip
2025-01-22
Quectel-Windows-USB-Driver(Q)-NDIS-V2.8.0.zip
2025-01-22
Simplified_Physical_Layer_Spec-converted.docx
2021-03-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅