无线网络是操控无人车的必要设备,因为我们不可能让无人车拖着一条网路线去进行操作。要为Jetson Nano(含2GB)装上一片无线网卡是非常简单的事情,但是最复杂的问题是“设置”的细节,必须兼顾更多可能的使用场景。
如果您的设备只打算在自己熟悉的环境里使用的话,如办公室、实验室、家里等等,应该都会存在一台用的比较习惯的无线路由器,可以轻松配置或查找出Jetbot的无线网络IP,因为只要无线网卡与无线路由执行过一次连线,就能将密码记录在Jetbot里面,以后只要不关闭无线网的话,在Jetbot开机之后就能直接连上。
但如果您的Jetbot经常需要到陌生环境去测试或演示,上述的方式就没法使用了。比较好的状况是去到一个保密要求低的地方,对方愿意提供无线网的密码让Jetbot进行,我们可以先透过USB连线方式,透过SSH对Jetbot下达无线网连接的指令,这样还是能完成连线的任务。
如果前往的地方,是安全要求高的,甚至是在户外没有无线路由的地方,这样无线网就完全无用武之地了。
本文的重点就是要解决这样的麻烦问题,根据不同使用状况提供以下两种建议方式:
不管使用哪种方式,首先我们还是得为Jetbot先安装一片合适的无线网卡。
Jetson Nano提供M.2 Key-E与USB两种网卡接口,而2GB版本并不提供M.2接口,因此只能使用USB的网卡。以下简单说明以下两种网卡以及安装的方式:
这种网卡的信号质量比较好,不过存在以下缺点:
这种网卡非常方便,只要插上Jetson Nano 2GB的其中一个USB口就行,唯一的缺点就是有效距离较短,不过在30~50米范围内的操作,大致上是能满足Jetbot的使用,推荐使用这类的无线网卡会比较方便。
NVIDIA官方在https://elinux.org/Jetson_Nano#Wireless 提供一份Jetson Nano(含2GB)的网卡推荐列表,包括M.2接口与USB接口的都有,不过请注意一下USB无线网卡的外形,最好选择下图左边这种“短”型的比较好,右边这种长度对Jetbot的运行与旋转会造成麻烦。
为了统一实验的过程,接下去的部分全部都使用USB无线网卡的方式来配合说明,而M.2网卡的设置方式也是一样的。
接下去我们先使用具备数据传输并带有Micro B接口的USB线,将控制台PC与Jetson Nano(含2GB)如下图一般地进行连接。这里必须再三强调的,就是所使用的USB线必须具备数据传输功能,很多初学者经常反映会出现连线失败的状况,追究原因,都是因为使用了只具备充电功能的USB线,当然无法完成连线,但是这从外观上也没法识别,只能实际尝试之后才能确认。
如果连线正常,在Windows操作环境下,会听到USB设备连接的提示声,在Ubuntu操作系统下会弹出一个类型下图的窗口,就表示形成连线:
确认连线的方法,最好直接在指令窗口执行“ping 192.168.55.1”,如果能能通(如下图),就能用ssh或者Jupyter来操作Jetson Nano(含2GB)。
如果您的Jetbot使用前面文章所教导的Docker容器创建的话,在Jupyter所操控的范围是在容器内部,无法对Jetson Nano(含2GB)进行配置,因此后面的操作全部以SSH远程命令窗口进行。
现在就打开一个命令终端,执行以下指令:
$ |
ssh <Jetbot设备用户名>@192.168.55.1 => 输入密码 |
如果您使用Jetbot提供的镜像烧录TF卡的话,这里的用户名与秘密都是”jetbot”。Windows用户请自行在网上找到合适的SSH工具。登陆上Jetbot设备之后,请执行以下指令检查无线网卡是否已经被系统检测到:
$ |
ifconfig | grep wlan |
如果出现以下信息表示安装成功;如果没有出现信息,表示无线网卡的安装有问题,需要检查网卡本身是否为Jetson Nano(含2GB)所支持的:
“wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500”
虽然Jetbot现在关闭图形桌面,会让很多操作必须透过指令方式来处理,大部分读者会觉得不太习惯。不过在网络设定方面,可以用nmtui提供的菜单式工具来协助,现在直接在SSH命令视窗里执行以下指令:
$ |
sudo nmtui |
这里的菜单操作(如下图),主要依赖“上下键”与“ESC/Enter/Tab”五个键。下图中间为这个工具的主目录,点选“编辑连接”会进入到右边菜单、点选“启用连接”会进入左边菜单。
这个功能很简单,只要进入“启用连接”菜单后,在“Wi-Fi参数”下面选择您要连线的热点,按下“Enter”就能进入连接这个热点所需要输入的密码窗口,输入秘密之后就能脸上这个热点:
左图中的“阶梯状”表示接收到该热点的信号强度,连上之后会在该热点最左边出现 ”
*” 作为识别,如果要修改或查看这个网卡或热点的详细信息,就从“编辑连接”进入,选择要查看的热点后按下“Enter”,就能进入下图右边的窗口。
可以在控制台PC上另外开启一个SSH命令视窗,登陆到Jetbot后执行以下指令,看看得到的MAC地址是否一致?
$ |
ifconfig |
下面只截屏无线网卡相关的信息:
如果Jetbot与您的控制台PC都连上同一个路由的时候,请在控制台PC上打开浏览器,然后输入<IP_OF_JETBOT>:8888看看是否能连上Jetbot?
例如前面连上路由之后,wlan0里的inet地址(上图蓝色方块遮蔽的地方)为192.168.0.13,现在就在浏览器上输入”192.168.0.13:8888”,如果能正常打开Jetbot操作界面,就表示这个无线网的连线是成功的。
后面就能将USB线取下,因为只要是在这个路由环境下,每次Jetbot开机就能自动连上这个无线路由,但如果您更换过网卡、或者面对新路由的时候,就需要重新执行一次这个连线的步骤。
如果当您的Jetbot经常需要在不同地方做测试或演示,自然不能透过一台固定的无线路由为控制用PC与Jetbot进行无线连接,这时候可以将二者中的WIFI网卡设为热点,让另一个访问过来。
由于控制用PC是比较容易操作的,因此通常会用Jetbot的WIFI网卡设定成热点,这样就能让Jetbot端的连线IP固定为”10.42.0.1”,当然前提是您使用的网卡必须支持“热点”功能,如果遇到不支持热点功能的网卡,那就只能用控制台PC的无线网卡来作为热点,让Jetbot的WIFI访问过来,然后对Jetbot的WIFI设定为固定IP的方式,也是可行的。
现在我们以Jetbot无线网卡设置为热点的方式来做说明,同样的步骤也能在Ubuntu操作做系统的PC上执行,如果使用WIndows操作系统的请自行在网上查询设置的方式。
由于前面的nmtui工具要操作热点设置需要相当繁琐的步骤,因此这里使用nmcli指令来操作,只需要两道指令就能处理好。以Jetbot的无线网卡设为热点的指令如下:
$ $ |
sudo nmcli device wifi hotspot con-name <内部识别名称> ifname <网卡的名称> ssid <外部识别名称> password <登陆密码> sudo nmcli connection down <内部识别名称> |
这里简单说明一下几个名称的用法与范例:
如果将上面的名词都对应上,那完整的指令就可以如下面:
$ $ |
sudo nmcli device wifi hotspot con-name USB-HS ifname wlan0 ssid jetbot-HS password 11111111 sudo nmcli connection up USB-HS |
如果执行第一个步骤时,出现“错误:设备 'wlx24050f289fa2' 既不支持 AP 也不支持 Ad-Hoc 模式”,就表示这个网络不支持热点功能。如果一切顺利的话,就能用ifconfig指令检查这个无线网卡的IP变成 ”10.42.0.1” (如下图),这就表示热点设置已经成功
接着到控制台PC,将无线网络连上 ”jetbot-HS” 热点,成功之后就可以在浏览器上输入 ”10.42.0.1:8888” 进入Jetbot的Jupyter控制界面。
假如Jetbot无线网卡不支持热点,但控制台PC支持的话,就将上面的操作放在PC上执行,然后将Jetbot连上PC热点的WIFI设置成 ”IP=10.42.0.2/GW=10.42.0.1”的固定IP模式,这样也能在控制台PC的浏览器输入”10.42.0.2:8888”去访问Jetbot。
假如控制台PC与Jetbot的无线网卡都不支持热点功能时,那该怎么办呢?最好用的方法就是如下图的方式,透过一个独立的便携式迷你路由的辅助,使用网路线连接PC与迷你路由,这样就没有一开始连接网络的设定问题。
第一次要设定Jetbot的WIFI连上这个无线路由时,需要先透过哦USB连线方式去操控Jetbot,一旦配置好之后就能将USB线拿掉,不用再受其约束,这是我们最为推荐的一种方式,包括在信号稳定性与操作难易度着两方面的经验。
至于路由的设置是个标准的路由配置问题,请针对您所挑选的路由器在网上就能轻易找到设置的细节,这里没有特殊需要设置的地方。
现在配置好Jetbot的WIFI连线之后,就能开始更得心应手地操作后面的内容。[完]
好文章,需要你的鼓励
临近年底,苹果公布了2024年App Store热门应用和游戏榜单,Temu再次成为美国下载量最多的免费应用。
云基础设施市场现在已经非常庞大,很难再有大的变化。但是,因为人们可以轻松地关闭服务器、存储和网络——就像开启它们那样,预测全球云基础设施开支可能非常困难。