91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

    文章

    8182

    瀏覽量

    272821
  • WIFI
    +關注

    關注

    81

    文章

    5404

    瀏覽量

    208294
  • 開發板
    +關注

    關注

    25

    文章

    5679

    瀏覽量

    104629
  • 藍牙模組
    +關注

    關注

    0

    文章

    44

    瀏覽量

    4357
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    M-K1HSE開發板免費體驗】開發板硬件解析

    M-K1HSE V1.0開發板采用進迭時空K1(RISC-V SpacemiT X60)八核處理器,搭載Harmony系統,主頻高達1.6GHz,超強性能,接口豐富。采用IMG
    發表于 07-02 11:57

    基于RV1126開發板WiFi+藍牙硬件電路設計

    核心WiFi模塊采用的是正基的AP6212,集2.4GHz WiFi藍牙4.2于一體。WiFi
    的頭像 發表于 04-16 18:00 ?357次閱讀
    基于RV1126<b class='flag-5'>開發板</b>的<b class='flag-5'>WiFi+</b><b class='flag-5'>藍牙</b>硬件電路設計

    新品推薦!國產LoRa擴頻模塊、WiFi+藍牙雙模模組、低功耗藍牙轉串口模塊

    新品上市國產LoRa擴頻模塊藍牙轉串口模塊WiFi+藍牙雙模模組部分新品參與送樣文末了解詳情↓↓↓EWM290-M系列國產LoRa擴頻模塊E
    的頭像 發表于 03-27 19:33 ?594次閱讀
    新品推薦!國產LoRa擴頻模塊、<b class='flag-5'>WiFi+</b><b class='flag-5'>藍牙</b>雙模<b class='flag-5'>模組</b>、低功耗<b class='flag-5'>藍牙</b>轉串口模塊

    能和Ai-M61模組對話了?手搓一個ChatGPT 語音助手

    起猛了, 安信可的Ai-M61模組能說話了! 超低延遲實時秒回 ,對話超絲滑的那種,先來看一段VCR: 小安派+ChatGPT語音實測:對話絲滑到忘記對面是AI_ 人工智能的應用日益廣泛。 各家模型
    的頭像 發表于 03-12 11:57 ?1415次閱讀
    能和<b class='flag-5'>Ai-M61</b><b class='flag-5'>模組</b>對話了?手搓一個ChatGPT 語音助手

    全志T113-S3開發板測試—UVC 攝像頭

    協議實現USB攝像頭和開發板之間的數據傳輸。本文將介紹UVC協議的相關知識,并演示如何檢測UVC攝像頭。產品簡介眺望電子EVM-T113-S3是一款基于全志T11
    的頭像 發表于 02-27 08:31 ?1423次閱讀
    全志T113-S3<b class='flag-5'>開發板</b>測試—<b class='flag-5'>UVC</b> 攝像頭

    正點原子ESP32S3系列開發板全面支持小智AI

    、512KB和8MB,另外還掛載了16MB Flash的外部存儲資源。芯片集成了高性能的 Xtensa? 32 位 LX7 雙核處理器、超低功耗協處理器、Wi-Fi 基帶、藍牙基帶、RF 模塊以及外設開發板板載資源豐富,可用
    發表于 02-14 17:01

    雙頻WiFi+藍牙SoC模組 ARM Cortex-M33 MCU

    HLK-RM58N是海凌科開發的一款高性能雙頻WiFi+藍牙SoC模組,支持2.4GHz和5GHz雙頻WLAN以及低功耗藍牙5.0(BLE5
    的頭像 發表于 02-10 17:04 ?735次閱讀
    雙頻<b class='flag-5'>WiFi+</b><b class='flag-5'>藍牙</b>SoC<b class='flag-5'>模組</b>  ARM Cortex-<b class='flag-5'>M</b>33 MCU

    零基礎開發小安派-Eyes-S1 外設篇——DAC

    AiPi-Eyes-S1 是安信可開源團隊專門為Ai-M61-32S設計的一款開發板,支持WiFi6、BLE5.3。所搭載的Ai-M61-32S
    的頭像 發表于 12-27 10:55 ?1195次閱讀
    零基礎<b class='flag-5'>開發</b>小安派-Eyes-S1 <b class='flag-5'>外設</b>篇——DAC

    零基礎開發小安派-Eyes-S1外設篇——I2S

    AiPi-Eyes-S1 是安信可開源團隊專門為Ai-M61-32S設計的一款開發板,支持WiFi6、BLE5.3。所搭載的Ai-M61-32S
    的頭像 發表于 12-13 18:02 ?1625次閱讀
    零基礎<b class='flag-5'>開發</b>小安派-Eyes-S1<b class='flag-5'>外設</b>篇——I2S

    零基礎開發小安派-Eyes-S1【外設篇】——FLASH

    AiPi-Eyes-S1是安信可開源團隊專門為Ai-M61-32S設計的一款開發板,支持WiFi6、BLE5.3。所搭載的Ai-M61-32S 模組
    的頭像 發表于 12-05 14:31 ?728次閱讀
    零基礎<b class='flag-5'>開發</b>小安派-Eyes-S1【<b class='flag-5'>外設</b>篇】——FLASH

    零基礎開發小安派-Eyes-S1 外設篇 ——I2C

    AiPi-Eyes-S1是安信可開源團隊專門為Ai-M61-32S設計的一款開發板,支持WiFi6、BLE5.3。所搭載的Ai-M61-32S 模組
    的頭像 發表于 11-27 16:39 ?839次閱讀
    零基礎<b class='flag-5'>開發</b>小安派-Eyes-S1 <b class='flag-5'>外設</b>篇 ——I2C

    基于ALINX開發板Z19-P實現WIFI無線通信功能

    本教程基于 ALINX 開發板 Z19-P , 實現 WIFI 無線通信的功能,WIFI 模塊使用 USB WIFIrtl8188cu。
    的頭像 發表于 11-11 10:44 ?803次閱讀
    基于ALINX<b class='flag-5'>開發板</b>Z19-P實現<b class='flag-5'>WIFI</b>無線通信功能

    零基礎開發小安派-Eyes-S1外設篇——GPIO中斷編程

    AiPi-Eyes-S1 是安信可開源團隊專門為Ai-M61-32S設計的一款開發板,支持WiFi6、BLE5.3。所搭載的Ai-M61-32S
    的頭像 發表于 10-29 14:56 ?1131次閱讀
    零基礎<b class='flag-5'>開發</b>小安派-Eyes-S1<b class='flag-5'>外設</b>篇——GPIO中斷編程

    零基礎開發小安派-Eyes-S1外設篇——GPIO 輸入輸出

    AiPi-Eyes-S1 是安信可開源團隊專門為Ai-M61-32S設計的一款開發板,支持WiFi6、BLE5.3。所搭載的Ai-M61-32S
    的頭像 發表于 10-25 13:50 ?1460次閱讀
    零基礎<b class='flag-5'>開發</b>小安派-Eyes-S1<b class='flag-5'>外設</b>篇——GPIO 輸入輸出

    外設移植 安信可Ai-WB2-32S開發板+TM1637 NTP時鐘

    使用的是AI-WB2-32S開發板,自己畫了一個板子整合TM1637和舵機、BLE(舵機、BLE的將會在另外2篇帖子介紹),對應的接線方式如下: 移植過程: 根據參考帖子以及TM1637的規格書進行更改,時序
    的頭像 發表于 09-24 14:29 ?705次閱讀
    <b class='flag-5'>外設</b><b class='flag-5'>移植</b> 安信可<b class='flag-5'>Ai</b>-WB2-32S<b class='flag-5'>開發板</b>+TM1637 NTP時鐘
    主站蜘蛛池模板: 亚洲最大成人综合网 | 国产一区中文字幕在线观看 | 噜噜吧噜噜色 | 九九国产在线 | 欧美成人观看免费全部完小说 | 成人在线黄色 | 色婷婷中文字幕 | 久久99热精品这里久久精品 | 免费黄色在线观看 | 国产精品二区三区免费播放心 | 97综合网 | 夜夜爽爽 | 日日躁夜夜躁狠狠天天 | 国产精品视频一区国模私拍 | 欧美一级三级在线观看 | 国产黄大片在线观看 | 国产福利毛片 | 人人添人人澡人人澡人人人爽 | 精品欧美一区二区三区 | 91色在线观看 | 日韩色网站 | 12306影院午夜入口 | 欧美三级一区 | 一级做a爰片久久毛片图片 一级做a爰片久久毛片鸭王 | 在线播放 你懂的 | 欧美性xxxx巨大黑人猛 | 亚洲视频一区在线 | 日韩精品三级 | 欧美男人的天堂 | 深夜动态福利gif进出粗暴 | 中文字幕在线第一页 | 视频h在线观看 | 人人插人人爽 | 日本全黄视频 | 69国产成人精品午夜福中文 | 天堂中文字幕在线 | 美女扒开尿口给男人看大全 | 天天草比 | 成年片色大黄全免费网址 | 噜噜吧噜噜色 | 国产超爽人人爽人人做 |