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:揭秘人工智能领域的两大技术

相关推荐
jiayou646 小时前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
哈基咪怎么可能是AI6 小时前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行1 天前
Linux和window共享文件夹
linux
李广坤1 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
木心月转码ing1 天前
WSL+Cpp开发环境配置
linux
爱可生开源社区2 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
崔小汤呀2 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端
随逸1772 天前
《从零搭建NestJS项目》
数据库·typescript
何中应2 天前
vi编辑器使用
linux·后端·操作系统
何中应2 天前
Linux进程无法被kill
linux·后端·操作系统