JETSON ORIN NANO
资料
| ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
简介
模组
NVIDIA® Jetson Orin™ Nano 模组提供 4GB 和 8GB 两种显存方案可选,算力高达 20 TOPS/40 TOPS,性能是上一代产品的 40/80 倍,适用于多个并发 AI 推理管道,此外它还可以通过高速接口连接多个传感器,因此可为新时代机器人提供理想的解决方案。
官方套件
Jetson Orin Nano Developer Kit 是英伟达官方推出的基于 8GB 版本核心板的开发套件,可提供高达 40 TOPS 的 AI 性能, 板载的模组和量产版本的 Jetson Orin Nano 8GB 模组不同的一点是,为了方便用户使用,此套件增加了 TF 卡卡槽设计,用户可以使用 TF 卡作为系统安装存放介质。
使用说明
如果购买的是带有屏幕的套件,只需要接上屏幕开机配置即可。
如果没有屏幕,初始默认没有用户名密码,需要安装putty用端口登录去配置用户名密码。
设备接上电源,接入type C数据线到电脑。
打开设备管理器查看新出现的端口号。
然后按照提示信息开机配置即可。
刷机说明
- 烧录系统需要用到Ubuntu 20.04或者Ubuntu18.04的主机或虚拟机
器材准备
- Jetson Orin NX主板。
- Ubuntu20.04 虚拟机(或电脑主机)。
- 电源适配器。
- 跳线帽(或杜邦线)。
- USB 数据线(Micro USB接口,可传输数据)。
硬件配置(进入recovery 模式)
- 用跳帽或者杜邦线短接FC REC和GND引脚,位置如上图,位于核心板底下
- 连接DC电源到圆形供电口, 稍等片刻
- 用USB线(注意要是数据线)连接Jetson主板的Micro USB接口到Ubuntu主机
软件配置
- 打开ubuntu系统,打开浏览器下载SDK Manager
- 下载完成后,我们进入下载路径Downloads进行安装,终端输入:
sudo dpkg -i sdkmanager_1.6.1-8175_amd64.deb(根据自己的版本输入)
- 安装完成后,系统可能会报错找不到依赖文件,输入以下命令解决此问题。
sudo apt --fix-broken install
安装系统
- 打开ubuntu电脑终端,运行sdkmanager打开软件
- 登录账号
- 如果Jetson 主板有被正常识别到如下图,如果已连接没显示,请点击refresh
- 开发板类型选择Jetson Orin Nano 选项,8GB版本和4GB版本请根据实际情况选择(如果你使用的是官方套件, 选择developer Kit)
- 在JetPack选项中,选择支持的最新系统即可,不勾选其他的SDK, 然后点击Continue
- 选择Jetson OS, 并将Jetson SDK Components的选项去掉。勾选最下方的第一个协议
- 最后点击Continue 等待烧录完成即可。
- 这里会默认选择开发板类型。 注意前面选择开发板类型的时候不要选择错误。
- 这里选择Manual Setup-Jetson ... (不同主板后缀提示不同)
- 这里可以选择runtime或者preconfig, 选择runtime的话,后续需要自己手动配置系统(用户名,密码,语言等), 选择preconfig,可以填入用户名和密码(可以自己定义),会在启动过程中自动配置主板
- 烧录完成之后如下图,去掉底板的跳帽,接入显示器,重新上电,按照提示进行开机配置(如果是设置的pre-config, 上电后直接进入系统)。
远程登录
准备工作
- 用一根网线一端连接Jetson Orin Nano,另一端连接路由器的LAN端口。
- 确保Jetson Orin Nano与你的电脑出于一个路由器下或同一网段。
获取Jetson Orin Nano的IP地址
- 方法一:登录路由器查找Jetson Orin Nano的IP地址。
- 方法二:你可以通过一些局域网IP扫描工具,这里以Advanced IP Scanner为例程
- 方法三:屏幕IP查询
使用MobaXterm登录
终端窗口
- 下载MobaXterm远程登录软件,解压即可使用。
- 打开MobaXterm远程登录软件,选择Session,选择ssh。
- 在Remote host输入我们前面查询到的IP地址192.168.15.102(根据自己的实际IP来填写),填写完成后,点击ok。
- 点击Accept,输入用户名密码(在输入密码时,屏幕没有变化属于正常现象,点击回车确认即可)
配置VNC服务器
- Jetson Nano使用vino来作为默认的VNC服务器,但是默认的设置需要进行一些修改。
- 配置VNC Server
gsettings set org.gnome.Vino require-encryption false gsettings set org.gnome.Vino prompt-enabled false gsettings set org.gnome.Vino authentication-methods "['vnc']" gsettings set org.gnome.Vino lock-screen-on-disconnect false gsettings set org.gnome.Vino vnc-password $(echo -n "mypassword"|base64)
- 需要注意的是,不要用sudo来运行上面的命令,mypassword就是连接VNC的密码。
- 设置桌面开机自启,在.config路径下新建一个自启文件
mkdir -p .config/autostart sudo vim ~/.config/autostart/vino-server.desktop
添加以下内容:
[Desktop Entry] Type=Application Name=Vino VNC server Exec=/usr/lib/vino/vino-server NoDisplay=true
- 查看当前用的是什么管理器
cat /etc/X11/default-display-manager
- 编辑文件
sudo vim /etc/gdm3/custom.conf
- 把下面三行的注释去掉,其中AutomaticLogin行修改成自己的用户名。
WaylandEnable=false AutomaticLoginEnable = true AutomaticLogin = waveshare
- 重启Orin Nano
sudo reboot
下载安装VNC Viewer
- 在电脑上下载安装VNC-Viewer。
使用VNC Viewer远程连接Orin Nano
- 打开VNC Viewer,输入Orin Nano的IP地址回车确认。例如:
192.168.15.102
- 输入前面设置的VNC登录密码,点击ok:
- 此时就成功登录Orin Nano了。
SDK安装
Jetpack主要包括系统镜像,库,APIs,开发者工具,示例和一些文档。
SDK里包含TensorRT、cuDNN、CUDA、Multimedia API、Computer Vision、Developer Tools。
- TensorRT :用于图像分类、分割和对象检测神经网络的高性能深度学习推理运行,它加快了深度学习推理的速度,并减少了卷积和反卷积神经网络的运行时内存占用。
- cuDNN :CUDA深度神经网络库为深度学习框架提供高性能原语,它包括对卷积、激活函数和张量变换的支持。
- CUDA :CUDA工具包为构建 GPU 加速应用程序的 C 和C++开发人员提供了一个全面的开发环境。该工具包包括用于 NVIDIA GPU 的编译器、数学库以及用于调试和优化应用程序性能的工具。
- ultimedia API : Jetson Multimedia API为灵活的应用程序开发提供了低级 API。
- Computer Vision :VPI(视觉编程接口)是一个软件库,提供在PVA1(可编程视觉加速器)、GPU和CPU上实现的计算机视觉/图像处理算法,其中OpenCV是用于计算机视觉、图像处理和机器学习的领先开源库,现在具有用于实时操作的 GPU 加速功能,其中VisionWorks2是一个用于计算机视觉(CV)和图像处理的软件开发包。
- Developer Tools :Developer Tools CUDA工具包为构建GPU加速应用程序的C和C++开发人员提供了一个全面的开发环境。该工具包包括用于NVIDIA GPU的编译器、数学库以及用于调试和优化应用程序性能的工具。
以上是SDK的部分功能。
使用SDK Manager安装
使用SDK Manager安装SDK的时候,不需要设置JETSON ORIN NANO为recovery模式,也就是不需要进行短接引脚的操作。
- 正常上电启动Nano
- Jetson Nano进入系统正常启动后,用USB数据线连接JETSON ORIN NANO的Micro USB接口到Ubuntu主机
- Ubuntu主机电脑运行sdkmanager指令打开SDK Managaer(需要先安装SDK Manager)
- 类似于前面烧录系统的操作,不同的是,在步骤而中,不勾选 OS选项,而是勾选SDK' 选项, 然后continue到安装
- 在下载资源之后,会弹窗提示填写用户名和密码,填写JETSON ORIN NANO系统的用户名和密码即可
- 等待SDK安装成功
使用指令安装SDK
sudo apt update sudo apt install nvidia-jetpack
预览双摄像头
打开两个终端,分别运行
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080,format=(string)NV12, framerate=(fraction)30/1" ! nvvidconv ! xvimagesink sync=false
gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! "video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080,format=(string)NV12, framerate=(fraction)30/1" ! nvvidconv ! xvimagesink sync=false
风扇
安装jtop
sudo apt install python3-pip sudo pip3 install jetson-stats sudo reboot
开机后输入
jtop
最大化窗口鼠标选择6CTRL,鼠标选择profiles里的mannual选项,然后点击speed旁的[+]号调节风扇风力.
RTC
- 如若不想系统被重置,需要保持底板不断电,或者在电池座子上接上电池
修改RTC时间
sudo hwclock --set --date="01/01/2001 11:00"
查询RTC时间
sudo hwclock -r
更新RTC时间到系统时间
sudo hwclock -s
查询系统时间
date
AI入门
设置CUDA环境
- 本教程是基于Jetpack5.1.1做配置的,tensorflow的版本是2.12.0+nv23.05,pytorch的版本为v2.0.0,torchvsion的版本为v0.14.1.
- 查看CUDA版本,出现command not found,需要配置下环境
sudo apt update sudo apt install nvidia-jetpack nvcc -V
注意:这里使用nvcc命令查看不到版本,进入/usr/local/目录查看下是否有CUDA目录,
如果没有参考后面安装SDK(包含CUDA),安装完成后再配置环境。 - 设置环境变量
sudo vim .bashrc 在文件末尾加入: export LD_LIBRARY_PATH=/usr/local/cuda/lib64 export PATH=$PATH:/usr/local/cuda/bin
- 更新环境变量
source .bashrc
- 再次查看CUDA版本
nvcc -V
Tensorflow GPU环境搭建
- 安装所需要的包
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran sudo pip3 install -U pip testresources setuptools==49.6.0
-
安装 python 的依赖项
sudo pip3 install -U --no-deps numpy==1.19.4 future==0.18.2 mock==3.0.5 keras_preprocessing==1.1.2 keras_applications==1.0.8 gast==0.4.0 protobuf pybind11 cython pkgconfig packaging
- 安装Tensorflow(在线安装经常失败,可以参考第4步离线安装)
sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v46 tensorflow
-
最后建议离线安装,先登录英伟达官网下载TensorFlow安装包(以jetpack5.1.1 TensorFlow2.12.0+nv23.05为例,建议使用火狐浏览器下载)
pip3 install tensorflow-2.12.0+nv23.05-cp38-cp38m-linux_aarch64.whl
- 安装完成后,检查是否安装成功,在终端输入
python3 import tensorflow as tf
- 查看版本信息
tf.__version__
Pytorch环境搭建
Pytorch安装
- 注意:Pytorch版本一定要和JetPack版本相互对应。
- 首先登录英伟达官网下载Pytorch安装包,我们以PyTorch v2.0.0为例
- 下载依赖库
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev libopenblas-base libopenmpi-dev
- 安装Pytorch
sudo pip3 install torch-2.0.0+nv23.05-cp38-cp38-linux_aarch64.whl
- 验证Pytorch是否安装成功
python3 import torch x = torch.rand(5, 3) print(x)
- 查看版本信息
import torch print(torch.__version__)
Torchvision安装
- Torchvision版本要与Pytorch版本相匹配,我们前面安装的Pytorch版本为2.0.0,Torchvision安装 v0.14.1版本
- 下载、安装torchvision
git clone --branch v0.14.1 https://github.com/pytorch/vision torchvision cd torchvision export BUILD_VERSION=0.14.1 sudo python3 setup.py install
- 验证Torchvision是否安装成功
python3 import torchvision
- 查看版本信息
import torchvision print(torchvision.__version__)
NVIDIA官方资料