当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]本项目演示了一个基于实时以太网的JPEG流媒体系统,该系统使用WIZnet Pico (RP2040/RP2350)板结合ArduCAM快速启动300万像素DVP摄像机构建。

1. 项目概述

本项目演示了一个基于实时以太网的JPEG流媒体系统,该系统使用WIZnet Pico (RP2040/RP2350)板结合ArduCAM快速启动300万像素DVP摄像机构建。

该系统由两个主要部分组成:

摄像头侧(Pico):通过8位DVP接口捕获JPEG帧,并将数据分成UDP数据包通过以太网传输。

PC端(Python):接收数据包,使用报头信息重新组装完整的帧,并使用OpenCV实时解码jpeg。

通过该项目,创客可以全面了解通过以太网传输的实时嵌入式摄像头,为物联网视觉、机器人和远程监控应用奠定基础。

核心关键词:RP2040 DVP PIO DMA / UDP JPEG流/帧重组/ OpenCV实时解码

2. 硬件模块

WIZnet Pico (RP2040 / RP2350)

支持RP2040和RP2350(最高200MHz系统时钟)

嵌入式以太网选项:

W5100S / W5500 / W6100 - SPI (40MHz)

W6300 - QSPI Quad (37.5MHz)

完全兼容Pico SDK 1.5.1

支持同时使用DVP摄像机+以太网+ SPI Flash + UART

Arducam物联网快速启动300万像素DVP摄像头

【Arducam物联网快速启动300万像素DVP摄像头】

该模块具有300ms的瞬时启动能力和超低功耗设计,是“即时响应物联网视觉应用”的理想选择。

3. 性能比较(Sys Clock 200MHz)

W6300 QSPI变体即使在实时应用程序中也能提供平滑的高清流。

这些值代表了典型的jpeg压缩帧大小和在W6300-EVB-Pico2板上37.5 MHz QSPI操作下测量的吞吐量。

4. 引脚映射(Pico↔ArduCAM)

每个PCLK上升沿采样一个像素(8位数据),而VSYNC HIGH定义活动帧传输窗口。

5. JPEG帧捕获序列(在Pico上)

PIO处理时序逻辑,而DMA连续地将32位数据块(每行512字节)传输到RAM中。

如果在前4行(512B × 4)中未检测到SOI标记(0xFFD8),则系统将重试,直到捕获有效帧为止。

6. 最终流处理(基于udp的传输)

由于JPEG帧的大小不同(从几KB到几十KB),单个UDP数据包不能包含整个图像。

因此,Pico将每个帧分成≤1400字节的有效负载,并为每个帧附加一个小的4字节报头。

T传输(Pico)

R汇编(Python)

在接收端,每个数据包根据帧ID和包ID重新组装。Assembler类重建完整的JPEG帧如下:

然后,OpenCV对帧进行解码并实时显示。

即使在UDP传输下,本设计也通过基于id的智能重排序实现了帧的无损拼接。

7. 如何运行(执行指南)

按照以下步骤构建、flash和运行ArduCAM × WIZnet Pico JPEG Streaming演示。

①在Top-Level CMakeLists.txt中选择您的Board

打开项目的根目录CMakeLists.txt。

取消评论您的目标板(例如,W6300-EVB-PICO2)并注释掉其他板。

这确保了正确的引脚映射、SPI/QSPI模式和驱动程序的使用。

例子:

然后,打开

例子/ WIZnet_ArduCAMMega_UDP_Streaming / c

并根据需要修改如下参数:

IP地址/网关/子网

UDP端口号(默认为5000)

系统时钟频率(默认200mhz)

编辑完成后保存文件。

②构建固件

在项目目录下打开终端,运行:

这将生成编译后的固件文件:

③将固件Flash到Pico

通过USB连接您的WIZnet Pico (RP2040/RP2350),同时按住BOOTSEL按钮。

该板将显示为USB驱动器(例如,RPI-RP2)。

复制生成的main。Uf2文件到这个驱动器。

单板将自动重启并开始运行流固件。

④在PC上运行Python GUI

移动到示例目录并运行GUI流查看器:

这个GUI将:

•连接到Pico的UDP流媒体服务器

•重新组装传入的JPEG数据包

•解码和显示他们在实时使用OpenCV

8. 关键要点

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭