Jetson Orin Nano:安装Jetpack等基础工具并验证摄像头

前言

Jetson Orin Nano最重要的功能之一就是机器视觉方向的开发,调出摄像头预览画面是这一切工作的基础。通过Jetpack和其它工具,可以完成对摄像头的基础配置。


一、硬件准备

本文使用两个15针CSI接口的IMX219摄像头作为示例,通过22针转15针排线与Jetson Orin Nano的载板相连接。

两个摄像头均支持红外夜视,因此后面的成像效果可以看到是偏红的。

二、安装JetPack

JetPack是NVIDIA为Jetson系列边缘计算平台提供的综合性软件开发工具包(SDK),包含官方载板的全套板级支持驱动、开发者工具、计算加速工具等等,广义来说,Jetson Orin Nano运行的操作系统Jetson Linux(Linux for Tegra,简写作L4T)也是JetPack的一部分,因为这个特殊的Ubuntu系统本身就是专门为Jetson系列产品高度定制的。JetPack是Jetson Orin Nano开发的必备软件基础。

之前烧录的系统是不带Jetson SDK等组件的,需要自行安装。打开"终端",输入下面指令可以查看是否已经安装了JetPack组件:

bash 复制代码
dpkg -l | grep nvidia-jetpack

如果只装了系统就是没有输出的。但是输入查看L4T版本信息得命令可以看到系统内核版本:

bash 复制代码
cat /etc/nv_tegra_release

据此可了解其对应的JetPack版本信息:通过所包含的JetPack驱动层面的一些信息。

比如上图中R36为L4T的主版本号,对应JetPack 6.x系列;REVISION: 5.0为修订版本,即L4T的完整版本为36.5.0,对应JetPack版本6.2.2。

输入下面的指令安装JetPack:

bash 复制代码
sudo apt install nvidia-jetpack

出现输入,按"y"键确认即可。

等待安装完成即可。安装完成后,CUDA、cuDNN、TensorRT等组件就都装好了。

三、安装pip3

pip3是Python 3的包管理工具,用于安装、卸载、管理Python 3环境中的第三方库(如numpy、requests等,包括后面的jetson-stats)。在"终端中"输入下面的指令安装:

bash 复制代码
sudo apt install python3-pip

安装完成后可以通过版本号指令验证一下:

bash 复制代码
pip3 --version

如果出现版本号信息则说明安装成功了。

四、安装jetson-stats

jetson-stats是一个专为NVIDIA Jetson系列产品(如Orin, Xavier, Nano, TX等)设计的开源、多功能系统监控与控制工具包,由第三方开发者提供,并已得到NVIDIA开发者官方网站的推荐。它不仅仅是一个简单的监控程序,更是一套可以通过命令行和 Python 脚本灵活使用的强大开发伴侣。其最常用的组件为硬件资源监控器jtop。首先,在"终端"中输入下面的指令通过pip3来安装:

bash 复制代码
sudo pip3 install -U jetson-stats

安装完成后,将当前用户加入video组,防止产生权限问题:

bash 复制代码
sudo usermod -aG video $USER

需要重启机器才能生效。重启后,打开"终端",输入指令:

bash 复制代码
jtop

即可打开jtop监控界面:

可以看到jtop包含多个页面,直接输入前面的数字可以切换到具体硬件的页面。

此外,jtop还可以作为一个Python库直接导入到自己的脚本中,实现程序化访问Jetson的各项数据。对于自动化运维、数据采集和自定义监控面板等场景非常有用。例如下面的代码片段:

python 复制代码
from jtop import jtop

with jtop() as jetson:
    if jetson.ok():
        # jetson.stats 会返回一个包含所有硬件信息的字典
        print(jetson.stats)

这段代码可以使Jetson用户在自己的程序中获取设备的所有实时数据,输出的数据结构完整,可以方便地集成到任何项目中。

五、在jetson-io中配置摄像头

确保摄像头都已经连接正常,在终端中输入:

bash 复制代码
sudo /opt/nvidia/jetson-io/jetson-io.py

启动配置CSI Connector界面,选择配置Jetson 22pin CSI Connector,按回车键继续:

确认当前CSI Connector IO配置:由于这里使用的是默认载板,摄像头也是兼容默认载板的,所以也不用确认了,直接按回车键继续:

硬件连接了两个IMX219摄像头,选择对应的IMX219双摄即可:(注意后面选项中的A和C分别对应CSI0和CSI1接口。)

保存CSI Connector IO配置:

确认保存,并重启生效CSI Connector IO配置:

按任意键重启:

重启后,在终端输入指令查看是否识别到了这两个摄像头:

bash 复制代码
ls /dev/video*

硬件连接正常的话是可以识别到的:

输入指令测试摄像头0:

bash 复制代码
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM),width=1920,height=1080,framerate=30/1' ! nvvidconv ! nv3dsink sync=false

可以看到弹出摄像头0的预览画面:

输入指令测试摄像头1:

bash 复制代码
gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! 'video/x-raw(memory:NVMM),width=1920,height=1080,framerate=30/1' ! nvvidconv ! nv3dsink sync=false

可以看到弹出摄像头1的预览画面:

输入指令同时打开两个摄像头:

bash 复制代码
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM),width=1920,height=1080,framerate=30/1' ! nvvidconv ! nv3dsink sync=false &
gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! 'video/x-raw(memory:NVMM),width=1920,height=1080,framerate=30/1' ! nvvidconv ! nv3dsink sync=false

可以看到弹出两个摄像头的预览画面:

摄像头连接测试成功。

六、安装v4l

Video for Linux工具集,即v4l-utils,包含了诸多用于摄像头调试的实用程序。其安装命令如下:

bash 复制代码
sudo apt install -y v4l-utils

安装完成后可以使用版本指令测试是否安装成功:

bash 复制代码
v4l2-ctl --version

使用指令可以查看摄像头所支持的视频输出格式:

bash 复制代码
v4l2-ctl -d /dev/video0 --list-formats-ext

可以看到当前摄像头支持的全部输出格式:

也可以使用指令查看摄像头当前正在使用的格式信息:

bash 复制代码
v4l2-ctl -d /dev/video0 --get-fmt-video

可以看到输出信息:

v4l还支持很多其他功能,后续利用摄像头调试开发能够用上。


总结

JetPack和摄像头是Jetson Orin Nano最重要的应用场景之一,完成这一步是后续开发其他应用的基本前提。jtop、v4l工具也是常用的软件,对于开发应用有很重要的作用。

相关推荐
土星云SaturnCloud1 天前
边缘计算赋能工业智能化:重大危险源监测+产线控制+视觉分析一体化解决方案
服务器·人工智能·ai·边缘计算
翼达口香糖1 天前
当大模型吃掉你的App,从高德开放平台看AI服务重构
大数据·人工智能·深度学习·语言模型·数据分析·边缘计算
云和数据.ChenGuang2 天前
FastText的核心优势
人工智能·深度学习·机器学习·数据挖掘·边缘计算
AgentOPC2 天前
Cerebras WSE-3 vs Nvidia H100/H200/B200:详细技术对比——谁才是 AI 时代真正的“芯片之王“
开发语言·人工智能·nvidia
广州智维科技2 天前
Kvaser Edge WL400S:工业级边缘计算与 CAN‑FD 数据采集平台解析73-30130-01688-0
前端·edge·边缘计算
2601_957786772 天前
星链引擎矩阵系统:全球边缘计算与三级算力调度技术实践
矩阵·边缘计算·三级算力调度
小O的算法实验室3 天前
2026年SEVC,面向无人机辅助边缘计算的自适应群体智能算法,深度解析+性能实测
算法·边缘计算·智能算法·智能算法改进
QotomPC4 天前
Qotom Q30900GP多网口Mini PC:16网口设计在pfSense与工业网络中的应用
服务器·网络·边缘计算