0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

WiFi+蓝牙模组 外设移植USB UVC+Ai-M61开发板

AIoT行业洞察 来源:AIoT行业洞察 作者:AIoT行业洞察 2025-07-15 14:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

以下作品由安信可社区用户

bzhou830制作

01前情回顾

USB相关的内容之前写过几篇,但是因为早期的SDK里面的example有些是运行不起来的,不久前博流更新了SDK,遂又尝试看看里面的USB协议栈是否更新了内容。这次更新的动作还是很不错的,添加了很多新的内容,也修复了不少bug,非常值得学习一波。

那这篇就来继续之前的USB之旅,来学习下USB UVC的example。先放下usb相关的之前的帖子:

以下内容可从查看https://bbs.ai-thinker.com/home.php?mod=space&uid=13138&do=thread&type=thread&view=me&from=space

【探索USB】01. USB协议基础 - 小安派S1&M61教程合集 - 物联网开发者社区-安信可论坛 - Powered by Discuz! (ai-thinker.com)​bbs.ai-thinker.com/forum.php?mod=viewthread&tid=43977&_dsign=9a6226e6

【探索USB】02. 设备的连接和枚举 - 小安派S1&M61教程合集 - 物联网开发者社区-安信可论坛 - Powered by Discuz! (ai-thinker.com)​bbs.ai-thinker.com/forum.php?mod=viewthread&tid=43981&_dsign=0158b4e6

【外设移植】USB设备之USB鼠标+M61开发板 - Ai-M61-Kit外设移植教程 - 物联网开发者社区-安信可论坛 - Powered by Discuz!​bbs.ai-thinker.com/forum.php?mod=viewthread&tid=44029

【外设移植】USB设备之USB键盘+M61开发板 - Ai-M61-Kit外设移植教程 - 物联网开发者社区-安信可论坛 - Powered by Discuz!​bbs.ai-thinker.com/forum.php?mod=viewthread&tid=44023

【外设移植】USB设备之USB midi+M61开发板 - Ai-M61-Kit外设移植教程 - 物联网开发者社区-安信可论坛 - Powered by Discuz!​bbs.ai-thinker.com/forum.php?mod=viewthread&tid=44079

这次学习的UVC来自如下的sdk路径中:

bouffalo_sdk/examples/peripherals/usbdev/usbd_static_video/video_static_mjpeg_template.c

02代码分析

wKgZO2h19hSAS5_DAABLjJnHfKM190.jpg

UVC example中给出代码结构如上图。usb协议栈实现使用的是cherry usb,video_static_mjpeg_template.c文件中调用cherry usb提供的接口来实现枚举usb设备等操作。

voidvideo_init(){ usbd_desc_register(video_descriptor);
usbd_add_interface(usbd_video_init_intf(&intf0, INTERVAL, MAX_FRAME_SIZE, MAX_PAYLOAD_SIZE));
usbd_add_interface(usbd_video_init_intf(&intf1, INTERVAL, MAX_FRAME_SIZE, MAX_PAYLOAD_SIZE));
usbd_add_endpoint(&video_in_ep);
usbd_initialize(); }

main文件中则很简单的去调用设备的初始化,随后进入主循环进行jpeg数据的传输。

uvc设备的数据填入使用的是cherry usb实现的usbd_video_mjpeg_payload_fill((uint8_t *)jpeg_data1, sizeof(jpeg_data1), packet_buffer, &out_len);函数。

这里提到了一个jepg数据,数据源哪里来呢?为了简化,example中直接使用的是jepg二进制数组的形式。从jepg格式编码我们可以验证对比这个数据的内容。

wKgZPGh19hSAVF8gAAFxYr7kIe4564.jpg

03编译运行

直接编译烧录。

wKgZO2h19hWABAoNAADn9eZMe9A876.jpg

将usb接口接入到电脑上。在设备管理器中就可以发现成功的枚举了一个USB UVC 设备。

wKgZO2h19hWAEvAaAAAm1xK1e8k800.jpg

此时可以像使用USB摄像头一样使用这个设备了。用playcap工具可以查看UVC摄像头的图像数据。

wKgZPGh19haAXM3OAAA3VSwKm3s772.jpg

因为是固定的数组,所以显示的是一个静态的图像,来稍微改造一下代码让它轮播两个图像。

wKgZO2h19heABId1AABbCo0eXUs832.jpg

这样就能轮播两个图像。

04拓展

example里面使用的是数组,如果接入的摄像头,直接读取摄像头数据然后编码输出就是得到一个USB摄像头设备。

如果能生成一些可显示的内容,是不是就能把这个UVC设备当成一个显示器使用呢?比如把nes模拟器产生的游戏画面进行jpeg数据编码。然后写入,这样就得到了一个使用UVC来传输游戏画面的游戏机设备了,想想还真的有点意思呢 。

刚好jpeg编解码在Ai-M61系列模组中也有硬件的支持。值得一玩!

最后,上面使用的是playcap来显示摄像头图像,其实强大的potplayer也是可以直接打开并显示摄象头的,而且可以设置融合的方式。

wKgZPGh19heAQGofAAFWj0RbPfI521.jpg

审核编辑 黄宇


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • usb
    usb
    +关注

    关注

    60

    文章

    8476

    浏览量

    285835
  • WIFI
    +关注

    关注

    82

    文章

    5532

    浏览量

    214404
  • 开发板
    +关注

    关注

    26

    文章

    6419

    浏览量

    120801
  • 蓝牙模组
    +关注

    关注

    0

    文章

    56

    浏览量

    4638
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    一块模组,双无线:WiFi+蓝牙组合模块的进化与落地

    智能设备既要上路由器、跑 OTA,又要和手机近距配对、做音频或配网—— WiFi+蓝牙组合模块 把两套射频收进同一颗 SoC 或同一封装里,用芯片厂成熟的  共存  调度 2.4 GHz 上的分时
    的头像 发表于 03-26 15:19 226次阅读

    【ESP32-C61】WT9932C61-TINY开发板上手指南

    1开发板介绍WT9932C61‑TINY是一款专为轻量化物联网开发设计的迷你开发板,核心基于乐鑫ESP32‑C61芯片,搭载启明云端WT01
    的头像 发表于 02-27 18:02 621次阅读
    【ESP32-C<b class='flag-5'>61</b>】WT9932C<b class='flag-5'>61</b>-TINY<b class='flag-5'>开发板</b>上手指南

    【ESP32-C2系列】WT99C202-AI-S2开发板上手指南

    1开发板介绍WT99C202-AI-S2开发板是深圳市启明云端有限公司推出的一款基于WT01C202-AI-S1模组的多媒体
    的头像 发表于 02-25 18:25 363次阅读
    【ESP32-C2系列】WT99C202-<b class='flag-5'>AI</b>-S2<b class='flag-5'>开发板</b>上手指南

    【ESP32-C61】WT9932C61-TINY开发板规格书

    开发板介绍WT9932C61‑TINY是一款专为轻量化物联网开发设计的迷你开发板,核心基于乐鑫ESP32‑C61芯片,搭载启明云端WT013
    的头像 发表于 02-11 18:04 614次阅读
    【ESP32-C<b class='flag-5'>61</b>】WT9932C<b class='flag-5'>61</b>-TINY<b class='flag-5'>开发板</b>规格书

    RK3576基于UVC协议USB摄像头配置指南,手把手教你搞定

    瑞芯微RK3576芯片平台基于UVC协议,配置USB摄像头实现即插即用的适配采集功能,基于触觉智能RK3576开发板PurplePiOH2演示。UVC协议
    的头像 发表于 01-16 17:11 1107次阅读
    RK3576基于<b class='flag-5'>UVC</b>协议<b class='flag-5'>USB</b>摄像头配置指南,手把手教你搞定

    迅为驱动开发实战:iTOP-RK3568开发板eDP屏幕移植全攻略

    迅为驱动开发实战:iTOP-RK3568开发板eDP屏幕移植全攻略
    的头像 发表于 12-30 15:42 1250次阅读
    迅为驱动<b class='flag-5'>开发</b>实战:iTOP-RK3568<b class='flag-5'>开发板</b>eDP屏幕<b class='flag-5'>移植</b>全攻略

    探索FRDM-MCXW23开发板:低功耗蓝牙应用的理想之选

    探索FRDM-MCXW23开发板:低功耗蓝牙应用的理想之选 作为电子工程师,我们总是在寻找功能强大、性能卓越且易于使用的开发板,以实现各种创新的设计。今天,就让我们一起深入了解NXP
    的头像 发表于 12-24 09:55 661次阅读

    WiFi+蓝牙模组】高性能 Wi-Fi +蓝牙模组的国产替代方案

    模组,基于 BL618 和 BL616 芯片,支持 Wi-Fi 6 (802.11ax) + BLE 5.3 + Thread 协议,高带宽、低延迟、低功耗。 Ai-M61系列   基于 BL618
    的头像 发表于 11-26 17:44 686次阅读
    【<b class='flag-5'>WiFi+</b><b class='flag-5'>蓝牙</b><b class='flag-5'>模组</b>】高性能 Wi-Fi +<b class='flag-5'>蓝牙</b><b class='flag-5'>模组</b>的国产替代方案

    【CIE全国RISC-V创新应用大赛】MUSE Pi Pro开发板ROS系统

    无线模组,搭配千兆以太网,网络传输速率和稳定性远超树莓派 5;树莓派 5 仅支持双频 802.11ac WiFi蓝牙 5.0。 开发板支持Bianbu Linux 是 Spac
    发表于 11-16 22:34

    【飞凌OK-MX9596-C开发板试用】②体验WIFI蓝牙、音频、视频,为AI应用打下基础

    大的一款板子,搭载了超强的多核处理器,非常适合开发工业互联、AI应用等,本篇体验下开发板WIFI蓝牙、音频、视频模块,为后续
    发表于 10-21 18:17

    【HZ-RK3568开发板免费体验】外设接口测试

    功能正常。 WiFi功能测试,开发板板载AP6256模块的底板,通过指令连接手机分享的热点,使用Ping命令测试WiFi网络是否能连接外网。 接下来进行测试USB摄像头,这里没有多的U
    发表于 08-12 23:40

    M-K1HSE开发板免费体验】开发板硬件解析

    M-K1HSE V1.0开发板采用进迭时空K1(RISC-V SpacemiT X60)八核处理器,搭载Harmony系统,主频高达1.6GHz,超强性能,接口丰富。采用IMG
    发表于 07-02 11:57

    【新品】远距离图传数传模块开发板蓝牙模块开发板、无线模块开发板

    新品上市图传数传模块开发板蓝牙模块开发板国产无线模块开发板部分型号参与送样文末了解详情↓↓↓EWT611-900NW20S远距离图传数传模块开发板
    的头像 发表于 06-12 19:33 1414次阅读
    【新品】远距离图传数传模块<b class='flag-5'>开发板</b>、<b class='flag-5'>蓝牙</b>模块<b class='flag-5'>开发板</b>、无线模块<b class='flag-5'>开发板</b>

    安信可Ai-M62-CBS,极小尺寸的Wi-Fi/蓝牙二合一模组

    (IoT)、移动设备、可穿戴电子设备、智能家居等领域,适合低功耗产品市场,比如门锁行业等。 WiFi+蓝牙二合一,连接更快 Ai-M62-CBS模组搭载BL616 芯片作为核心处理器,
    的头像 发表于 05-28 11:14 941次阅读
    安信可<b class='flag-5'>Ai-M</b>62-CBS,极小尺寸的Wi-Fi/<b class='flag-5'>蓝牙</b>二合一<b class='flag-5'>模组</b>

    新品上市!蓝牙接近开关模组、多功能开发板、千兆级路由网关模块、低功耗WiFi模块

    新品上市蓝牙接近开关模组开源类多功能开发板低功耗WiFi模块千兆级路由网关模块新品参与送样文末了解详情↓↓↓EWM104-BT13系列蓝牙
    的头像 发表于 05-15 19:34 1509次阅读
    新品上市!<b class='flag-5'>蓝牙</b>接近开关<b class='flag-5'>模组</b>、多功能<b class='flag-5'>开发板</b>、千兆级路由网关模块、低功耗<b class='flag-5'>WiFi</b>模块