瑞芯微(EASY EAI)RV1126B 网络摄像头方案

张开发
2026/4/15 21:51:54 15 分钟阅读

分享文章

瑞芯微(EASY EAI)RV1126B 网络摄像头方案
1.方案简介本方案将演示如何利用EASY-EAI-Nano-TB以及MIPI-CSI摄像头制作一个【网络摄像头(IPCamera)】两路MIPI-CSI摄像头分别单独输出两路流。1.1接线示意图摄像头与板卡连接板卡与局域网连接* 接线必须在断电时进行操作。* 采用反向线连接IMX415摄像头与Cmaera1接口。注意用错线会烧坏摄像头或者核心板因此在接线时务必要小心。* 接线端子卡扣与FPC线的蓝色塑料标识必须位于同一侧。如下图所示。EASY EAI Nano-TB默认搭配IMX415单目摄像头。同时配有一根0.5mm间距的40pin FPC反向线。反向线两端的蓝色标识不在同一侧面。同向线两端的蓝色标识处于同一侧面。2.快速上手2.1开发环境准备如果您初次阅读此文档请阅读《入门指南/开发环境准备/Easy-Eai编译环境准备与更新》并按照其相关的操作进行编译环境的部署。在PC端Ubuntu系统中执行run脚本进入EASY-EAI编译环境具体如下所示。cd ~/develop_environment ./run.sh 22042.2源码下载以及例程编译在EASY-EAI编译环境下创建存放源码仓库的管理目录cd /opt mkdir EASY-EAI-Toolkit cd EASY-EAI-Toolkit通过git工具在管理目录内克隆远程仓库git clone https://github.com/EASY-EAI/EASY-EAI-Toolkit-1126B.git注* 此处可能会因网络原因造成卡顿请耐心等待。* 如果实在要在gitHub网页上下载也要把整个仓库下载下来不能单独下载本实例对应的目录。进入到对应的例程目录执行编译操作具体命令如下所示cd EASY-EAI-Toolkit-1126B/Solutions/rtspIPCamera ./build.sh注* 由于依赖库部署在板卡上因此交叉编译过程中必须保持/mnt挂载。2.4例程运行通过串口调试或ssh调试进入板卡后台定位到例程部署的位置如下所示cd /userdata/Solu运行例程命令如下所示。./rtspIPCamera可用【VLC】或【gst-launch-1.0】等rtspClient通过上述两个url取流查看。2.5非本地rtsp拉流如果需要使用另一台计算机设备作为rtspClinet去拉流则需要把127.0.0.1本机IP替换成rtspServer设备所在局域网的IP地址具体操作如下。首先通过ifconfig命令查看板卡的局域网IP地址。sudo ifconfig然后在另外一台计算机开启rtspClinet应用(以VLC为例)填上URL进行拉流。3.设计说明3.1总体逻辑框图3.2factory逻辑3.3代码组成本开发实例相关的所有代码均位于EASY-EAI-Toolkit-1126B/Solutions/rtspIPCamera/中。其中总体逻辑位于EASY-EAI-Toolkit-1126B/Solutions/rtspIPCamera/src/main.cppfactory逻辑位于EASY-EAI-Toolkit-1126B/Solutions/rtspIPCamera/src/appSource.cpp摄像头控制逻辑位于EASY-EAI-Toolkit-1126B/Solutions/rtspIPCamera/src/camera/3.4调用关系4.开发指南4.1Toolkit仓库介绍4.2示例文件目录结构4.2.1开发实例介绍每个开发实例就是一个独立的项目项目使用cmake构建自动编译部署。一个最简单的项目至少要包含以下元素build.sh、CMakeLists.txt、main.c如下所示。具体介绍如下所示。4.2.2可拓展的目录可拓展的目录是指开发过程中增加某些功能模块功能代码。增加模式分为两种l 增加已编译的第三方库在include、libs目录内添加头文件和库文件l 增加用户自定义的功能模块推荐在src目录内增加具体情况如下所示第三方模块相关的文件由include/3rd_model/xxx.h、libs/3rd_model/xxx.a。自定义的功能模块为src/mySrcCode、src/mySrcCode2。4.3CMakeLists.txt文件解析4.3.1编译环境配置部分第一部分为配置部分配置部分如下所示。获取当前方案目录、配置工具链、提取方案名称配置信息如下所示。4.3.2easyeai-api配置部分第二部分是引入我司的功能组件库针对当前方案进行配置EASY EAI API头文件目录${XXX_INCLUDE_DIRS}、源码文件目录${XXX_SOURCE_DIRS}以及所依赖的库参数${XXX_LIBS}配置信息如下所示。4.3.3第三方库配置部分第三部分配置第三方的库针对当前方案进行配置第三方头文件目录、库文件目录、配置第三方库链接参数以及配置源码目录配置信息如下所示。例如添加个人库的目录组成方式如下所示。aux_source_directory的修改方式为aux_source_directory(./src ./src/mySrcCode ./src/mySrcCode2 dir_srcs)或aux_source_directory(./src dir_srcs) aux_source_directory(./src/mySrcCode dir_srcs) aux_source_directory(./src/mySrcCode2 dir_srcs)4.3.4本方案配置部分第四部分配置项目的编译信息内容如下所示配置项如下所示。4.4build.sh编译脚本4.4.1路径定位部分第一部分用于提取目录用于编译操作内容如下所示进入build.sh脚本所在目录并且提取当前目录绝对路径提取当前目录名称4.4.2清除编译部分第二部分清除操作清除目录为build、Release内容如下所示执行build.sh脚本时带入了参数“clear”则清空编译输出4.4.3编译操作第三部分编译直接调用cmake内容如下所示重新编译成部署目录并把资源自动部署进板卡

更多文章