Ubuntu 24.04 LTS 系统上树莓派摄像头模块 v2.1(IMX219)的安装配置与故障排查

这篇文章介绍如何在树莓派开发板的 Ubuntu 24.04 LTS 系统上安装、配置和排查树莓派摄像头模块 v2.1(IMX219)的问题。内容涵盖了从源码构建 libcamera 和 rpicam 应用程序的详细步骤、解决库加载问题,以及诊断硬件通信错误(例如"No cameras available!")的方法。

机器人学的第一部分------机器人如何理解空间:运动学与旋转矩阵

1. 简介

树莓派摄像头模块 v2.1 采用了索尼 IMX219 传感器,该传感器需要 libcamera 框架以及树莓派专用的 rpicam 工具来实现图像捕捉和视频流传输。

与树莓派操作系统(Raspberry Pi OS)不同,Ubuntu 24.04 默认不包含这些工具;因此必须从源代码进行编译构建。

本文章描述了具体的安装步骤,并针对设置过程中遇到的每一种常见故障提供了系统的错误处理策略。

简单介绍光束法平差与重投影误差

2. 系统要求

  • 树莓派 4 代 Model B 或更新型号
  • Ubuntu 24.04 LTS(64位,Noble Numbat)
  • 互联网连接
  • 摄像头模块 v2.1(IMX219)
  • 正确安装的 CSI 排线(金手指触点朝向 HDMI 接口)

简单明了的将卡尔曼滤波器讲清楚

3. 安装步骤

3.1 更新系统并安装依赖项

复制代码
sudo apt updatesudo apt full-upgrade -ysudo apt install -y git cmake meson ninja-build build-essential python3-pip python3-yaml python3-ply libboost-dev libgnutls28-dev openssl libjpeg-dev libtiff5-dev libpng-dev libdrm-dev libexpat1-dev libcamera-dev v4l-utils

3.2 构建并安装 libcamera

复制代码
cd ~git clone https://github.com/raspberrypi/libcamera.gitcd libcamerameson setup buildninja -C buildsudo ninja -C build install

3.3 构建并安装 rpicam 应用程序

复制代码
cd ~git clone https://github.com/raspberrypi/libcamera-apps.gitcd libcamera-appsmeson setup build --buildtype=releaseninja -C buildsudo ninja -C build install

4. 常见错误与解决方案

4.1 libcamera-hello: command not found

  • 原因:Ubuntu 系统未安装 libcamera 工具。
  • 解决方案 :按照第 3.2 节安装或构建 libcamera。
    使用 rpicam-* 命令,而非已弃用的 libcamera-* 工具。

4.2 E: Unable to locate package libcamera-apps

  • 原因:Ubuntu 官方仓库中不包含树莓派专用的软件包。
  • 解决方案:按照第 3.3 节手动构建 libcamera-apps。

4.3 构建后提示 libcamera-hello: command not found

  • 原因:二进制文件已构建成功,但未安装到系统的 PATH 环境变量路径中。
  • 解决方案
    • 永久安装:
复制代码
sudo ninja -C build install
  • 临时添加:
复制代码
export PATH="$HOME/libcamera-apps/build:$PATH"

4.4 rpicam-hello: error while loading shared libraries: librpicam_app.so.1

  • 原因:动态链接器无法找到已安装的库文件。
  • 解决方案
复制代码
echo "/usr/local/lib/aarch64-linux-gnu"  sudo tee /etc/ld.so.conf.d/rpicam.confsudo ldconfig
  • 然后验证:
复制代码
ldconfig -p | grep librpicam_app
  • 输出结果应包含:
复制代码
/usr/local/lib/aarch64-linux-gnu/librpicam_app.so.1

介绍基于 C++ 的运动恢复结构(SfM)的三维重建

4.5 No cameras available!

  • 原因:IMX219 驱动已加载,但摄像头无法通过 CSI 接口通信。

诊断与处理步骤:

  1. 检查物理连接
    • 关闭树莓派电源。
    • 重新插拔排线(确保金手指触点朝向 HDMI 接口)。
    • 重启系统。
  2. 检查 I²C 检测
    • 安装工具:
复制代码
sudo apt install -y i2c-tools
  • 扫描设备:
复制代码
sudo i2cdetect -y 10
  • 结果分析:网格中应显示一个地址(例如 0x10)。
  • 如果所有单元格均为 --,说明排线或模块连接错误。
  1. 确认驱动模块
    • 检查模块:
复制代码
lsmod | grep imx219 lsmod | grep unicam
  • 如果缺少 bcm2835_unicam,手动加载:
复制代码
sudo modprobe bcm2835_unicam
  1. 检查内核消息

    • 命令:
复制代码
dmesg | grep -E "imx|unicam"
  • 成功输出示例

    imx219 10-0010: Device found, sensor ID = 0x219bcm2835_unicam fe801000.csi: Device registered as /dev/video0

  • 失败提示 :出现 probe failed 等信息表明存在硬件或设备树覆盖(overlay)问题。

  1. 验证覆盖配置
    • 编辑 /boot/firmware/config.txt 文件,添加以下行:
复制代码
start_x=1 gpu_mem=128 dtparam=i2c_arm=on dtoverlay=imx219
  • 保存并重启:
复制代码
sudo reboot
  1. 验证

5.1 列出摄像头

命令:

复制代码
rpicam-hello --list-cameras

预期输出:

复制代码
Available cameras:0 : imx219 [3280x2464 10-bit RGGB] (/base/soc/i2c0mux/i2c@1/imx219@10)

5.2 捕捉测试图像

命令:

复制代码
rpicam-jpeg -o test.jpg -t 2000

5.3 录制短视频

命令:

复制代码
rpicam-vid -t 5000 -o test.h264ffmpeg -i test.h264 -c copy test.mp4
  1. 结论

通过遵循本文章概述的步骤,树莓派摄像头模块 v2.1(IMX219)可以在 Ubuntu 24.04 LTS 上稳定运行。

关键问题------如丢失二进制文件、库路径错误和摄像头检测失败------可以通过构建验证、动态链接器配置以及驱动级诊断进行系统性解决。

生成式AI vs 预测式AI:揭秘人工智能领域的两大技术

相关推荐
ʚB҉L҉A҉C҉K҉.҉基҉德҉^҉大3 小时前
自动化机器学习(AutoML)库TPOT使用指南
jvm·数据库·python
哈__3 小时前
多模融合 一体替代:金仓数据库 KingbaseES 重构企业级统一数据基座
数据库·重构
老邓计算机毕设3 小时前
SSM医院病人信息管理系统e7f6b(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·医院信息化·ssm 框架·病人信息管理
2601_949613023 小时前
flutter_for_openharmony家庭药箱管理app实战+药品分类实现
大数据·数据库·flutter
LUCIFER4 小时前
[驱动进阶——MIPI摄像头驱动(五)]rk3588+OV13855摄像头驱动加载过程详细解析第四部分——ISP驱动
linux·驱动开发
暮云星影4 小时前
四、linux系统 应用开发:UI开发环境配置概述 (一)
linux·ui·arm
dyyx1114 小时前
使用Scikit-learn进行机器学习模型评估
jvm·数据库·python
踢足球09295 小时前
寒假打卡:2026-01-27
数据库
不想写bug呀5 小时前
MySQL索引介绍
数据库·mysql
weixin_499771555 小时前
使用Seaborn绘制统计图形:更美更简单
jvm·数据库·python