首页 > 其他分享 >Jetson Xavier NX 试玩 (一)

Jetson Xavier NX 试玩 (一)

时间:2023-01-25 21:46:21浏览次数:57  
标签:ip xxx NX 官方 试玩 ssh jetson Jetson

Jetson Xavier NX 试玩 (一)

环境搭建

0 前言

NVIDIA家的Jetson系列是业内嵌入式边缘计算机的代表作,体积小,功能强是其最主要的优点。

学院入手了一款Jeston Xavier NX,本意是想买官方原版,奈何实在是缺货,由是购入了另一个版本,该版本的镜像烧录方式与官方版本不同,它不支持SD卡烧录。现在,趁着还没毕业,抓紧时间踩踩坑。

这个版本的NX的主板模组的原型应该是微雪电子(waveshare)针对官方NX模组开发的一个扩展版本,可以看他们的官网查看详情。

虽然不是官方版本的,但是其改动不大,因此可玩性还是很高的。

接下来,我要先把基础开发环境搭好。

1 镜像烧录

教程可以参考微雪的官方指导以及各种野生博客。

由于没法使用SD卡,就没法跟着英伟达官方教程走了,看微雪的说明,我们只能使用官方SDK Manager工具烧录,但是这个软件只能在linux系统环境下使用,而我手头没有linux主机,所以要先装个虚拟机,我用的是VMware Player 16

系统的话我选的是ubuntu18.04,其他符合SDK Manager要求的系统也可(大概)。

在虚拟机里安装好SDK Manager,启动,按官方教程下载即可,简单总结一下,步骤如下:

  • 1 需要一个 NVDIA Developer 账号,没有的话要先注册一个。
  • 2 打开 SDK Manager 要先登录,在跳出的网页输入账户和密码即可
  • 3 将板子的FC REC( Force Recovery Mode pins)引脚接地,然后通过MicroUSB连接主机,usb选择连接到虚拟机,然后,SDK Manager 应该就可以检测到Jetson型号
  • 4 然后跟步骤下载镜像即可(虚拟机的系统可用空间理论上应该至少有20G,在创建虚拟机时尽量选择大一些的磁盘空间,我选的50G)

我烧的镜像版本是jetpack 4.6.2,对应的系统是ubuntu18.04,由于选的pre-config,所以应该是烧完即用的那种。

接上屏幕,鼠标,键盘就可以操作啦,现在的桌面环境应该是官方unity,就是绿色的那个,还是挺帅的。

理论上,至此镜像烧录好了,我们可以愉快的玩耍了。然而,博主不太喜欢抱着屏幕,并且应用于嵌入式场景往往没有接入屏幕的条件,如无人机导航场景,因此接下来我要找个合适的远程桌面方法,便于我在本地主机快速稳定访问jetson。

2 配置远程连接

官方镜像下载完后,我们的首要任务就是利用屏幕、键盘、鼠标这些外设先给jetson连上网络,并且知道它的ip地址(方便起见,可以设置个静态ip)。

当然,如果手头没有这些外设,也是可以配置网络的,我们利用usb线与我们的主机相连,然后使用串口建立连接,我使用的软件是 MobaXterm,可以开串口连接功能,同时有不错的命令行ui。详情可以见 官方指导 中的Initial Setup Headless Mode模块中了解一下。

 

个人试了一下,连了usb后,也可以直接使用ssh协议进行连接,使用的ip地址是192.168.55.1,这应该不是真正的网络ip,似乎是官方配置的一种虚拟ip,这个物理层上应该还是走串口,因为信息的流动还是通过硬件usb来建立的。

然后,可以借助nmcli(Network Manager Command-Line)这个软件来管理网络,软件是系统自带的,有这个需求的童鞋可以自行百度了解下用法。


配好网络后,就可以利用tcp/ip连接来进行远程访问了。一般来讲可以利用ssh协议进行连接,ssh一般工作在网络端口22,如果要对应OSI模型的话,应该处于传输层(Transport),这一层提供端到端的服务,所谓的端到端是指应用进程到应用进程。换言之,只要两台主机都运行了ssh进程,就能从一台主机的ssh进程自上而下,依次通过传输层、网络层、数据链路层、物理层,再自下而上通过物理层、数据链路层、网络层、传输层到达另一台主机的ssh进程,这样,就借助网络实现了两台主机的连接,这种连接当然可以是无线的,无线电磁波嘛,最熟悉的应该就是WiFi了。

烧录好的系统中已经有openssh服务了,也就是说,系统里有运行的ssh服务,所以在本地使用ssh协议就可轻松远程访问它。

ssh协议如何使用呢?有很多软件都可以使用,我使用的是 MobaXterm。利用jetson的ip地址和用户密码即可。如图:

 

理论上,ssh已经完全够用了,满足我们的远程连接需求。但空洞的命令行实在是有些无趣,要是能搞一个远程桌面就十分的舒适优雅了。不过,就博主的一些浅薄经验来看,使用VNC是不太行的,一个重要的原因是,它的时延太大了,用起来很不舒服。找啊找,终于找到了一个不错的解决方案,就是 Nomachine+Xfce4 的方案,这种方法的远程桌面使用起来非常流畅,时延很小,令我十分滴舒服。如图:

教程可以见nomachine官方,Tips for using NoMachine on NVIDIA Jetson
也可以看国外友人的视频,更直观易懂,HOW TO SETUP NO MACHINE IN JETSON NANO

自己简单解释一下,

nomachine就是一种远程桌面软件,即下即用,jetson NX的cpu是arm V8架构,据此下载对应的软件版本即可。Xfce4则是一种轻量级桌面环境,使用它是nomachine推荐的,相比于原桌面,这种桌面的的远程连接明显更流畅。

 


至此,远程桌面算是配置完了,但是还需要注意两点:

  • 1.每次jetson重启后,有个输入用户密码的界面,只有输入密码登录后,jetson才能建立网络连接,然后才能借此进行远程连接,因此必须想办法自动登录,或者跳过这个界面。
  • 2.当jetson的hdmi接口没有检测到屏幕时,远程桌面是失效的。

这两个问题的解决方案如下:

相关文章

  • 将keras的h5模型转化为onnx
    将keras的h5模型转化为onnx先安装pipinstallkeras2onnximportkerasimportkeras2onnximportonnxfromkeras.modelsimportload_modelmodel=load_model('/root/noteb......
  • jetson nano yolov5
    ​​Yolov5学习笔记(2)——部署在jetsonnano上​​​​tensorrtx​​3.利用TRT加速部署模型3.1下载tensorrtx的源码很高兴你能来到这里,到这里已经完成了一半,是不是觉得很......
  • onnx模型部署(一) ONNXRuntime
        通常我们在训练模型时可以使用很多不同的框架,比如有的同学喜欢用Pytorch,有的同学喜欢使用TensorFLow,也有的喜欢MXNet,以及深度学习最开始流行的Caffe等等,这样不......
  • jetson nano包安装
    https://github.com/Angzz/DeformableV2/blob/master/docs/install/install-jetson.md​​nano上安装anaconda​​nanoinstallskleran​​​nanoinstallpytorch​​w......
  • Nginx相关
    安装相关依赖yum-yinstallgccpcre-develzlib-developensslopenssl-devel下载nginxwgethttps://nginx.org/download/nginx-1.16.1.tar.gz解压tar-zxv......
  • liunx系统安装Redis详细步骤
    liunx系统安装Redis详细步骤官网下载Redis安装包使用工具将redis安装包拖入liunx系统创建Redis存放目录mkdir/usr/local/redis解压到redis存放目录tar-zxvfred......
  • liunx系统安装JDK环境详细步骤
    Liunx系统安装JDK环境详细步骤一下载liunx版本jdk压缩包进入JDK官方网站下载jdk压缩包。下载前需要登入账户,可以自己注册一个账户!也可以使用本博主提供的网盘下......
  • nginx 做图像服务器,生成图片的URL,让前端访问
    需求:后端不断产生新的图片数据,发送给前端,前端然后显示。方案:1.后端可以生成一个图片URL地址,然后返回给前端【采用】2.或者返回base64疑问:将图片文件......
  • Nginx调优总结-第六部分编译优化与简单测试
    第六部分编译优化Nginx可以自行编译,所以里面可以设置多个编译策略.也可以自行修改源码,便于比如进行ip_hash的全IP地址验证.也可以修改nginx的版本号等信息,避免内......
  • Nginx同一个worker进程先后处理耗时不同的请求
    epoll监控的事件src/event/modules/ngx_epoll_module.cEPOLLIN:连接上有数据可读(包括TCP连接的远端主动关闭连接)EPOLLLPRI:连接上要读紧急数据EPOLLOUT:连接上写入数据......