- 博客(280)
- 收藏
- 关注
原创 上位机知识篇---dialout&uucp组
将用户添加到 dialout 或 uucp 组的核心原因是Unix/Linux 系统通过文件所属组管理设备访问权限。这一机制既遵循最小权限原则,避免直接使用 root 权限的风险,又兼容传统硬件和软件场景。操作时需根据系统发行版和设备实际权限,选择正确的组并验证权限生效,同时通过 udev 规则等手段确保权限配置的持久性和安全性。
2025-06-08 19:06:08
1002
原创 程序代码篇---随机数与随机数种子
本文简单介绍了随机数和随机数种子,以机器时间作为随机数种子是一种简单、高效且通用的方案,适用于大多数非加密场景。其核心优势在于利用时间的动态性确保种子唯一性,但需注意时间可预测性和精度问题。在安全敏感场景(如密码学)中,需结合更复杂的熵源或直接使用系统提供的加密安全随机数工具。通过合理设计种子生成逻辑,可在随机性、性能和安全性之间取得平衡。
2025-06-08 18:52:05
1083
原创 嵌入式知识篇---Zigbee串口
本文简单介绍了在使用 Zigbee 模块进行数据传输时,一台电脑能接收数据而另一台不能,通常与硬件连接、驱动程序、串口配置、权限或环境干扰等因素有关。在 Python 中,serial和pyserial是经常被提及的两个库,它们在串口通信方面有着紧密的联系,但又存在一些差异。
2025-06-07 23:53:46
1071
原创 程序代码篇---Python串口
本文简单介绍了一下知识:在 Python 里,serial库(一般指pyserial)是串口通信的常用工具。read和readline和readlines之间的区别计算机中,\r(回车符)、\n(换行符)和\r\n(回车换行符)
2025-06-07 23:51:58
1008
原创 程序代码篇---ESP32-S3小智固件
该系统采用完整的语音处理流水线架构,从硬件到应用层实现全流程语音交互。硬件层采用ESP32-S3芯片配合麦克风阵列和扬声器,软件层包含五大核心模块:语音采集(I2S接口实现16kHz采样)、唤醒词检测(TensorFlow Lite Micro实现轻量级模型)、云端ASR(HTTP调用百度API)、本地NLP(意图分类与槽位填充)以及TTS语音合成。系统优化方面涉及双核处理、PSRAM扩展、INT8模型量化等技术,同时通过休眠策略和电源管理实现低功耗运行。典型应用场景包括天气查询、设备控制等,未来可扩展多模
2025-06-07 01:57:37
971
原创 程度代码篇---MediaPipe算法
MediaPipe 是 Google 开发的跨平台开源框架,用于构建多模态机器学习应用,尤其擅长实时人体关键点检测和姿态估计。与传统算法(如 Haar 级联、LBPH)相比,它基于深度学习模型,能够同时处理人脸、手部、身体姿态等多维度信息,并提供端到端的解决方案。
2025-06-07 01:46:07
696
原创 程序代码篇---Haar 级联检测器&LBPH 算法
本文对比分析了两种经典计算机视觉算法。Haar级联检测器通过Haar-like特征和级联分类器实现目标快速检测,适用于人脸检测等任务;LBPH算法利用局部二值模式纹理特征进行识别,适用于人脸识别。两种算法各具优势:前者检测速度快,后者对光照变化鲁棒。实际应用中常将二者结合,构建完整的人脸识别系统。尽管这些传统算法在实时性和轻量化方面仍有价值,但正逐渐被深度学习方法替代。未来发展趋势是传统算法与深度学习结合,以及轻量化模型优化。
2025-06-07 01:24:42
998
原创 上位机知识篇---Flask框架实现Web服务
本文将简单介绍Web 服务与前端显示部分,它们基于Flask 框架和HTML/CSS/JavaScript实现,主要负责将实时视频流和检测结果通过网页展示,并提供交互式状态监控。
2025-06-07 01:04:43
995
原创 上位机知识篇---网页端实现
本文概述了网页开发的核心技术与流程。网页由HTML、CSS和JavaScript构成,分别负责结构、样式和交互。开发需掌握前端三要素及框架(如React/Vue)、构建工具(Webpack/Vite)和调试方法。流程包括需求分析、页面开发、交互实现和部署上线。关键技术涉及响应式设计、性能优化和安全防护。常见问题包括兼容性处理、跨域请求和加载速度优化。当前趋势聚焦现代框架、低代码平台和Web3应用。文章为开发者提供了从基础到进阶的系统知识框架。
2025-06-07 00:43:03
1011
原创 嵌入式硬件篇---龙芯2k1000串口
串口报错"device reports readiness to read but returned no data"的排查方法包括硬件和软件两方面。硬件需检查串口线连接是否牢固、设备供电是否正常,并确认无多设备冲突。软件方面要检查端口权限(建议使用组权限而非666模式)、驱动状态及程序参数设置(波特率等),同时注意线程安全问题。典型处理步骤包括重新插拔线缆、验证电源、检查权限配置和日志分析。
2025-06-03 02:54:13
951
原创 上位机知识篇---龙芯2k1000错误日志
龙芯教育派供电异响可能由电源元件共振、负载变化、连接松动或风扇故障引起,可检查更换元件、优化负载或清洁风扇。充电器选择需匹配设备协议,普通充电器输出5V,快充可达20V,建议使用原装充电器。龙芯平台"Execformaterror"错误通常由架构不匹配、依赖缺失、文件损坏或权限问题导致,需检查文件兼容性和系统配置。
2025-06-03 00:31:07
671
原创 嵌入式硬件篇---蜂鸣器
蜂鸣器主要分为有源和无源两类,二者在结构、工作原理及应用上有显著差异。有源蜂鸣器自带振荡电路,接通直流电即可发声,但音调固定;无源蜂鸣器需外部提供交变信号,音调可调但驱动电路较复杂。有源蜂鸣器适用于简单报警场景,而无源蜂鸣器更适合需要可变音调的应用。选择时需根据功能需求、电路复杂度和成本预算进行权衡。
2025-06-01 23:55:41
1215
原创 上位机知识篇---直接无线数据通信
无需局域网环境,可通过多种方式实现图像跨网络传输:主要方案:互联网直连:借助公网IP/端口映射或内网穿透工具(如Ngrok)直接通信云服务器中转:利用云服务搭建文件传输接口(如Flask),安全高效第三方服务:即时通讯工具(微信/QQ)FTP/云存储协议(Google Drive等)移动网络方案:手机热点临时组网WebRTC点对点传输物联网协议:MQTT发布-订阅模式,适合低带宽场景
2025-06-01 15:42:46
760
原创 上位机知识篇---无线数据传输
本文介绍了使用Python实现图像数据网络传输的完整实例,包含发送端和接收端代码。发送端通过OpenCV读取图像并压缩为JPEG格式后,采用TCP协议发送数据,先发送4字节数据长度信息,再传输图像数据。接收端按照相同协议接收数据并解码为图像显示或保存。文章详细解释了数据传输流程、网络传输关键点和扩展优化建议,如实时视频流传输、错误处理、安全性和性能优化等。该方案适用于局域网或互联网上的图像传输需求。
2025-06-01 15:25:19
446
原创 程序代码篇---face_recognition库实现的人脸检测系统
本文介绍了一个基于face_recognition库的人脸识别系统,采用模块化设计实现人脸数据加载、实时识别和动态添加功能。系统通过faces/目录存储人脸数据(按人名分类),支持摄像头实时检测与识别,并可通过按键交互添加新人脸。核心模块包括FaceManager(人脸数据管理)、utils(辅助功能)和main(主程序)。系统具有自动缓存机制、动态扩展能力和直观的操作界面,适用于考勤、安防等场景。还提供了简化版实现方案,只需将人脸照片放入指定目录即可自动加载识别。
2025-06-01 14:54:46
1111
原创 图像处理篇---face_recognition库实现人脸检测
本文介绍了使用face_recognition库实现人脸检测的完整流程。首先需要安装face_recognition、opencv-python等依赖库。核心步骤包括:加载图像、检测人脸位置(提供HOG和CNN两种模型选择)、可视化结果。文章详细展示了单张图像检测的代码示例,并扩展讲解了批量处理、视频流实时检测、人脸关键点检测等进阶用法。同时提供了常见问题解决方案和应用场景建议,如人脸数量统计、人流量监控等。该方案适合快速搭建轻量级人脸检测系统,如需更高精度可转向深度学习框架。
2025-06-01 14:46:20
512
原创 深度学习篇---face-recognition的优劣点
摘要:face_recognition库是一个基于Python的易用人脸识别工具,集成dlib深度学习模型。其优势包括极简API设计、预训练模型开箱即用、跨场景适用性强以及活跃社区支持。然而,该库存在精度天花板较低、CPU性能瓶颈、功能不可定制及依赖管理复杂等劣势。适用于快速原型验证和小型项目,但不适合工业级系统或资源受限设备。对于高精度或定制化需求,建议采用专业深度学习框架或商业SDK。该库的核心价值在于降低人脸识别技术的使用门槛,满足基础应用场景需求。
2025-06-01 14:22:33
684
原创 深度学习篇---人脸识别中的face-recognition库和深度学习
本文对比了深度学习方法和face_recognition库在人脸识别应用中的差异。深度学习方法基于神经网络训练,需要大量数据和计算资源,但精度上限高、可定制性强,适合工业级应用;face_recognition库封装了预训练模型,开箱即用、开发效率高,适合快速原型和小型项目。两者在技术原理、开发流程、应用场景和性能表现上各有特点:深度学习方法适用于需要高精度和定制化的场景,但开发门槛高;face_recognition库则提供了简单易用的解决方案,但灵活性较低。实际应用中可根据需求选择或结合使用两种方案。
2025-06-01 14:13:05
951
原创 深度学习篇---Pytorch框架下OC-SORT实现
本文详细介绍了基于PyTorch框架实现OC-SORT(Observation-Centric SORT)多目标跟踪算法的完整过程。OC-SORT在传统SORT算法基础上引入三项创新:在线平滑(OOS)、轨迹恢复(ORU)和运动方向优化(OCM)。实现内容包括:1)卡尔曼滤波模块的状态预测与更新;2)轨迹管理类的状态维护;3)基于IoU和运动方向的数据关联算法;4)完整的OC-SORT主类实现。文章还提供了参数调优建议和性能优化方案,包括检测阈值、最大未匹配帧数等关键参数的设置指导。
2025-05-30 04:17:13
459
原创 深度学习篇---OC-SORT实际应用效果
OC-SORT算法在准确性、鲁棒性和效率上显著优于SORT、DeepSORT等传统多目标跟踪算法。其以观测为中心的恢复机制(ORU)和在线平滑策略(OOS)有效降低遮挡场景的ID切换率(如MOT17数据集ID切换次数比DeepSORT减少38%),并通过运动方向一致性提升复杂运动匹配精度(MOT20场景MOTA达65.8%)。算法对低质量检测框容错性强(IDF1提升7.2%),且无需场景适配即可泛化至交通、安防等领域。计算效率方面,纯运动模式下可达85FPS(CPU),内存占用减少40%。
2025-05-30 03:58:21
1147
原创 深度学习篇---OC-SORT简介
OC-SORT是一种改进的多目标跟踪算法,通过以观测为中心的三大创新机制提升复杂场景下的跟踪性能。其核心包括在线平滑策略(OOS)缓解遮挡导致的误差累积,恢复机制(ORU)直接关联历史观测解决短时遮挡,以及动量模型(OCM)引入运动方向一致性优化匹配。该算法采用8维状态向量,在MOT17数据集上达到63.2%的MOTA和68.5%的IDF1,显著优于传统方法。建议搭配YOLOv5检测器并调整参数以获得最佳效果。
2025-05-30 03:53:45
471
原创 嵌入式知识篇---驻波和行波
驻波是由两列反向传播的相干波叠加形成的特殊振动状态,具有固定波节和波腹,能量在空间周期性分布但不传播(如弦乐器振动)。行波则是单向传播的波动,波形平移且能量持续传递(如水波)。二者核心区别在于:驻波无能量传播而能量局域化,行波有定向能量传输。驻波在乐器、谐振腔等场景有重要应用,而行波常见于声波、电磁波的传播过程。两者分别体现了能量"驻留"与"行进"的不同波动特性。
2025-05-30 01:44:23
446
原创 嵌入式知识篇---电磁波的极化和偏振
本文介绍了电磁学中极化(偏振)的概念及其分类。极化描述电磁波电场矢量在垂直传播方向平面内的振动特性,可分为线极化(固定方向振动)、圆极化(匀速旋转,轨迹为圆)和椭圆极化(旋转且振幅变化,轨迹为椭圆)。文章还探讨了极化波的合成与分解方法,以及极化在光学、通信、雷达等领域的应用,如偏振眼镜、卫星天线匹配和气象雷达探测。此外,还提及各向异性介质中的双折射现象。理解极化特性对光学和电磁工程技术具有重要意义。
2025-05-30 01:22:12
887
原创 嵌入式硬件---施密特触发器&单稳态触发器&多谐振荡器
本文介绍了三种基本数字电路的功能及NE555实现方法。施密特触发器利用滞回特性实现波形整形,抗干扰能力强;单稳态触发器通过触发信号产生固定宽度的脉冲,适用于定时控制;多谐振荡器无需触发即可产生连续方波,常用于时钟信号生成。三者核心区别在于稳态数量、触发方式和输出特性。NE555通过不同外部连接可灵活实现这三种电路:施密特触发器需短接特定引脚,单稳态需外接RC定时电路,多谐振荡器需双电阻控制频率。这些电路在波形处理、定时控制和信号发生等领域有广泛应用。
2025-05-25 23:06:27
923
原创 嵌入式硬件篇---Ne555定时器
本文介绍了NE555定时器的基本特性与应用。NE555是一款模拟与数字电路结合的集成电路,主要用于精确时间延迟或振荡信号生成,常见DIP-8和SOP-8封装。文章详细解析了各引脚功能,包括触发、阈值输入和放电端等,并阐述了其内部结构(三个5kΩ电阻、比较器等)和两种工作模式。NE555具有抗干扰强、成本低、驱动能力强(200mA)等优点,但也存在电压范围有限(16V)、温度影响精度等缺点。典型应用包括定时控制、脉冲生成、检测触发和信号处理。
2025-05-25 21:25:59
1434
原创 上位机知识篇---Word常用快捷键
本文总结了Word软件中常用的快捷键操作,分为12个类别:1.基础功能(如复制粘贴、撤销重做);2.单键及组合键功能(F1-F12配合Shift/Ctrl/Alt);3.字符格式设置(大小写转换、上下标);4.行距调整;5.段落对齐与缩进;6.样式应用(标题/正文/列表);7.文本选择技巧;8.文档管理(新建/保存/拆分窗口);9.查找替换功能;10.视图切换;11.审阅批注功能;12.引用目录操作。特别提示方框打勾符号的输入方法:2611+Alt+X或Alt+9745。掌握这些组合键可显著提升文档处理效率
2025-05-25 20:54:28
485
原创 嵌入式知识篇---热熔胶
热熔胶是一种热塑性胶粘剂,主要由高分子聚合物、树脂和添加剂组成,具有绝缘性但导电性弱,因其缺乏自由移动的电荷载体。普通热熔胶适用于低电压绝缘场景,但耐高温和潮湿性能有限,高温可能软化,潮湿环境可能降低绝缘性。特殊导电热熔胶可通过添加金属粉末或碳材料实现导电性。热熔胶分类包括EVA、PA、PES等,各有不同的耐温性和应用场景,如包装、电子、汽车等。使用时需注意安全操作、表面处理和储存条件。核心优势为快速粘接和环保,但高要求绝缘或高强度场景需选用专业材料。
2025-05-25 20:24:48
711
原创 程序代码篇---Pytorch实现LATM+APF轨迹预测
本文探讨了如何结合LSTM(长短期记忆网络)和APF(人工势场法)来提升无人驾驶系统的轨迹预测与路径规划能力。LSTM通过其门控机制捕获车辆历史运动的时序特征,精准预测未来轨迹;APF则基于实时环境信息生成无碰撞路径,通过目标引力和障碍物斥力动态调整路径。两者的深度融合能够整合历史数据与当前环境,生成平滑、安全的行驶轨迹,有效应对复杂道路场景(如雨雾天气、交通拥堵等)。文章还提供了基于PyTorch的LSTM模型实现和APF算法,展示了如何通过多模态融合优化无人驾驶决策。
2025-05-23 00:13:41
1071
原创 ROS知识篇---参数调整
本文介绍了ROS中AMCL(自适应蒙特卡洛定位)、代价地图、局部规划器和全局规划器的关键参数及其调整方法。AMCL参数包括粒子滤波、运动模型噪声和激光模型参数,影响定位精度和计算负担。代价地图参数涉及地图分辨率、障碍物检测和成本值,决定导航的安全性和灵活性。局部规划器参数控制速度、模拟时间和轨迹评分,影响路径规划的准确性和效率。全局规划器参数则涉及搜索范围、路径平滑度和平滑服务器,影响全局路径的优化和平滑效果。通过合理调整这些参数,结合硬件性能和环境需求,可以优化机器人的导航表现。
2025-05-22 02:59:52
1109
原创 程序代码篇---Python处理ESP32-S3-cam的视频流进行人脸检测和姿态检测
本文介绍了基于 ESP32-S3-CAM 的人脸姿态检测系统,并提供了相关代码示例。系统通过摄像头捕获图像,并利用人脸关键点数据进行姿态估计。代码中定义了 FaceDetectionStream 类,用于从 ESP32-S3-CAM 获取图像和人脸数据,并通过多线程实现并行处理。PoseEstimator 类则利用 3D 人脸模型和 2D 关键点进行姿态估计,计算欧拉角。此外,WarningSystem 类用于在检测到异常姿态时触发警告,支持自定义警告音或系统蜂鸣。
2025-05-22 00:42:14
1108
原创 程序代码篇---Python处理ESP32-S3-cam视频流
本文介绍了如何使用Python获取并显示ESP32-S2-Cam生成的HTTP视频流,并提供了优化显示性能的方法。基本代码使用OpenCV库捕获和显示视频流,用户需替换实际的视频流URL。优化后的代码通过多线程处理、帧大小调整、自动重连机制和资源释放优化,提升了视频流的显示性能和稳定性。此外,建议通过调整ESP32-S2-Cam的分辨率、帧率,优化网络连接,以及使用硬件加速等方式进一步提升性能。
2025-05-22 00:08:53
1592
原创 上位机知识篇---keil IDE操作
Keil IDE 是嵌入式开发中常用的集成开发环境,提供了丰富的调试功能,帮助开发者高效定位和修复代码问题。调试前的准备工作包括确保代码可编译、设置调试选项和断点。进入调试模式后,Keil 会自动切换界面,显示调试工具栏和调试窗口,如寄存器窗口、变量观察窗口、内存窗口等。调试过程中,开发者可以通过全速运行、单步执行、运行到光标处等操作控制程序执行,并通过观察窗口查看和修改变量值。Keil 还支持条件断点、内存断点、性能分析等高级功能,进一步提升调试效率。
2025-05-21 01:28:23
1392
原创 深度学习篇---LSTM&ADF轨迹预测
本文介绍了两种轨迹预测方法:LSTM(长短期记忆网络)和APF(人工势场法)。LSTM通过门控机制处理时间序列数据,能够捕捉长期依赖关系,广泛应用于行人和自动驾驶车辆的轨迹预测,但其计算复杂度高且对数据要求严格。APF则通过虚拟力场建模环境,实时性强且计算量小,适用于船舶和无人驾驶车辆的避障规划,但容易陷入局部极小值且对参数敏感。两种方法各有优缺点,适用于不同的应用场景。
2025-05-21 00:17:34
968
原创 嵌入式硬件篇---ESP32串口篇
本文详细介绍了乐鑫 ESP32-S3-DevKitC-1 开发板的串口功能。ESP32-S3 芯片集成了三个 UART 控制器(UART0/1/2),支持高达 5 Mbps 的波特率、引脚灵活重映射及自动流量控制等增强功能。开发板通过板载 USB 转串口芯片(如 CP2102N 或 FT232RL)提供 USB 转 UART0 功能,方便程序下载和调试。用户可通过排针访问 UART1 和 UART2 引脚,实现多设备通信。
2025-05-20 03:18:04
867
原创 嵌入式硬件篇---SGP30 气体传感器
SGP30气体传感器是由瑞士Sensirion公司开发的一款高精度、低功耗的气体传感器,主要用于监测空气中的总挥发性有机化合物(TVOC)和等效二氧化碳(eCO2)浓度。该传感器采用金属氧化物传感技术,通过加热金属氧化物表面并检测电导率变化来测量气体浓度,具备自校准功能以提升长期稳定性。SGP30的检测范围广泛,TVOC为0-1000 ppb,eCO2为400-32768 ppm,适用于智能家居、空气质量监测、汽车座舱及商业建筑等多种场景。
2025-05-20 02:53:44
912
原创 嵌入式硬件篇---无线通信模块
本文详细对比了四种常见的无线通信模块(蓝牙HC-05、WiFi ESP8266、2.4G射频NRF24L01、LoRa SX1278)的特性、优缺点及适用场景,并提供了基于STM32F103RCT6的实例代码。蓝牙模块适合手机外设和短距离控制,WiFi模块适合物联网和互联网接入,2.4G射频模块适合低延迟通信,LoRa模块则适用于超远距离和低功耗场景。文章还给出了调试技巧和选型建议,帮助开发者根据实际需求选择合适的无线方案。
2025-05-11 10:24:56
1451
2
原创 嵌入式硬件篇---UART
UART(Universal Asynchronous Receiver/Transmitter)是一种异步串行通信协议,广泛应用于嵌入式设备与传感器、蓝牙模块、GPS等外设的通信。文章详细解析了UART协议的物理层特性、数据帧格式及波特率计算,并提供了在STM32F103RCT6上的完整代码实现。通过CubeMX配置和HAL库代码,展示了UART的初始化、数据发送与接收(包括阻塞模式、中断模式和DMA传输),以及自定义协议设计的方法。
2025-05-11 10:08:09
944
原创 嵌入式硬件篇---CAN
本文详细介绍了CAN协议的基础知识及其在STM32F103RCT6微控制器上的实现。CAN(Controller Area Network)是一种高可靠性、多主机的串行通信协议,广泛应用于汽车电子和工业控制等领域。文章首先阐述了CAN协议的物理层特性、帧类型及数据帧格式,接着详细讲解了STM32F103RCT6的CAN硬件配置,包括引脚连接和CubeMX配置。
2025-05-11 09:38:02
2902
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人