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

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

3天内不再提示

瑞芯微(EASY EAI)RV1126B USB摄像头

广州灵眸科技有限公司 2025-12-16 13:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1. USB简介

USB:Universal Serial Bus(通用串行总线)。是一种常用于电子设备间通讯的通用标准接口。USB 总线作为一种高速串行总线,其极高的传输速度可以满足高速数据传输的应用环境要求。

具有供电简单(可总线供电)、安装配置便捷(支持即插即用和热插拔)、 扩展端口简易(通过集线器最多可扩展127 个外设)、传输方式多样化(4 种传输模式),以及兼容良好(产品升级后向下兼容)等优点。

1.1 EASY EAI Nano-TB USB资源介绍

EASY EAI Nano-TB有一路USB3.0HOST,经过一个USB Hub芯片扩展出了2个USB3.0HOST接口,另外还有一路直出的USB2.0 HOST接口。

图片

1.2 USB摄像头接入说明

通常我们建议只接入一个USB摄像头。

如果需要接入多个USB摄像头,可考虑采用Hub扩展多路USB的方式。虽然理论上可扩展127个设备,但在实际接入多个USB摄像头时需要考虑USB通道的带宽,USB集线层数(最大层数为7层--含RootHub),以及要解决设备ID相同的问题,因此非必要【不建议】这么接。

图片

注意:虽然USB支持热插拔,但在没给底板加装外壳保护的情况下,很容易触碰到底板上的器件,甚至板卡附近有金属零件很容易造成板卡短路。因此也建议在插拔外设时,最好确保电源已经完全切断。

1.3 USB设备的接入管理介绍

在USB摄像头或者USB Hub进行物理连接后,我们需要知道这些USB设备是否被系统识别出来,则需要通过lsusb命令查看。

lsusb

图片

另外,在文件系统中,USB Device管理目录为/sys/bus/usb/devices,可在此处查看到从root_hub开始挂载的USB设备以及Hub设备的拓扑关系

USB设备的设备命名方式规则如下:

wKgZO2lA8xGAeEdmAADX0_hOPwE907.png

1.4 寻找可用的设备节点

rockchip平台,一个MIPI-CSI接口会对应20多个video节点(设备树定了就会生成这么多个)而且MIPI-CSI camera对应的节点,会在修改内核设备树的时候固定下来(即:内核配好了MIPI-CSI Camera个数,无论MIPI-CSI摄像头是否有接上,它的video节点情况都是不会根据MIPI-CSI Camera的接入情况而【动态】改变)。

而一个USB camera会对应2个video节点,【一般会】排列在MIPI-CSI camera的后面。通过拔插USB,观察对比video节点的变化,就可以判断出哪2个是USB camera的设备节点了。

图片

但是【最准确】的方法,还是要看一下这个video节点的【描述信息】。Linux的v4l2框架会把这些节点的描述信息统一放在/sys/class/video4linux/目录下,如下图所示。

图片

随便进入一个描述,如video22。

图片

通过cat命令,可以用查看这个name的内容是什么。

cat /sys/class/video4linux/video22/name

图片

那么,我们则需要使用以下命令,对【所有video节点】进行扫描与【筛选】。

grep -i "usb" /sys/class/video4linux/video*/name

图片

2. 快速上手

2.1 开发环境准备

如果您初次阅读此文档,请阅读《入门指南/开发环境准备/Easy-Eai编译环境准备与更新》,并按照其相关的操作,进行编译环境的部署

在PC端Ubuntu系统中执行run脚本,进入EASY-EAI编译环境,具体如下所示。

cd ~/develop_environment ./run.sh

图片

2.2 源码下载以及例程编译

首先,在虚拟机后台终端,执行以下命令,创建外设单例源码管理目录:

cd /opt mkdir -p EASY-EAI-Nano-TB/demo

首先,到【百度网盘】上下载相关的单例程序:

链接:https://pan.baidu.com/s/1Br608Hiff2Xs65PzWO_qWQ?pwd=1234

提取码:1234

比如把单例程序下载到:此电脑\D:\BaiduNetdisk (无规定,用户可自主选择),如下图所示。

图片

再将下载好的单例复制进入虚拟机的文件系统,过程如下图所示。

图片图片图片

最后,进入到对应的例程目录执行编译操作,具体命令如下所示:

cd EASY-EAI-Nano-TB/demo/02_camera ./build.sh

注:

* 由于依赖库部署在板卡上,因此交叉编译过程中必须保持/mnt挂载。

图片

2.3 例程运行

通过串口调试或ssh调试,进入板卡后台,定位到例程部署的位置,如下所示:

cd /userdata

图片

运行例程命令如下所示(51,就是/dev/video51):

./test-usbCam-single 51

2.4 运行效果

执行效果如下所示。

图片

例程运行完之后,会在/tmp目录下得到一张photo图片。回到虚拟机里,新开一个终端窗口,通过scp命令把图片拷回来:

图片

然后把photo用mplayer命令播放出来,如下所示。

mplayer -demuxer rawvideo -rawvideo w=1280:h=720:format=bgr24 photo -loop 0

例程默认分辨率为1280x720,故w和h的参数对应填入1280和720。当出现图片异常时,说明分辨率等不太对应于手头的摄像头,所以需要调整usbcamera_init()的分辨率,例如640x480。

图片

3. 测试USB摄像头API案例

示例代码路径为:02_camera/test-usbCam/single-cam.c。USB Camera API的测试案例代码逻辑流程如下所示:

v2-dd3cfcddf34c56b9aebefef2427393ce_720w.webp

3.1 源码说明

int main() { if(1 == argc){ printf("\nerr: Missing parameter!\n"); printf("================= [usage] ==================\n"); printf("example:\n"); printf("\t%s <51/52>\n", argv[0]); printf("--------------------------------------------\n"); return 0; } int cameraIndex = atoi(argv[1]); char *pbuf = NULL; int ret = 0; int skip = 0; FILE *fp = NULL; ret = usbcamera_init(CAMERA_INDEX, CAMERA_WIDTH, CAMERA_HEIGHT, 0); if (ret) { printf("error: %s, %d\n", __func__, __LINE__); goto exit3; } pbuf = (char *)malloc(IMAGE_SIZE); if (!pbuf) { printf("error: %s, %d\n", __func__, __LINE__); ret = -1; goto exit2; } //跳过前10帧 skip = 10; while(skip--) { ret = usbcamera_getframe(CAMERA_INDEX, pbuf); if (ret) { printf("error: %s, %d\n", __func__, __LINE__); goto exit1; } } /* tips: 可以在Ubuntu下用mplayer播放录制图像 * mplayer -demuxer rawvideo -rawvideo w=1280:h=720:format=bgr24 photo -loop 0 */ fp = fopen("/tmp/photo", "w"); if (!fp) { printf("error: %s, %d\n", __func__, __LINE__); ret = -1; goto exit2; } fwrite(pbuf, 1, IMAGE_SIZE, fp); fclose(fp); exit1: free(pbuf); pbuf = NULL; exit2: usbcamera_exit(CAMERA_INDEX); exit3: return ret; }

其中usbcamera_init(),usbcamera_getframe(),usbcamera_exit()是对v4l2接口调用的易用化封装。具体实现于02_camera/commonApi/usb_camera/usb_camera.c

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

    关注

    61

    文章

    5073

    浏览量

    102827
  • 瑞芯微
    +关注

    关注

    27

    文章

    740

    浏览量

    53931
  • EASY-EAI灵眸科技

    关注

    4

    文章

    64

    浏览量

    3479
  • RV1126B
    +关注

    关注

    0

    文章

    50

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    (EASY EAI)RV1126B 音频输入

    1.声卡资源介绍EASY-EAI-Nano-TB仅有一块由RV1126B主控输出的声卡。通过串口调试或ssh调试,可以进入开发板终端。执行aplay命令查看声卡相关的详细信息,如下所示
    的头像 发表于 12-18 13:41 1927次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>(<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b>)<b class='flag-5'>RV1126B</b> 音频输入

    (EASY EAI)RV1126B PWM使用

    1.PWM简介1.1开发板PWM资源1.2查找PWM节点rv1126b的pwm资源表如下:【PWM1CH0】对应的是pwm1_4ch_0,寄存地址为20700000。【PWM1CH1】对应
    的头像 发表于 01-06 10:49 4873次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>(<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b>)<b class='flag-5'>RV1126B</b> PWM使用

    EASY EAI Nano-TB(RV1126B)开发板试用】+初识篇

    Nano-TB是灵眸科技研发的一款应用于AIoT领域的开发板,它基于RV1126B处理器,集成了4个Cortex-A53及独立的NEON协处理器,它支持4K@30fps的H.
    发表于 10-25 22:06

    EASY EAI Nano-TB(RV1126B)开发板试用】开箱测评

    摄像头,显示屏,扬声器,耳麦, WIFI天线和 usb 数据线核心板和底板。 | 核心板处理器简介 它基于
    发表于 11-01 11:05

    EASY EAI Nano-TB(RV1126B)开发板试用】命令行功能测试-shell脚本进行IO控制-红绿灯项目

    接上文【EASY EAI Nano-TB(RV1126B)开发板试用】通过wifi连接,使用ssh登录EASY EAI Nano-TB(
    发表于 11-02 18:34

    EASY EAI Nano-TB(RV1126B)开发板试用】命令行功能测试-shell脚本进行IO控制-红绿灯按钮项目

    0接上文【EASY EAI Nano-TB(RV1126B)开发板试用】命令行功能测试-shell脚本进行IO控制-红绿灯项目-实现开机起动 EASYEAINano-TB(RV1126B
    发表于 11-03 10:00

    EASY EAI Nano-TB(RV1126B)开发板试用】+1、开箱上电

    ,避免因接触不良导致显示或采集异常。 2 硬件解析:强劲AI核心与丰富接口 2.1 核心处理器性能 EASY EAI Nano-TB开发板的核心基于
    发表于 11-19 21:39

    EASY EAI Nano-TB(RV1126B)开发板试用】桌面系统功能测试-驱动摄像头-Mediapipe人体姿态检测1

    )开发板试用】开箱测评 EASY EAI Nano-TB(RV1126B)开发板是一款面向AIoT领域的高性能嵌入式开发平台,基于
    发表于 12-19 19:41

    EASY EAI Nano-TB(RV1126B)开发板试用】介绍、系统安装

    ,并介绍了系统镜像安装部署的相关流程。 介绍 EASY-EAI-Nano-TB是灵眸科技研发的一款应用于AIoT领域的AIOT主板。 核心板基于
    发表于 12-23 18:05

    Rockchip RV1109和RV1126芯片规格

    Banana Pi 基于Rockchip RV1109和RV1126的AI 智能摄像头开发
    发表于 10-25 15:20 4416次阅读
    <b class='flag-5'>芯</b><b class='flag-5'>微</b>Rockchip <b class='flag-5'>RV</b>1109和<b class='flag-5'>RV1126</b>芯片规格

    RV1126系列选型指南:从RV1126RV1126B,一文看懂升级差异

    2025年7月,正式发布新一代AI视觉芯片RV1126B。作为其金牌方案商,EASYEAI灵眸科技同步推出搭载该芯片的AIoT核心板EAI11
    的头像 发表于 09-04 10:50 4133次阅读
    <b class='flag-5'>RV1126</b>系列选型指南:从<b class='flag-5'>RV1126</b>到<b class='flag-5'>RV1126B</b>,一文看懂升级差异

    【免费试用】EASY EAI Nano-TB(RV1126B)开发套件评测

    EASY-EAI-Nano-TB是灵眸科技研发的一款应用于AIoT领域的AIOT主板。核心板基于RV1126B处理器设计,并引入了新
    的头像 发表于 09-23 08:09 947次阅读
    【免费试用】<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b> Nano-TB(<b class='flag-5'>RV1126B</b>)开发套件评测

    RV1126B特性概述

    RV1126BRockchip在2025年第二季度全新推出的Arm架构AI视觉芯片,搭载4核Cortex-A53与自研3Tops算力NPU。全面替代上一代的
    的头像 发表于 10-09 11:22 1530次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RV1126B</b>特性概述

    替代升级实锤!实测RV1126B,CPU性能吊打RV1126

    AI智能芯片迭代提速,推出了全新的Arm架构AI视觉芯片RV1126B,是否替换RV1126,CPU性能是挤牙膏还是大突破。带着这些核
    的头像 发表于 12-11 17:13 1985次阅读
    替代升级实锤!实测<b class='flag-5'>RV1126B</b>,CPU性能吊打<b class='flag-5'>RV1126</b>

    (EASY EAI)RV1126B 人体关键点识别

    的特点。本人员检测算法在数据集表现如下所示:基于EASY-EAI-Nano-TB(RV1126B)硬件主板的运行效率:17个人体关键点索引定义:2.快速上手2.1开发
    的头像 发表于 01-23 10:13 364次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>(<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b>)<b class='flag-5'>RV1126B</b> 人体关键点识别