NX环境配置

烧录系统和 SDK


1. 打开 NVIDIA 的 jetpack 下载网址:

SDK Manager | NVIDIA Developericon-default.png?t=N7T8https://developer.nvidia.com/sdk-manager5be0a42d36a346849a00586b5707bbdd.png


用虚拟机 Ubuntu18.04 系统,点击下载 SDK Manager,使用前请先注册/登录 NVIDIA 账号。

2. 安装 SDK Manager。
先进入刚刚下载的.deb 文件的路径,例如这里下载到 Downloads 目录。

cd Downloads/

ls

在终端输入以下命令安装 SDK Manager。

sudo dpkg -i sdkmanager*

我用的是jetson xavier nx 和tx2 nx 对应的版本都为jetpack 4.6.4(Ubuntu18.04)agx xavier还在配置中。

3.烧录

8cbbecf2b3c743f8b35eab039fc826a9.png

“步骤 01 开发环境”窗口中,选择以下选项:(当板卡连接上虚拟机后这些都自动选好了,host machine可以不选)

  • “产品类别”面板中,选择“Jetson”。

  • “系统配置”面板中,选择主机和目标硬件。

  • “SDK 版本”面板中,选择操作系统和 JetPack 版本。

  • 如果相关,请选择要安装的任何其他 SDK。其他 SDK 可能包括:DeepStream。(我个人推荐下一个deepstream,后续的学习中可以用到)

步骤 2:查看组件并接受许可证

  1. 步骤 02 详细信息和许可证中,您可以展开主机组件和目标组件面板,以查看将安装在系统上的组件。

  2. 启用该复选框以接受许可协议的条款和条件。

  3. SDK Manager 将所有安装文件下载到默认路径以外的位置,请转到屏幕底部的“下载和安装选项”,然后选择要使用的路径。04fa4d72e31043c1b0e338236acb04f7.png

  4. 选择“继续”继续执行下一步。

第 3 步:安装

  1. 在安装开始之前,SDK 管理器会提示您输入密码。

    7e3dff13727a5a4cbb4cff512b7139f3.png

  2. 显示屏显示软件的下载和安装进度。

    8866c9f748fb9e84ebe93a385daa259b.png

  3. 在顶部,您可以在“详细信息”和“终端”选项卡之间切换。“终端”选项卡显示有关下载和安装的详细信息,并突出显示所有错误。

  4. 在“终端”选项卡上,可以使用“筛选器”文本字段筛选和搜索特定信息。

  5. SDK 管理器在准备好刷写目标设备时会打开一个对话框。提示提供了有关准备设备以使其准备好闪烁的说明。

  6. SDK Manager 完成刷机过程后,连接到 Jetson 系统的显示器将显示初始设置提示。

  7. 作为初始设置过程的一部分,为 Jetson 系统选择用户名和密码。

  8. 初始设置过程完成后,Jetson 系统将引导至 Linux 桌面。

  9. 在 SDK Manager 的闪存后安装对话框中输入您的用户名和密码。

    e20b4d5b20b8028c0b5685d8177e2ae8.png

  10. SDK 管理器现在将完成软件库的安装。跳过此步骤不会在目标硬件上安装任何 SDK 组件,并且会在设备上保持干净的操作系统。

M.2挂载和rootOnNVMe

如果板卡上的emmc比较小的话推荐外接一个SSD,部分板卡没有emmc用的是SD卡,如果SD卡够用就不需要使用SSD

1.M.2挂载

df -h

sudo fdisk -l

2.rootOnNVMe

​git clone https://github.com/jetsonhacks/rootOnNVMe.git

cd rootOnNVMe/

./copy-rootfs-ssd.sh

./setup-service.sh

sudo reboot

df -h

​

fishros

感谢鱼哥提供的一键ros

​wget http://fishros.com/install -O fishros && . fishros

pip

python3 --version

sudo apt install python3-pip python3-dev build-essential libssl-dev libffi-dev python3-setuptools

pip3 --version

sudo pip3 install --upgrade pip

sudo pip3 install pip==21.3.1

一般的话python是2.7,python3是3.6,pip是9.0.1,pip可以更新到21.3.1

jtop

jtop是Jetson系列设备最佳设备状态监控软件,可以实时查看CPU,GPU,内存等硬件设备使用情况,开发环境配置情况,同时方可以直接在图形化界面是设置运行功率和风扇转速。

sudo apt install python3-pip

sudo -H pip3 install -U jetson-stats

reboot

jtop

输入法

sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4

im-config -s ibus

sudo apt-get install ibus-pinyin

ibus-setup

摄像头

sudo apt install v4l-utils

v4l2-ctl --list-devices

v4l2-ctl --device=/dev/video0 --list-formats-ext

T265和D435i

官网链接:

Release Intel® RealSense™ SDK 2.0 (v2.53.1) · IntelRealSense/librealsense (github.com)icon-default.png?t=N7T8https://github.com/IntelRealSense/librealsense/releases/tag/v2.53.1

Intel® RealSense™ SDK 2.0 (v2.54.1) 在该版本中移除了对T265相机的支持,以后的版本也不会支持了。为了继续使用 T265 相机,我们要下载Intel® RealSense™ SDK 2.0 (v2.53.1),此处提供两种安装方法。

注意:安装时,不要将相机连在设备上。

一、ubuntu 18.04(arm 架构)

如果之前安装不成功,或者安装了其他版本的 SDK ,最好先全部卸载,然后再依次执行下述命令。使用以下命令删除所有与 RealSense™ SDK 相关的包。

dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge

(1)注册服务器的公钥
sudo mkdir -p /etc/apt/keyrings
curl -sSf https://librealsense.intel.com/Debian/librealsense.pgp | sudo tee /etc/apt/keyrings/librealsense.pgp > /dev/null

(2) 确保安装了 apt HTTPS 支持
sudo apt-get install apt-transport-https

(3)将服务器添加到存储库列表中

注意:下面1、2行是一整条命令,需要一起复制粘贴。可以看到第1行最后是一个管道符号 |。

echo "deb [signed-by=/etc/apt/keyrings/librealsense.pgp] https://librealsense.intel.com/Debian/apt-repo `lsb_release -cs` main" | \sudo tee /etc/apt/sources.list.d/librealsense.list
sudo apt-get update


正常来说,到这一步公钥和软件源的服务器已经被导入了。如果后续安装的时候提示没有公钥之类的问题,可以再重新执行下述命令试下(下面两条命令和前面的(1)-(3)作用相同)。

%========导入公钥========
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key  F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
%========添加服务器========
sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u

(4)安装相关库(关键部分)
sudo apt-get install librealsense2-udev-rules:arm64=2.53.1-0~realsense0.703

sudo apt-get install librealsense2=2.53.1-0~realsense0.703

sudo apt-get install librealsense2-gl=2.53.1-0~realsense0.703

sudo apt-get install librealsense2-utils=2.53.1-0~realsense0.703

sudo apt-get install librealsense2-dev=2.53.1-0~realsense0.703

%============================下面这个可以不装============================%

sudo apt-get install librealsense2-dbg=2.53.1-0~realsense0.703

(5)重新连接英特尔实感深度摄像头并运行: realsense-viewer 以验证安装。
realsense-viewer

二、其他版本

1.下载SDK
git clone -b v2.53.1 https://github.com/IntelRealSense/librealsense.git
2.安装依赖包
sudo apt-get install libudev-dev pkg-config libgtk-3-dev
sudo apt-get install libusb-1.0-0-dev pkg-config
sudo apt-get install libglfw3-dev
sudo apt-get install libssl-dev
3.安装权限脚本
cd librealsense
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger 
4.编译
mkdir build
cd build
cmake ../ -DBUILD_EXAMPLES=true
make -j4
sudo make install
5.使用
realsense-viewer

三、Jetson 方法安装 librealsense

jetsonhacks/installRealSenseSDK:在 NVIDIA Jetson 开发套件上安装英特尔实感 SDK (github.com)icon-default.png?t=N7T8https://github.com/jetsonhacks/installRealSenseSDK

git clone https://github.com/jetsonhacks/installRealSenseSDK.git
cd ./installRealSenseSDK
./installLibrealsense.sh
realsense-viewer

installLibrealsense.sh( v2.49.0)

此脚本将从英特尔 Librealsense Debian 存储库安装 librealsense。

./installLibrealsense.sh

buildLibrealsense.sh

此脚本将从源代码构建 librealsense 并将其安装在系统上。注意:建议从 Debian 存储库安装,如上所述。但是,如果您需要从源代码编译,您会发现此脚本很有用。

./buildLibrealsense.sh [ -v | --version <version> ] [ -j | -jobs <number of jobs> ] [ -n | --no_cuda ]
  • <version>= Librealsense 版本。例如 v2.49.0
  • <number of jobs>= # 个在构建时并发运行的作业。如果 Jetson 有 <= 4GB 内存,则默认为 1
  • <no_cuda>= 在没有 CUDA 支持的情况下编译(默认情况下,CUDA 处于打开状态)

realsense-ros

注意:如果您使用 realsense-ros,请确保将 librealsense 版本与 realsense-ros 版本要求相匹配。

1.安装

mkdir -p realsense_ws/src
cd realsense_ws/src
 
git clone -b ros1-legacy https://github.com/IntelRealSense/realsense-ros.git
git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
cd .. && catkin_make

2.添加环境依赖

echo "source ~/realsense_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

3.测试安装是否成功

roslaunch realsense2_camera demo_pointcloud.launch 

swap

1)扩展内存

2)防止意外崩溃

3)将经常不使用的内存数据转移至Swap分区中

4)Swap分区的大小是与内存大小相关的,通常建议Swap分区的大小为内存的2倍,但也不是绝对的。

1.新增swapfile文件大小自定义(6G)

sudo fallocate -l 6G /var/swapfile

2.配置该文件的权限

sudo chmod 600 /var/swapfile

3.建立交换分区

sudo mkswap /var/swapfile

4.启用交换分区

sudo swapon /var/swapfile

5.自启动启用

sudo bash -c 'echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab'

VNC

1、安装 vino

sudo apt update
sudo apt install vino

2、设 Enable VNC 服务 (此时手动可打开 vnc server

sudo ln -s ../vino-server.service /usr/lib/systemd/user/graphical-session.target.wants
配置 VNC server:
gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino require-encryption false
编辑 org.gnome, 恢复丢失的 “enabled” 参数 , 输入一下命令进入文件,将下方 key 内容添加到
文件的最后面。保存并退出
sudo vi /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml
<key name='enabled' type='b'>
  <summary>Enable remote access to the desktop</summary>
  <description>
    If true, allows remote access to the desktop via the RFB
    protocol. Users on remote machines may then connect to the
    desktop using a VNC viewer. 
  </description>
  <default>false</default>
</key>
设置为 Gnome 编译模式
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
现在屏幕共享面板在单位控制中心工作…但这并不足以让 vino 运行 ! 所以您需要在会话启动
时添加程序 :Vino-server ,使用以下命令行 :
/usr/lib/vino/vino-server
这种是属于手动启动,如果每次都需要手动启动会比较麻烦下面会设置开机自启动的形式。

3、设置 VNC 登陆密码('thepassword' 修改为自己的密码)

%========账号========
gsettings set org.gnome.Vino authentication-methods "['vnc']" 
%========密码========
gsettings set org.gnome.Vino vnc-password $(echo -n 'thepassword'|base64)

4、重启机器,验证是否设置 vnc 成功

sudo reboot

5、设置开机自启动 VNC Server

VNC 服务器只有在您本地登录到 Jetson 之后才可用。如果您希望 VNC 自动可用,请使用系
统设置应用程序来启用自动登录。
gsettings set org.gnome.Vino enabled true
mkdir -p ~/.config/autostart
vi ~/.config/autostart/vino-server.desktop
将下面的内容添加到该文件中,保存并退出。
[Desktop Entry]
Type=Application
Name=Vino VNC server
Exec=/usr/lib/vino/vino-server
NoDisplay=true

Jupyter-lab

1.安装

sudo apt install nodejs npm

sudo apt install libffi-dev

sudo pip3 install jupyter jupyterlab

2.生成配置文件

jupyter notebook --generate-config

3.修改此配置文件

sudo gedit ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip = '0.0.0.0'​​​​​​​        // 第296行

c.NotebookApp.open_browser = False    // 第400行

c.NotebookApp.port = 8888 // 第424行,开放的端口号

c.NotebookApp.notebook_dir = '/home/' // 第392行,可以访问的目录

4.设置jupyter notebook的访问密码

jupyter notebook password

5.启动jupyter notebook

jupyter notebook

6.开机自启动

jupyter-lab安装位置:
which jupyter-lab
创建jupyter.service文件:
sudo gedit /etc/systemd/system/jupyter.service

在文件中复制如下内容。‘#’后注释内容必须删除,否则运行会报错

[Unit]
Description=Jupyter Notebook
 
[Service]
Type=simple
User=fs    # 需要更换为自己的用户名
ExecStart=/home/fs/.local/bin/jupyter-lab --port 8888  # 更换为自己的路径
WorkingDirectory=/home/  # notebook启动时的目录
 
[Install]
WantedBy=default.target
启动服务:
sudo systemctl enable jupyter
sudo systemctl start jupyter
查看当前IP:
ifconfig
重启:
sudo reboot
等待重启完成,在同局域网下,通过浏览器访问Ubuntu:ip:端口号/lab

mavros

MAVROS是一层MAVLink与ROS通信的封装,旨在方便无人机与机载电脑通信。

sudo apt-get install ros-melodic-mavros-*
sudo apt-get install ros-melodic-serial
cd /opt/ros/melodic/lib/mavros
sudo ./install_geographiclib_datasets.sh

查看mavros对应的串口号:

ls /dev/tty*

给予相应的权限:

sudo chmod 777 /dev/ttyACM0

修改launch文件,

sudo chmod 777 /opt/ros/melodic/share/mavros/launch/px4.launch
sudo gedit /opt/ros/melodic/share/mavros/launch/px4.launch

将其中的

<arg name="fcu_url" default="/dev/ttyACM0:57600" />

修改为自己的端口及波特率

<arg name="fcu_url" default="/dev/ttyACM0:921600" />

启动Mavros

roslaunch mavros px4.launch

报错一:

roslaunch realsense2_camera rs_rgbd.launch

解决:

sudo apt-get install ros-melodic-rgbd-launch

报错二:

解决:

sudo apt-get install ros-melodic-realsense2-camera

 清华源

Simple Indexicon-default.png?t=N7T8https://pypi.tuna.tsinghua.edu.cn/simple

​https://pypi.tuna.tsinghua.edu.cn/simple

#pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

pytorch

官网:PyTorch

PyTorch for Jetson - Announcements - NVIDIA Developer Forums

JetPack4 1.8.0(我用的是4.6.4)

sudo apt-get install python3-pip libopenblas-base libopenmpi-dev

pip3 install Cython

pip3 install numpy==1.19.3

pip3 install protobuf==3.3.0

pip install testresources

pip install launchpadlib

pip3 install torch-1.8.0-cp36-cp36m-linux_aarch64.whl

 torchvison(v0.9.0)

GitHub - pytorch/vision: Datasets, Transforms and Models specific to Computer VisionDatasets, Transforms and Models specific to Computer Vision - pytorch/visionicon-default.png?t=N7T8https://github.com/pytorch/vision

sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev

python3 -m pip install --upgrade pillow

git clone --branch v0.9.0 https://github.com/pytorch/vision torchvision

torchvision

cd torchvision

export BUILD_VERSION=0.9.0

python3 setup.py install --user

torch和torchvision对应的版本和支持的 Python 版本。

yolov5-6.2

目前yolov5-7.0也可以在jetson进行配置,其在运行中会提示要求python3.7及以上,但是在实际运行中没有出现问题。

GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLiteYOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite. Contribute to ultralytics/yolov5 development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/ultralytics/yolov5.git

git clone -b v6.2 https://github.com/ultralytics/yolov5.git

pip install -r requirements.txt

https://elinux.org/Jetson_Zoo#ONNX_Runtimeicon-default.png?t=N7T8https://elinux.org/Jetson_Zoo#ONNX_Runtime

自yolov5-6.0开始推出了yolov5n.pt,yolov5n在jetson nano 4GB上 640x640x3的输入能达到30fps+。如果想降低运存占用可以考虑使用。

YOLOv5n 'Nano' 型号 ⭐ NEW:YOLOv5s (7.5M 参数) 以下的新更小的 YOLOv5n (1.9M 参数) 型号,导出为 2.1 MB INT8 大小,是超轻量级移动解决方案的理想选择。

tensorrtx(yolov5-v6.2)GitHub - wang-xinyu/tensorrtx: Implementation of popular deep learning networks with TensorRT network definition APIImplementation of popular deep learning networks with TensorRT network definition API - wang-xinyu/tensorrtxicon-default.png?t=N7T8https://github.com/wang-xinyu/tensorrtx.git

​
git clone -b yolov5-v6.2 https://github.com/wang-xinyu/tensorrtx.git

cd tensorrtx

mkdir build

cd build

cmake ..

make

#修改yololar.h中的class_num

​

deepstream6.0.1(我目前使用的是这个版本)

#gen_wts_yolov5.py

GitHub - marcoslucianops/DeepStream-Yolo at e652ef4e394fbcee0b8b8652c4630802bec4eab3NVIDIA DeepStream SDK 7.0 / 6.4 / 6.3 / 6.2 / 6.1.1 / 6.1 / 6.0.1 / 6.0 / 5.1 implementation for YOLO models - GitHub - marcoslucianops/DeepStream-Yolo at e652ef4e394fbcee0b8b8652c4630802bec4eab3icon-default.png?t=N7T8https://github.com/marcoslucianops/DeepStream-Yolo/tree/e652ef4e394fbcee0b8b8652c4630802bec4eab3



NVIDIA DeepStream SDK API 参考:_NvDsFrameMeta 结构体参考

TensorFlow

1.安装tensorflow

Python 3.6.9+JetPack4.6.4

sudo apt-get update

sudo apt-get install -y python3-pip pkg-config

sudo apt-get install python3-sklearn

sudo apt-get install -y libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran

sudo ln -s /usr/include/locale.h /usr/include/xlocale.h

sudo pip3 install --verbose 'protobuf<4' 'Cython<3'

sudo wget --no-check-certificate https://developer.download.nvidia.com/compute/redist/jp/v461/tensorflow/tensorflow-2.7.0+nv22.1-cp36-cp36m-linux_aarch64.whl

sudo pip3 install --verbose tensorflow-2.7.0+nv22.1-cp36-cp36m-linux_aarch64.whl

2.TensorRT环境搭建及实时图像识别

导入jetson-inference包
git clone https://github.com/dusty-nv/jetson-inference.git

cd jetson-inference

git submodule update --init

mkdir bulid

cd build

cmake../

jetson-inference包:https://pan.baidu.com/s/13XhMHrqXRDrbp2OnAL3tCA?pwd=akp3icon-default.png?t=N7T8https://pan.baidu.com/s/13XhMHrqXRDrbp2OnAL3tCA?pwd=akp3

将jetson-inference包导入jetson-inference/data/networks

cd data/networks

for tar in *.tar.gz; do tar xvf $tar; done

cd ..

cd ..

cd build

make -j4

sudo make install

测试

cd jetson-inference/build/aarch64/bin

./imagenet-console ./images/bird_0.jpg output.jpg

报错

下载Googlenet.tar.gz,可能会出现如下问题。

  1. 首先断开jetson tx2 nx的网络连接,将不再执行下载命令;
  2. 然后在networks文件夹中新建Googlenet文件夹,将networks文件夹中的bvlc_googlenet.caffemodel、googlenet.prototxt和googlenet_noprob.prototxt剪切到新建的Googlenet文件夹;
  3. 最后在Googlenet文件夹新建networks文件夹,将ilsvrc12_synset_words.txt剪切到新建networks文件夹
  4. 使用板载摄像头进行实时图像识别,依次执行命令
    cd jetson-inference/build/aarch64/bin
    
    ./imagenet-console ./images/bird_0.jpg output.jpg
    

安装Archiconda3

./Archiconda3-0.2.3-Linux-aarch64.sh

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值