瑞芯微RV1126B开发板(EASY-EAI-PI2) 网络摄像头方案
1. 方案简介本方案将演示如何利用EASY-EAI-PI2以及MIPI-CSI摄像头制作一个【网络摄像头(IPCamera)】两路MIPI-CSI摄像头分别单独输出两路流。1.1 接线示意图摄像头与板卡连接https://www.easy-eai.com/ (二维码自动识别)板卡与局域网连接https://www.easy-eai.com/ (二维码自动识别)* 接线必须在断电时进行操作。* 采用反向线连接IMX415摄像头与Cmaera1接口。注意用错线会烧坏摄像头或者核心板因此在接线时务必要小心。* 接线端子卡扣与FPC线的蓝色塑料标识必须位于同一侧。如下图所示。EASY EAI PI2默认搭配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.3 例程运行通过串口调试或ssh调试进入板卡后台定位到例程部署的位置如下所示cd /userdata/Solu/rtspIPCamera运行例程命令如下所示。./rtspIPCamera可用【VLC】或【gst-launch-1.0】等rtspClient通过上述两个url取流查看。2.4 非本地rtsp拉流如果需要使用另一台计算机设备作为rtspClinet去拉流则需要把127.0.0.1本机IP替换成rtspServer设备所在局域网的IP地址具体操作如下。首先通过ifconfig命令查看板卡的局域网IP地址。sudo ifconfig然后在另外一台计算机开启rtspClinet应用(以VLC为例)填上URL进行拉流。3. 设计说明3.1 总体逻辑框图3.2 factory逻辑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.1 Toolkit仓库介绍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.3 CMakeLists.txt文件解析4.3.1 编译环境配置部分第一部分为配置部分配置部分如下所示。获取当前方案目录、配置工具链、提取方案名称配置信息如下所示。4.3.2 easyeai-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.4 build.sh编译脚本4.4.1 路径定位部分第一部分用于提取目录用于编译操作内容如下所示进入build.sh脚本所在目录并且提取当前目录绝对路径提取当前目录名称4.4.2 清除编译部分第二部分清除操作清除目录为build、Release内容如下所示执行build.sh脚本时带入了参数“clear”则清空编译输出4.4.3 编译操作第三部分编译直接调用cmake内容如下所示重新编译成部署目录并把资源自动部署进板卡

相关新闻

UE4 Shader变体优化实战:从源头控制到打包剔除,解决性能与包体膨胀

UE4 Shader变体优化实战:从源头控制到打包剔除,解决性能与包体膨胀

1. 项目概述:Shader变体,一个被忽视的性能与包体“黑洞” 如果你是一名UE4开发者,尤其是负责过移动端或对包体大小有严格要求的项目,那么“Shader变体”这个词,很可能已经让你头疼过不止一次了。它不像一个明显的Bug那…

2026/10/13 12:00:00 阅读更多 →
UE5自定义配置文件:基于UObject实现数据驱动配置管理

UE5自定义配置文件:基于UObject实现数据驱动配置管理

1. 项目概述:为什么UE5开发者需要自定义配置文件? 在Unreal Engine 5的项目开发中,尤其是涉及到复杂的游戏逻辑、AI行为树、武器平衡或者关卡数据时,我们常常会遇到一个非常实际的需求:如何优雅地管理那些需要频繁调整…

2026/10/8 19:12:22 阅读更多 →
Unity安卓打包与真机调试全流程:从环境配置到连接失败解决方案

Unity安卓打包与真机调试全流程:从环境配置到连接失败解决方案

1. 项目概述:从编辑器到手机的最后一公里 作为一名在Unity和移动开发领域摸爬滚打了多年的老手,我深知从Unity编辑器里那个运行流畅的Game视图,到最终在安卓手机上成功跑起来,中间隔着的那道“鸿沟”有多让人头疼。尤其是对于刚入…

2026/10/13 13:42:11 阅读更多 →

最新新闻

AnyPS5跨平台图像处理管线:色彩管理与批量处理实战避坑指南

AnyPS5跨平台图像处理管线:色彩管理与批量处理实战避坑指南

1. 项目缘起与核心定位AnyPS5 这个名字第一次出现在我视野里的时候,我正被一堆跨平台图像处理的需求折腾得够呛。团队里有人用 Windows 做设计,有人用 macOS 做后期,还有几个同事习惯在 Linux 环境下跑批处理脚本,每次交付素材都要…

2026/10/14 4:26:51 阅读更多 →
GridView + AJAX 效果实战:Web Forms老项目异步升级指南

GridView + AJAX 效果实战:Web Forms老项目异步升级指南

简介:这是一份专门面向ASP.NET开发者的GridView实用实例,旨在解决Visual Studio自带GridView在数据增删改操作与交互体验上的明显短板。资源基于ASP.NET 4.0与SQL Server 2008环境,实现了完整的无刷新Ajax增删改功能,代码量少、结…

2026/10/14 4:26:51 阅读更多 →
Flutter迁移开源鸿蒙实战:逆向匹配算法设计与踩坑记录

Flutter迁移开源鸿蒙实战:逆向匹配算法设计与踩坑记录

从拿到这个标题到真正把App跑在开源鸿蒙设备上,中间隔了整整两个周末的调试时间。这篇东西不是教程式的堆砌,而是把我做“flutter_for_openharmony逆向思维训练app实战逆向匹配实现”这个项目时踩过的坑、想通的原理、反复验证过的代码逻辑,全…

2026/10/14 4:26:51 阅读更多 →
开源八卦怎么吃?从项目细节中读出真实信号

开源八卦怎么吃?从项目细节中读出真实信号

我最初入行写代码那几年,对“开源”的理解很单纯:一堆互相不认识的人,在某个仓库里合写代码,因为共同的兴趣走到一起。直到后来亲历了几场“项目圈内事件”,才意识到开源世界里的“八卦”根本不是茶余饭后的消遣——它…

2026/10/14 4:26:51 阅读更多 →
范畴论入门必刷:Algebra Chapter 0集合练习题复盘与映射思维训练

范畴论入门必刷:Algebra Chapter 0集合练习题复盘与映射思维训练

1. 为什么“集合练习题”值得单独拎出来做一篇复盘很多人看到“Algebra: Chapter 0”这个书名,第一反应是“范畴论入门”,然后翻两页就被各种交换图劝退。但真正卡住新手的往往不是后面的泛函、自然变换,而是第0章里那些看起来人畜无害的集合…

2026/10/14 4:26:51 阅读更多 →
考研数据结构复试高频考点、手写代码与面试应对策略

考研数据结构复试高频考点、手写代码与面试应对策略

初试成绩出来之后,很多同学会陷入一种“不知道该干什么”的状态。刷题吧,好像复试不考这么细;看论文吧,又不知道从哪看起;真要准备机试,又发现手生的厉害。我自己当年备考“考研数据结构复试题目整理”的时…

2026/10/14 4:25:51 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →