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工具也是常用的软件,对于开发应用有很重要的作用。

相关推荐
视觉AI7 小时前
VS Code Remote-SSH 连接Jetson踩坑完整解决记录(网段不通+主机密钥变更双重故障)
运维·网络·人工智能·windows·ssh·边缘计算
张忠琳8 小时前
【kubernetes】Node Feature Discovery 0.20.0-devel 源码深度解析 — 第四卷:CLI入口、工具链与全局架构总结
云原生·容器·架构·kubernetes·nvidia
珠***格10 小时前
XGF10-Z-4典型接入方式解析:10千伏专变用户380伏多点分布式光伏如何并网?
网络·人工智能·分布式·安全·边缘计算
fu159357456811 小时前
【边缘计算实战】P1:从零搭建边云任务卸载仿真实验台(Python 可复现)
数据库·python·边缘计算
时空无限17 小时前
nvidia 显卡架构 Hopper、Ada 和 Blackwell 这些名字有啥规律或者意义吗
人工智能·nvidia
HyperAI超神经20 小时前
数据集汇总丨英伟达开源Nemotron系列数据集,超10T tokens+40M 条后训练样本,覆盖数学推理/代码生成/多语言对话
人工智能·大模型·数据集·nvidia·预训练·代码生成·监督微调
土星云SaturnCloud20 小时前
智慧港口边缘计算:基于土星云边缘计算设备的三级架构设计与实战
服务器·人工智能·ai·边缘计算
fu159357456821 小时前
【边缘计算实战】P3:把卸载策略接到线上——弱网 / 过载 / 节点宕机注入
人工智能·边缘计算
视***间1 天前
算力赋能零售与创意新生态:视程空间Pandora,解锁线下场景智能化无限可能
人工智能·边缘计算·智慧零售·ai算力·视程空间·创意开发
该用户已不存在2 天前
英伟达开放 GLM-5.2 API 端点,免费的!一篇文章告诉你怎么零成本接入
ai编程·nvidia·chatglm (智谱)