RK3588多摄像头YOLOv5实时检测部署实战

香橙派5 RK3588 实战:YOLO11n/s 模型部署与USB摄像头实时目标检测 本文详细介绍了在香橙派5 RK3588平台上部署YOLO11n/s模型并实现USB摄像头实时目标检测的完整流程。通过模型转换、量化优化、环境配置及代码实现等关键步骤,展示了如何利用RK3588的NPU算力实现30fps以上的高效检测性能,适用于安防监控、工业质检等边缘计算场景。 阅读详情

1. 项目概述与硬件选型

大家好,今天我来分享一个实战项目:在RK3588开发板上部署多摄像头YOLOv5实时检测系统。这个项目特别适合需要多路视频分析的场景,比如智能安防、工业质检或者自动驾驶。我选择RK3588是因为它的NPU性能强悍,六核CPU加上三核NPU的架构,能轻松处理多路视频流。

先说说我的硬件配置:我用的是一块鲁班猫5开发板,搭载RK3588芯片,配备了8GB内存。摄像头方面,我接了三个USB摄像头,用的是罗技C920,支持1080P分辨率。这里有个小坑要注意:RK3588自带的USB接口可能不够用,我额外加了一个PCIe转USB扩展卡,推荐绿联的,兼容性不错。

软件环境方面,我的开发机是Ubuntu 22.04,通过SSH连接到开发板。模型用的是YOLOv5s,兼顾速度和精度。整个项目的目标是在三路摄像头同时工作时,每路都能达到25FPS以上的检测速度。

2. 环境搭建与依赖安装

环境搭建是第一步,也是最容易踩坑的地方。我的经验是尽量使用conda管理Python环境,避免版本冲突。先创建专用环境:

conda create -n rk3588_yolov5 python=3.8 -y
conda activate rk3588_yolov5

接着安装RKNN Toolkit2,这是瑞芯微官方的模型转换和推理工具。注意要安装对应版本的whl文件:

pip install rknn_toolkit2-2.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

开发板端需要安装运行时库。先把librknnrt.so和rknn_server传到开发板:

scp librknnrt.so user@192.168.1.100:~
scp rknn_server user@192.168.1.100:~

然后在开发板上设置权限并启动服务:

sudo mv librknnrt.so /usr/lib/
sudo mv rknn_server /usr/bin/
sudo chmod +x /usr/bin/rknn_server
sudo /usr/bin/rknn_server &

OpenCV是必须的,我建议直接用apt安装,省去编译的麻烦:

sudo apt update
sudo apt install python3-opencv libopencv-dev

验证安装是否成功:

python -c "import cv2; print('OpenCV version:', cv2.__version__)"
python -c "from rknn.api import RKNN; print('RKNN import success')"

3. 模型转换与优化

模型转换是关键步骤。YOLOv5的PyTorch模型需要先转ONNX再转RKNN格式。我用的YOLOv5s版本,带Relu激活函数,对NPU更友好。

先导出ONNX模型:

python export.py --weights yolov5s.pt --include onnx --opset 17

转换时注意输入尺寸要固定为640x640,NPU处理固定尺寸效率更高。接下来用RKNN Toolkit2转换:

from rknn.api import RKNN

rknn = RKNN()
rknn.config(mean_values=[[0, 0, 0]], std_values=[[255, 255, 255]], 
           target_platform='rk3588', quantize=True)
rknn.load_onnx(model='yolov5s_relu.onnx')
rknn.build(do_quantization=True, dataset='./dataset.txt')
rknn.export_rknn('./yolov5s_relu.rknn')

这里有个重要技巧:量化数据集最好用真实拍摄的图片,我用了500张摄像头采集的图片,这样量化后的精度损失更小。如果直接用COCO数据集,实际效果可能会打折扣。

转换完成后,建议在PC端先模拟运行测试:

rknn.init_runtime()
outputs = rknn.inference(inputs=[image])

确保模型输出正常后再部署到开发板。模型输出是三个特征图,需要做后处理解码,这部分后面会详细讲。

4. 多摄像头数据采集优化

多摄像头采集最容易遇到带宽和帧率问题。我刚开始直接用了OpenCV的VideoCapture,发现三路摄像头只能跑到15FPS,远远不够。后来发现是USB总线带宽分配问题。

解决方案是使用多线程采集,每个摄像头独立线程,并且降低分辨率到720P:

import threading
import cv2

class CameraThread(threading.Thread):
    def __init__(self, camera_id):
        super().__init__()
        self.camera_id = camera_id
        self.frame = None
        self.running = True
        
    def run(self):
        cap = cv2.VideoCapture(self.camera_id)
        cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
        cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)
        while self.running:
            ret, frame = cap.read()
            if ret:
                self.frame = frame
        cap.release()

还有一个坑是USB摄像头的电源管理。如果同时启动多个摄像头,可能会因为电流不足导致设备掉线。我的是外接供电的USB Hub,确保每个摄像头都能获得足够功率。

图像预处理也要放在采集线程里,减少主线程负担:

def preprocess(frame):
    frame = cv2.resize(frame, (640, 640))
    frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
    frame = frame.astype(np.float32) / 255.0
    return frame

这样处理下来,三路摄像头都能稳定在30FPS的采集速度。

5. NPU核心绑定与并行推理

RK3588的NPU有三个核心,默认情况下自动分配任务。但为了提高效率,我手动将三个摄像头绑定到不同的NPU核心上。

先查看NPU核心状态:

cat /sys/kernel/debug/rknpu/load

创建三个RKNN实例,分别绑定到不同核心:

rknn_list = []
for i in range(3):
    rknn = RKNN()
    rknn.load_rknn('yolov5s_relu.rknn')
    rknn.init_runtime(core_mask=1<<i)  # 每个实例绑定到不同核心
    rknn_list.append(rknn)

推理时采用并行处理,每个摄像头使用独立的RKNN实例:

def inference_thread(cam_id, rknn_instance, input_queue, output_queue):
    while True:
        if not input_queue.empty():
            frame = input_queue.get()
            outputs = rknn_instance.inference(inputs=[frame])
            output_queue.put((cam_id, outputs))

这样每个NPU核心都能满载运行,实测下来比自动分配效率提升30%以上。

内存使用也要优化。RK3588有8GB内存,但NPU有自己的内存空间。我预先分配了输入输出缓冲区:

input_data = np.zeros((1, 640, 640, 3), dtype=np.float32)
output_data = [np.zeros((1, 255, 80, 80), dtype=np.int8),
               np.zeros((1, 255, 40, 40), dtype=np.int8),
               np.zeros((1, 255, 20, 20), dtype=np.int8)]

重复使用这些缓冲区,避免频繁申请释放内存。

6. 后处理与结果显示

NPU输出的三个特征图需要解码成检测框。后处理算法在CPU上运行,要注意优化效率:

def decode_outputs(outputs, conf_thresh=0.5):
    boxes = []
    scores = []
    class_ids = []
    
    for i, output in enumerate(outputs):
        stride = 8 * (2 ** i)  # 8, 16, 32
        grid_size = output.shape[2]
        
        output = output.reshape((255, grid_size, grid_size))
        output = output.transpose(1, 2, 0)
        
        # 解码逻辑
        # ...
    
    return boxes, scores, class_ids

我用了C++编写后处理部分,通过cython集成到Python中,速度比纯Python快5倍。

结果显示也要优化。不要每帧都调用imshow,而是用双缓冲机制:

display_buffer = None
def display_thread():
    while True:
        if display_buffer:
            cv2.imshow('Multi-Cam Detection', display_buffer)
            cv2.waitKey(1)

对于多路视频,我采用画中画显示,三路视频缩小显示在一个画面中:

def compose_display(frames, detections):
    main_frame = frames[0].copy()
    small_h, small_w = 240, 320
    
    for i in range(1, 3):
        small_frame = cv2.resize(frames[i], (small_w, small_h))
        x = (i-1) * small_w
        y = main_frame.shape[0] - small_h
        main_frame[y:y+small_h, x:x+small_w] = small_frame
        
        # 画检测框
        for box in detections[i]:
            # 画框逻辑
            pass
            
    return main_frame

7. 性能优化与调参实战

经过以上优化,三路摄像头都能达到25FPS。但还可以进一步优化。

首先是模型量化精度。我发现用I8量化比FP16速度更快,但精度略有下降。解决办法是在量化时使用更多样本:

rknn.build(do_quantization=True, 
          dataset='./quant_dataset.txt',
          batch_size=100)  # 使用更多样本量化

其次是内存带宽优化。RK3588的内存带宽是瓶颈,所以要减少数据搬运:

# 使用零拷贝
input_data = rknn.get_input_tensor(0)
input_data.set_data(frame)
outputs = rknn.inference(inputs=[], data_format='native')

电源管理也很重要。高性能模式下NPU频率更高,但功耗更大:

echo performance > /sys/devices/platform/fde40000.npu/devfreq/fde40000.npu/governor

我测试过不同模式下的性能:

模式功耗FPS温度
均衡模式5W2065°C
性能模式8W2875°C
极限模式12W3085°C

建议根据实际需求选择模式,长期运行建议用均衡模式。

最后是温度控制。RK3588发热较大,最好加散热片:

# 监控温度
watch -n 1 cat /sys/class/thermal/thermal_zone*/temp

如果温度超过80°C,可以动态调整频率:

echo 800000000 > /sys/devices/platform/fde40000.npu/devfreq/fde40000.npu/max_freq

8. 实际部署与故障排除

部署到实际环境时,还会遇到各种问题。我这里分享几个常见故障的解决方法。

首先是摄像头掉线问题。查看USB设备状态:

lsusb -t
dmesg | grep usb

如果发现设备频繁重连,可能是供电不足,需要外接供电Hub。

其次是内存泄漏。长时间运行后系统变慢,可以用以下命令监控:

watch -n 1 free -h

RKNN Runtime有时会有内存泄漏,定期重启推理进程可以解决。

网络延迟也要注意。如果通过WiFi连接,视频流可能会卡顿。我建议用有线网络,或者降低视频码率。

还有一个常见问题是模型加载失败:

# 检查驱动版本
cat /proc/version
# 检查库版本
ldd /usr/lib/librknnrt.so

驱动和库版本要匹配,否则会加载失败。

最后是性能调优。如果帧率不达标,可以用perf工具分析瓶颈:

perf top -p $(pidof python)

我遇到过CPU后处理成为瓶颈的情况,后来用C++重写后处理部分,性能提升明显。

日志记录也很重要。我添加了详细的日志,方便排查问题:

import logging
logging.basicConfig(level=logging.INFO,
                   format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
                   handlers=[logging.FileHandler('debug.log'),
                            logging.StreamHandler()])

9. 扩展应用与进阶优化

这个多摄像头系统还可以进一步扩展。比如添加跟踪功能,实现跨摄像头的目标跟踪:

from sort import Sort

trackers = [Sort() for _ in range(3)]

def track_objects(detections, frame):
    tracks = trackers[0].update(detections)
    for track in tracks:
        # 绘制跟踪轨迹
        pass

还可以集成TensorRT,在CPU上运行一些辅助模型,比如行为识别:

# 加载行为识别模型
behavior_rknn = RKNN()
behavior_rknn.load_rknn('behavior.rknn')
behavior_rknn.init_runtime()

对于需要更高精度的场景,可以尝试模型蒸馏,用小模型达到大模型的效果:

# 知识蒸馏训练
teacher_model = YOLOv5l()
student_model = YOLOv5s()

# 蒸馏训练过程
# ...

硬件方面也可以扩展。RK3588支持PCIe 3.0,可以接更多设备。我试过接M.2接口的AI加速卡,进一步提升性能。

电源管理可以做得更智能。根据负载动态调整频率:

def adaptive_power_management(fps):
    if fps < 20:
        set_npu_frequency('performance')
    else:
        set_npu_frequency('normal')

最后是部署自动化。我写了一个一键部署脚本:

#!/bin/bash
echo "Installing dependencies..."
apt install -y python3-opencv

echo "Deploying models..."
scp models/* user@192.168.1.100:/app/models/

echo "Starting service..."
ssh user@192.168.1.100 "systemctl restart yolov5.service"

这个项目我从零开始搭建,踩过不少坑,最终实现了三路摄像头实时检测。希望我的经验对你有帮助。如果你在实施过程中遇到问题,欢迎交流讨论。

RK3588多路MIPI摄像头采集与WiFi低延迟传输实战指南 本文详细介绍了基于RK3588平台实现多路MIPI摄像头同步采集并通过WiFi进行低延迟传输的完整实战方案。文章深入剖析了从V4L2驱动配置、多线程采集、环形缓冲区设计到UDP网络传输优化的核心技术,旨在帮助开发者在工业检测、智能安防等场景下构建高并发、高实时性的视频流系统,实现端到端延迟控制在100毫秒以内的目标。 阅读详情

相关推荐

RK3588多摄像头实时YOLOv5目标检测系统部署

本文详细介绍了在RK3588开发板上部署多摄像头实时YOLOv5目标检测系统的完整方案。通过环境配置、模型转换优化、多线程采集与推理框架设计,充分利用RK3588的NPU算力,实现多路视频流实时处理,适用于智能监控和工业检测等边缘计算场景。

yyy34的博客 211

基于RK3588的8K智能摄像机方案设计

设计了一款基于石墨烯散热的8 K智能摄像头,主控采用瑞芯微RK3588,传感器采用索尼IMX435, 通过HDMI2.1将传感器采集到的图像发送到8 K显示器,实现端到端的8 K呈现,为了确保摄像头性能稳定,本 设计采用石墨烯散热。芯片发热量大,对散热要求极高,因此本文采用散热效。果好,性能稳定,散热效果好,具有极好的应用和发展。导性能,用在芯片散热上散热效果极佳,大大提升芯片。芯片和系统稳定,本设计使用石墨烯对芯片散热,完美。石墨烯是一种未来革命性的材料,具有极好的热传。路、电源电路、时钟复位电路等。

YEYUANGEN的专栏 3505

RK3588部署YOLOv11 Pose:模型转换与优化实战

边缘计算设备部署AI模型面临计算资源受限、内存带宽瓶颈和功耗约束三大挑战。YOLOv11 Pose作为集成目标检测与姿态估计的多任务模型,通过单阶段端到端设计和自适应特征融合,显著提升了在RK3588等边缘设备上的运行效率。模型转换阶段需注意ONNX导出时的动态维度和操作符兼容性,量化配置则直接影响最终推理精度。通过内存访问优化、自定义算子加速等工程实践,实测在RK3588上实现了100FPS以上的实时推理性能,关键点检测精度损失控制在3%以内。这些技术特别适用于智能门禁、健身指导等对实时性要求高的边缘AI

weixin_30755393的博客 349

RK3588camera: AHD摄像头转MIPI转接芯片调试

RK3588 AHD转MIPI BT1120转接芯片调试

qq_34341546的博客 1万+

YOLO目标检测与RK3588硬件适配实战指南

目标检测作为计算机视觉的核心技术,通过深度学习模型实现物体定位与分类。YOLO系列算法采用单阶段检测架构,将目标检测转化为回归问题,显著提升推理速度。其技术演进从YOLOv1到YOLOv8,持续优化特征提取网络和训练策略,在保持精度的同时实现轻量化。瑞芯微RK3588芯片凭借6TOPS NPU和异构计算架构,为YOLO算法提供高效硬件支持,特别适合边缘计算场景。本文结合YOLOv5模型部署案例,详解从训练环境配置、模型量化转换到RK3588板级优化的全流程实践,涵盖工业质检、智慧交通等典型应用场景的落地经验

weixin_32377497的博客 349

YOLOv8与RK3588实现嵌入式实时人体姿态识别

人体姿态识别作为计算机视觉的核心技术,通过关键点检测实现对人体动作的数字化建模。其技术原理主要基于深度学习中的卷积神经网络,通过特征提取与空间变换预测关节位置。在边缘计算场景中,YOLOv8等轻量级模型结合RK3588等高性能NPU芯片,能有效平衡精度与实时性需求。这种组合在智能健身、工业质检等领域具有重要应用价值,特别是需要低延迟响应的场景。通过模型量化、内存优化和多线程流水线等技术手段,可以在嵌入式设备上实现30FPS的高效推理,为实时姿态分析提供可靠解决方案。

weixin_29174385的博客 268

RK3588+AI+FPGA图像处理硬件算法加速解决方案

RK3588是瑞芯微新一代旗舰级高端处理器,具有高算力、低功耗、超强多媒体、丰富数据接口等特点。搭载四核A76+四核A55的八核CPU和ARM G610MP4 GPU,内置6.0TOPs算力的NPU。

YEYUANGEN的专栏 8195

香橙派RK3588 Plus上,用YOLOv8和NPU加速做个实时物体检测小项目(保姆级避坑)

本文详细介绍了在香橙派RK3588 Plus开发板上使用YOLOv8和NPU加速实现实时物体检测的完整项目指南。从系统镜像烧录、远程开发环境配置,到YOLOv8模型优化与RKNN转换,再到多线程实时检测系统开发,提供了保姆级避坑技巧和性能优化方案。特别针对NPU加速进行了深度优化,展示了在不同分辨率下的性能表现,适合边缘计算场景下的智能监控、物流分拣等应用。

weixin_29091837的博客 261

基于RK3588的8路摄像头实时全景拼接

基于RK3588的8路摄像头实时全景拼接

男儿何不带吴钩 收取关山五十州 5366

YOLOv8目标检测实战:从训练调优到RK3588部署全指南

目标检测是计算机视觉领域的核心任务之一,其技术演进始终围绕精度和速度的平衡展开。YOLOv8作为新一代检测模型,引入了Anchor-Free检测头、C2f模块和解耦头等结构创新,在COCO等通用数据集上表现出全面优于前代的精度与收敛效率。理解这些原理,是高效运用模型解决实际问题的前提。从工程实践角度看,一个完整的目标检测项目链路涉及环境配置、数据标注与增强、超参数诊断、模型导出以及边缘端部署。尤其在资源受限的嵌入式平台如RK3588上,FP32模型需转为INT8量化格式,并设计合理的多路视频流并发架构,才能

weixin_34293246的博客 317

YOLOv8实战指南:从环境配置到RK3588部署的全流程解析

目标检测是计算机视觉领域的核心任务之一,其技术演进始终围绕精度与速度的平衡展开。YOLO系列作为一阶段检测器的代表,在工程落地中占据重要地位。YOLOv8引入C2f结构、Anchor-Free检测头与解耦头等设计,在保证实时性的同时提升了检测精度。本文从环境配置入手,探讨GTX1660Ti等入门级显卡下的训练可行性,并深入解析网络结构改进、自定义数据集训练、数据增强策略等关键环节。针对边缘部署需求,详细介绍模型导出至RKNN格式并在RK3588上运行的流程,同时讨论多摄像头并发场景下的目标跟踪与计数问题。内

weixin_34198453的博客 370

YOLOv7高效部署RK3588实战指南,Spring Boot 缓存集成实践。

YOLOv7 是目标检测领域的高效算法,基于单阶段检测架构,具备实时推理能力。相比前代版本,YOLOv7 在模型结构优化和训练策略上进行了改进,包括更高效的网络设计、更强的特征融合机制以及动态标签分配技术。其核心优势在于保持高精度的同时显著提升推理速度,适合嵌入式设备部署。

2501_93981396的博客 811

YOLOv8车流检测毕设实战:RK3588部署+多端交付链路

目标检测是计算机视觉的基础任务,其核心在于模型精度与工程落地的平衡。YOLO系列作为单阶段检测器代表,凭借实时性与精度兼顾特性,广泛应用于智能交通场景。车流检测则进一步聚焦小目标、遮挡、光照变化等真实挑战,需针对性优化数据标注、锚点设计、NPU量化及多端部署策略。尤其在嵌入式AI兴起背景下,RK3588等国产SoC的NPU加速能力,使边缘端高帧率推理成为可能;而毕设级项目更强调从训练到GUI/Web/API的完整交付闭环,而非仅模型权重。本文围绕YOLOv8车流专用模型,详解标注校验、小目标召回提升、RK3

weixin_28285943的博客 22

香橙派5Pro实战:500元预算如何用YOLOv5实现30FPS实时检测(附完整RKNN转换指南)

本文详细介绍了如何在500元预算内,利用香橙派5Pro和YOLOv5模型实现30FPS的实时目标检测。通过RKNN工具链的优化转换和部署技巧,结合RK3588芯片的6TOPS NPU算力,显著提升了边缘计算设备的性能表现。文章包含完整的模型转换指南、系统调优方法和实际应用案例,为开发者提供了一套高性价比的解决方案。

efc1234567的博客 1047

YOLOv8目标检测实战:从环境配置、训练调优到RK3588边缘部署

目标检测是计算机视觉中应用最广泛的技术方向之一,从工业质检到智能安防都离不开高效可靠的检测模型。YOLOv8作为当前主流的单阶段检测框架,凭借精度与速度的平衡,成为许多工程项目的首选基线。理解其训练原理、数据组织方式与部署链路,是真正把模型用于实际场景的关键。本文从环境配置开始,梳理PyTorch版本选择、GTX1660Ti上的显存优化技巧,再到数据集标注格式、训练参数联动关系、损失曲线判读等完整流程,并深入探讨将模型转换至ONNX再部署到RK3588等边缘设备的实战问题,包括量化校准、多线程并发推理与无N

weixin_28221501的博客 254

YOLOv8自定义数据集训练全流程:从环境配置到RK3588部署实战

目标检测是计算机视觉的核心任务之一,而高效训练自定义数据集是落地应用的关键。在实际工程中,数据质量与标注规范往往决定模型上限,损失函数曲线则直观反映训练收敛状态,数据增强策略直接影响过拟合与泛化能力。同时,从训练环境搭建到多平台部署的完整链路,是许多开发者面临的现实挑战。本文以YOLOv8为例,系统梳理了从环境配置、数据标注与划分、训练参数调优到损失曲线分析、验证指标解读,以及导出ONNX并部署至RK3588边缘设备的全流程实战经验,帮助初学者避开常见坑位,快速构建可用的目标检测应用。

weixin_29047545的博客 257

边缘计算的未来:香橙派5 Pro与YOLOv5在智能安防中的应用探索

本文探讨了香橙派5 Pro与YOLOv5在智能安防中的边缘计算应用,重点解析了RK3588芯片的6TOPS NPU性能优势及部署实践。通过硬件选型对比、模型转换优化和实时视频流处理技术,展示了如何实现高效目标检测系统,为智能安防提供低延迟、高精度的解决方案。

docker7nomad的博客 796

手把手教你用Ubuntu Base 20.04打造轻量级ARM开发板根文件系统(附常见问题解决)

本文详细介绍了如何基于Ubuntu Base 20.04 LTS构建轻量级ARM开发板根文件系统,涵盖环境准备、镜像制作、跨架构配置、软件包定制及常见问题解决。通过实战指南,开发者可快速掌握ARM架构下的根文件系统构建技巧,优化系统性能并解决部署中的典型问题。

gin88的博客 213

YOLOv8与PyQt5实战:构建坑洼路面实时检测桌面工具

目标检测是计算机视觉中应用最广泛的技术方向之一,YOLOv8作为当前主流的检测模型,凭借高效的结构和灵活的部署能力,在工业质检、道路巡检等场景中备受关注。PyQt5则是Python生态中成熟的桌面GUI框架,适合构建离线、可交付的本地化工具。将两者结合,可以把模型推理从命令行黑窗口升级为可视化交互界面,实现图像检测、视频分析、摄像头实时识别与结果保存的一体化流程。本文从目标检测的基本原理切入,介绍YOLOv8的模型加载、推理与训练数据准备,并重点讲解PyQt5界面中多线程检测、图像显示、视频流处理等工程实践

weixin_34408624的博客 439

S32K144 SDK实战:FTM输入捕获模块的配置与应用

本文详细介绍了S32K144 SDK中FTM输入捕获模块的配置与应用实践。从基础认知到开发环境搭建,再到引脚配置和中断处理技巧,全面解析了如何利用FTM模块实现高精度信号测量。特别适用于电机控制、工业测速等场景,帮助开发者快速掌握S32K144的FTM输入捕获功能。

weixin_42566424的博客 217

AT32F435/437开发实战:把SD卡变成U盘的完整指南(含源码解析)

本文提供了基于AT32F435/437微控制器将SD卡改造为U盘的完整实战指南。通过深入解析USB MSC协议与SDIO驱动的协同工作原理,详细介绍了硬件设计要点、软件架构融合、核心源码解析以及从编译到文件传输的完整调试流程,帮助开发者实现可靠的大容量存储设备扩展。

weixin_29159127的博客 410
上一篇: 基于BC7215A芯片的离线空调码库集成与实战应用
下一篇: 从零开始手搓STM32F407系统板【PCB布局→布线→焊接→调试全指南】
python9snake
博客等级 码龄1天 0粉丝 1724原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值