当前位置: 首页 > news >正文

【北京迅为】itop-3588开发板摄像头使用手册Android12 双摄方案

本章节对应资料在网盘资料“iTOP-3588 开发板\02_【iTOP-RK3588 开发板】开发资料 \07_Android 系统开发配套资料\08_Android12 摄像头使用配套资料”目录下下载。

2.1 Android12 前摄+后摄

网盘中默认的 Android12 源码支持四个摄像头单独打开,本小节我们来修改源码,实现同 时支持俩个摄像头打开,并设置一个摄像头为前置摄像头,另一个摄像头为后置摄像头。

2.1.1 设备树修改

打开 Android12 源码 kernel-5.10/arch/arm64/boot/dts/rockchip/topeet_camera_config.dtsi 中 的设备树文件,如下图所示:

 

因为摄像头的复位引脚存在复用,所以选择摄像头是要选择一个 dphy 和一个 dcphy,不 能同时选择两个 dphy 或两个 dcphy。所以可以选择的双摄方案有如下所示:

方案一:J3+J4

方案二:J3+J2

方案三:J1+J4

方案四:J1+J2

方案一设备树修改

如果我们选择方案一的摄像头接口,首先修改 topeet_camera_config.dtsi 设备树的宏定义 ,将 J3 和 J4 的宏定义打开,如下图所示:

 

方案二设备树修改

如果我们选择方案一的摄像头接口,首先修改 topeet_camera_config.dtsi 设备树的宏定义 ,将 J3 和 J2 的宏定义打开,

方案三设备树修改

如果我们选择方案一的摄像头接口,首先修改 topeet_camera_config.dtsi 设备树的宏定义 ,将 J1 和 J4 的宏定义打开,

方案四设备树修改

如果我们选择方案一的摄像头接口,首先修改 topeet_camera_config.dtsi 设备树的宏定义 ,将 J1 和 J2 的宏定义打开,

我们可以根据自己的需求来修改 topeet_camera_config.dtsi 文件。选择好摄像头后需要确 定两个摄像头的 isp 输出流不同。

方案一设备树修改 CAMERA_J3 宏条件编译的节点如下所示:

 

CAMERA_J4 宏条件编译的节点如下所示:

 

2.1.2 Android 系统

接下来需要配置的是 xml 文件的内容。文件路径为:

hardware/rockchip/camera/etc/camera/camera3_profiles_rk3588.xml。

CAMERA_J3 宏条件编译的 ov5695 设备树节点,如下所示:

 

在上图中,我们可以得知 ov5695 节点的 rockchip,camera-module-index 为 2。我们修改 camera3_profiles_rk3588.xml 文件:

<Profiles cameraId="0" name="ov5695" moduleId="m02">

name 是摄像头驱动名字,与设备树中的摄像头驱动名字对应,moduleId 与设备树中的 rockchip,camera-module-index 对应。在设备树中 rockchip,camera-module-index 为 2,所以 moduleId 为 02。

同理 CAMERA_J4 宏控制的条件编译下,ov5695 摄像头的 rockchip,camera-module-index 为 0。检查 camera3_profiles_rk3588.xml 文件有以下配置。

<Profiles cameraId="0" name="ov5695" moduleId="m00">

这样设备树驱动以及 Android 系统的文件就配置上了,摄像头就可以正常使用了,

2.1.3 设置前后摄

然后配置前摄和后摄,前摄关键词为 FRONT,后摄关键词为 BACK,修改 xml 文件中的<lens.facing value="FRONT"/>项即可。例如选择方案一两个摄像头则进行如下修改 修改 J3 摄像头为后摄如下图所示:

 

修改 J4 摄像头为前摄如下图所示:

 

两个摄像头需要两组 profiles,moduleId 需要对应,前置和后置也需要确定。

2.1.4 测试

内容修改完重新编译烧写启动后,开机默认为前置摄像头,点击设置,会出现三个图标(不配置前摄后摄只出现两个图标),第三个图标即为切换前摄和后摄。如下图所示:

 


2.2 Android12 双摄同时显示

2.2.1 设备树

设备树与前摄后摄配置好的一致,参考 2.1 小节。

2.2.2 Android 系统

要支持双摄同时显示需对源码做如下修改,修改文件

hardware/rockchip/camera/Camera3HALModule.cpp

注释掉下面函数中的部分代码即可。

2.2.3 测试

双摄同时显示需要双摄 app,在网盘资料下载测试 APK,然后使用 adb 安装测试 APK, 启动测试 app,会发现双摄成功显示在同一个画面上,如下图所示:

 

相关文章:

【北京迅为】itop-3588开发板摄像头使用手册Android12 双摄方案

本章节对应资料在网盘资料“iTOP-3588 开发板\02_【iTOP-RK3588 开发板】开发资料 \07_Android 系统开发配套资料\08_Android12 摄像头使用配套资料”目录下下载。 2.1 Android12 前摄后摄 网盘中默认的 Android12 源码支持四个摄像头单独打开&#xff0c;本小节我们来修改源码…...

初见Linux:基础开发工具

前言&#xff1a; 这篇文章我们将讲述Linux的基本开发工具&#xff0c;以及讨论Linux的生态圈&#xff0c;最后再了解vim开发工具。 Yum&#xff1a; YUM&#xff08;Yellowdog Updater Modified&#xff09;是一个在Linux系统中用于管理软件包的工具&#xff0c;特别是在基于…...

微服务架构面试内容整理-分布式配置管理-Nacos Config

Nacos Config 是 Nacos 提供的一个配置管理功能,专门用于动态管理应用的配置。在微服务架构中,Nacos Config 允许开发者集中管理和动态更新各个服务的配置,从而提升系统的灵活性和可维护性。以下是 Nacos Config 的主要特点、工作原理和使用场景: 主要特点 1. 动态配置管理…...

React官网生成Recat项目的区别

1. Next.js 特点&#xff1a; 页面级路由&#xff1a;使用文件系统路由&#xff0c;基于 /pages 文件夹的结构自动创建 URL 路径。渲染模式&#xff1a;支持三种渲染模式&#xff1a;静态生成 (SSG)、服务器端渲染 (SSR) 和客户端渲染 (CSR)&#xff0c;并允许根据页面的具体需…...

网络安全---安全见闻

网络安全—安全见闻 拓宽视野不仅能够丰富我们的知识体系&#xff0c;也是自我提升和深造学习的重要途径&#xff01;&#xff01;&#xff01; Web程序(网站) web站点、app都属于Web程序 二进制程序 与逆向分析挂钩 驱动程序 驱动程序也属于软件&#xff0c;以Windows系统…...

在 CSS 中,gap 是 布局容器(flex 或 grid)的属性。它用于设置容器内子元素之间的间距。

在 CSS 中&#xff0c;gap 是 布局容器&#xff08;flex 或 grid&#xff09;的属性。它用于设置容器内子元素之间的间距。以下是 gap 属性在不同布局中的应用&#xff1a; 1. 在 CSS Grid 布局中 gap 定义了网格行和列之间的间距。可以分别使用 row-gap 和 column-gap 设置行…...

[zotero]Ubuntu搭建WebDAV网盘

搭建Ubuntu Apache WebDAV网盘的综合步骤&#xff0c;使用666端口&#xff1a; 安装Apache和WebDAV模块&#xff1a; sudo apt update sudo apt install apache2 sudo a2enmod dav sudo a2enmod dav_fs创建WebDAV目录&#xff1a; sudo mkdir /var/www/webdav sudo chown www-d…...

力扣17-电话号码的数字组合

力扣17-电话号码的数字组合 思路代码 题目链接 思路 原题&#xff1a; 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 输…...

如何处理模型的过拟合和欠拟合问题

好久没有写人工智能这块的东西了&#xff0c;今天正好在家休息&#xff0c;给大家分享一下最近在训练时遇到的过拟合和欠拟合的问题&#xff0c;经过仔细的思考&#xff0c;总结如下&#xff1a; 在处理模型的过拟合和欠拟合问题时&#xff0c;我们需要根据具体情况采取不同的…...

CSRF详解

CSRF&#xff0c;全称是Cross-Site Request Forgery&#xff0c;即跨站请求伪造&#xff0c;也被称为“one click attack”或者session riding&#xff0c;是一种网络攻击方式。它允许攻击者诱导用户在已登录的Web应用程序上执行非预期的操作。 工作原理CSRF攻击通常涉及三个主…...

C# winform 的数据采集,采集周期是间隔10ms、100ms等等,但始终都有1ms的误差,并不是精准的10ms,哪些原因呢

C# winform 的数据采集&#xff0c;采集周期是间隔10ms、100ms等等&#xff0c;但始终都有1ms的误差&#xff0c;并不是精准的10ms&#xff0c;哪些原因呢 在C# WinForms应用程序中进行数据采集时&#xff0c;如果遇到采集周期存在1ms误差的问题&#xff0c;可能的原因包括&am…...

【国内中间件厂商排名及四大中间件对比分析】

国内中间件厂商排名 随着新兴技术的涌入&#xff0c;一批国产中间件厂商破土而出&#xff0c;并在短时间内迅速发展&#xff0c;我国中间件市场迎来洗牌&#xff0c;根据市占率&#xff0c;当前我国中间件厂商排名依次为&#xff1a;东方通、宝兰德、中创股份、金蝶天燕、普元…...

qt QLocale详解

1、概述 QLocale是Qt框架中的一个类&#xff0c;用于处理与本地化相关的操作。它能够方便地实现日期、时间、数字和货币的格式化和解析&#xff0c;支持不同的语言、区域设置和字符集。QLocale提供了一种跨平台的方式来获取当前系统的语言设置&#xff0c;并返回该语言的本地化…...

Node.js简介以及安装部署 (基础介绍 一)

Node.js简介 Node.js是运行在服务端的JavaScript。 Node.js是一个基于Chrome JavaScript运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境&#xff0c;基于Google的V8引擎&#xff0c;V8引擎执行Javascript的速度非常快&#xff0c;性能非常好。 Node.…...

unity实习面

天津小厂 23分钟 下午三点约的面 一直到三点15才面上 估计前边也是在面别人然后面的时间有点长了 唉小厂也是一堆人 上来直接说看项目代码 给看了一下经典tankgame 主要是问了一些其中的代码是什么意思 然后问对象池怎么用 答&#xff1a;光知道不会用 问生命周期函数 得…...

React Native WebView 进阶:实现带回调函数的通讯

实现带回调的通讯 Web 端实现 在网页中&#xff0c;我们使用 window.callbacks 对象来注册回调函数&#xff0c;并将 callbackId 传递给 App&#xff1a; <script>window.callbacks {callbacks: {},register: function(successCallback, errorCallback) {const callb…...

【设计模式】结构型模式(四):组合模式、享元模式

《设计模式之结构型模式》系列&#xff0c;共包含以下文章&#xff1a; 结构型模式&#xff08;一&#xff09;&#xff1a;适配器模式、装饰器模式结构型模式&#xff08;二&#xff09;&#xff1a;代理模式结构型模式&#xff08;三&#xff09;&#xff1a;桥接模式、外观…...

分布式数据库中间件mycat

MyCat MyCat是一个开源的分布式数据库系统&#xff0c;它实现了MySQL协议&#xff0c;可以作为数据库代理使用。 MyCat(中间件)的核心功能是分库分表&#xff0c;即将一个大表水平分割为多个小表&#xff0c;存储在后端的MySQL服务器或其他数据库中。 它不仅支持MySQL&#xff…...

放大电路中的反馈 > 负反馈 > 四种组态 > 虚断和虚短

零、什么是反馈&#xff1f;为什么反馈很重要&#xff1f;而且负反馈最重要&#xff1f; 反馈在所有领域都是很美的东西&#xff1a; 公司出台某项政策&#xff0c;过了一个月让大家谈谈新政策的感受&#xff0c;然后公司对政策进行适当调整。 高三月考可以反应你对各个学课的…...

STM32F405RGT6单片机原理图、PCB免费分享

大学时机创比赛时画的板子&#xff0c;比到一半因为疫情回家&#xff0c;无后续&#xff0c;&#xff0c;&#xff0c;已打板验证过&#xff0c;使用stm32f405rgt6做主控 下载文件资源如下 原理图文件 pcb文件 外壳模型文件 stm32f405例程 功能 以下功能全部验证通过 4路…...

ChatGPT文档上传安全指南:如何避免敏感信息泄露

ChatGPT文档上传安全指南&#xff1a;如何避免敏感信息泄露 在当今AI应用开发热潮中&#xff0c;将文档上传至ChatGPT等大语言模型进行内容分析、总结或问答&#xff0c;已成为提升工作效率的常见场景。然而&#xff0c;许多开发者在兴奋地集成这一强大功能时&#xff0c;往往…...

2026年AI产品经理终极指南:零基础到精通,一篇文章掌握全部!AI产品经理学习路线!

成为一名优秀的AI产品经理不仅需要掌握相关的技术知识&#xff0c;还需要具备良好的产品思维、市场洞察力以及跨部门沟通协调能力。下面是一个详细的AI产品经理学习路线&#xff0c;旨在帮助有志于从事该职业的人士快速成长。 AI产品经理的学习路线 第一阶段&#xff1a;基础…...

PT插件配置完全指南:从基础到进阶的全方位解决方案

PT插件配置完全指南&#xff1a;从基础到进阶的全方位解决方案 【免费下载链接】PT-Plugin-Plus PT 助手 Plus&#xff0c;为 Microsoft Edge、Google Chrome、Firefox 浏览器插件&#xff08;Web Extensions&#xff09;&#xff0c;主要用于辅助下载 PT 站的种子。 项目地址…...

2026年智能系统控制、优化与应用国际学术会议(ISCOA 2026)

【重要信息】 会议官网&#xff1a;https://www.yanfajia.com/action/p/2W49G66K 会议时间&#xff1a;2026年10月16-18日 会议地点&#xff1a;中国 成都 截稿日期&#xff1a;2026年6月1日&#xff08;早鸟优惠咨询&#xff09; 接收或拒收通知&#xff1a;文章投递后…...

避坑指南:CentOS7部署LibreNMS常见错误及解决方案

CentOS7部署LibreNMS避坑实战&#xff1a;从SELinux到数据库权限的深度排错指南 对于网络监控系统的部署&#xff0c;LibreNMS以其开源特性和强大功能成为众多技术团队的首选。但在CentOS7环境下&#xff0c;从系统配置到服务调优的每个环节都可能成为阻碍顺利部署的暗礁。本文…...

3步打造个人离线音频库:喜马拉雅VIP内容永久保存全攻略

3步打造个人离线音频库&#xff1a;喜马拉雅VIP内容永久保存全攻略 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-qt5 你是否曾因网络…...

手把手教你用Python实现双足机器人ZMP预观控制(附开源代码)

用Python实现双足机器人ZMP预观控制的完整指南 1. ZMP理论基础与机器人动力学模型 零力矩点(ZMP)理论是现代双足机器人步态规划的核心概念&#xff0c;它定义了地面反作用力合力作用点的位置。当ZMP位于支撑多边形(由机器人足底接触点构成的凸多边形)内时&#xff0c;机器人能保…...

智鼎在线测评通关秘籍:2024最新51job题库实战解析与避坑指南

智鼎在线测评通关秘籍&#xff1a;2024最新51job题库实战解析与避坑指南 在竞争激烈的求职市场中&#xff0c;智鼎在线测评已成为众多知名企业筛选人才的第一道门槛。据统计&#xff0c;2024年使用智鼎测评系统的企业数量同比增长35%&#xff0c;而通过率却不足40%。这份指南将…...

Android开发避坑指南:RecyclerView最后一行被截断的5种原因及对应解决方案

Android开发避坑指南&#xff1a;RecyclerView最后一行被截断的5种原因及对应解决方案 在Android应用开发中&#xff0c;RecyclerView作为列表展示的核心组件&#xff0c;其灵活性和高性能深受开发者喜爱。然而&#xff0c;在实际项目中&#xff0c;我们经常会遇到一个令人头疼…...

N_m3u8DL-RE:现代流媒体下载的终极解决方案

N_m3u8DL-RE&#xff1a;现代流媒体下载的终极解决方案 【免费下载链接】N_m3u8DL-RE 跨平台、现代且功能强大的流媒体下载器&#xff0c;支持MPD/M3U8/ISM格式。支持英语、简体中文和繁体中文。 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE 在当今…...