NVIDIA Jetson Nano 2GB 系列文章(42):无线WIFI的安装与调试

无线网络是操控无人车的必要设备,因为我们不可能让无人车拖着一条网路线去进行操作。要为Jetson Nano(含2GB)装上一片无线网卡是非常简单的事情,但是最复杂的问题是“设置”的细节,必须兼顾更多可能的使用场景。
如果您的设备只打算在自己熟悉的环境里使用的话,如办公室、实验室、家里等等,应该都会存在一台用的比较习惯的无线路由器,可以轻松配置或查找出Jetbot的无线网络IP,因为只要无线网卡与无线路由执行过一次连线,就能将密码记录在Jetbot里面,以后只要不关闭无线网的话,在Jetbot开机之后就能直接连上。
但如果您的Jetbot经常需要到陌生环境去测试或演示,上述的方式就没法使用了。比较好的状况是去到一个保密要求低的地方,对方愿意提供无线网的密码让Jetbot进行,我们可以先透过USB连线方式,透过SSH对Jetbot下达无线网连接的指令,这样还是能完成连线的任务。
如果前往的地方,是安全要求高的,甚至是在户外没有无线路由的地方,这样无线网就完全无用武之地了。
本文的重点就是要解决这样的麻烦问题,根据不同使用状况提供以下两种建议方式:

  1. 将Jetbot或控制台PC的无线网卡设置为“热点”模式:
  2. 自带一个掌上型便携无线路由:
    不管使用哪种方式,首先我们还是得为Jetbot先安装一片合适的无线网卡。
     安装无线网卡
    Jetson Nano提供M.2 Key-E与USB两种网卡接口,而2GB版本并不提供M.2接口,因此只能使用USB的网卡。以下简单说明以下两种网卡以及安装的方式:
  3. M.2 Key-E接口:
    这种网卡的信号质量比较好,不过存在以下缺点:
    A. 安装过程复杂:必须拆卸Jetson Nano核心模块的两个螺丝,并将其取下之后才能安装上这个无线网卡,然后再装上核心模块。以下是简化过的6个安装步骤的图片,提供参考:
    1.png

B. 需要有额外天线:这个部分看似简单,但实际上是有复杂度的,因为销售网卡的供应商大部分没有提供配套的IPX天线,需要根据采购的网卡的接口,再自行到淘宝上采购配套的天线,这种IPX的规格从第一代到第四代的接口都不兼容。

  1. USB接口:
    这种网卡非常方便,只要插上Jetson Nano 2GB的其中一个USB口就行,唯一的缺点就是有效距离较短,不过在30~50米范围内的操作,大致上是能满足Jetbot的使用,推荐使用这类的无线网卡会比较方便。
    NVIDIA官方在https://elinux.org/Jetson_Nan... 提供一份Jetson Nano(含2GB)的网卡推荐列表,包括M.2接口与USB接口的都有,不过请注意一下USB无线网卡的外形,最好选择下图左边这种“短”型的比较好,右边这种长度对Jetbot的运行与旋转会造成麻烦。
    2.jpg
    为了统一实验的过程,接下去的部分全部都使用USB无线网卡的方式来配合说明,而M.2网卡的设置方式也是一样的。
     用USB数据线进行连线
    接下去我们先使用具备数据传输并带有Micro B接口的USB线,将控制台PC与Jetson Nano(含2GB)如下图一般地进行连接。这里必须再三强调的,就是所使用的USB线必须具备数据传输功能,很多初学者经常反映会出现连线失败的状况,追究原因,都是因为使用了只具备充电功能的USB线,当然无法完成连线,但是这从外观上也没法识别,只能实际尝试之后才能确认。
    3.jpg
    如果连线正常,在Windows操作环境下,会听到USB设备连接的提示声,在Ubuntu操作系统下会弹出一个类型下图的窗口,就表示形成连线:
    4.jpg
    确认连线的方法,最好直接在指令窗口执行“ping 192.168.55.1”,如果能能通(如下图),就能用ssh或者Jupyter来操作Jetson Nano(含2GB)。
    5.jpg
    如果您的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的WIFI与控制台PC都连上同一个无线热点
虽然Jetbot现在关闭图形桌面,会让很多操作必须透过指令方式来处理,大部分读者会觉得不太习惯。不过在网络设定方面,可以用nmtui提供的菜单式工具来协助,现在直接在SSH命令视窗里执行以下指令:
$ sudo nmtui

这里的菜单操作(如下图),主要依赖“上下键”与“ESC/Enter/Tab”五个键。下图中间为这个工具的主目录,点选“编辑连接”会进入到右边菜单、点选“启用连接”会进入左边菜单。

6.jpg
这个功能很简单,只要进入“启用连接”菜单后,在“Wi-Fi参数”下面选择您要连线的热点,按下“Enter”就能进入连接这个热点所需要输入的密码窗口,输入秘密之后就能脸上这个热点:

7.jpg
左图中的“阶梯状”表示接收到该热点的信号强度,连上之后会在该热点最左边出现 ”

  • ” 作为识别,如果要修改或查看这个网卡或热点的详细信息,就从“编辑连接”进入,选择要查看的热点后按下“Enter”,就能进入下图右边的窗口。

8.jpg
可以在控制台PC上另外开启一个SSH命令视窗,登陆到Jetbot后执行以下指令,看看得到的MAC地址是否一致?

$ ifconfig

下面只截屏无线网卡相关的信息:
9.jpg

如果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经常需要在不同地方做测试或演示,自然不能透过一台固定的无线路由为控制用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 <内部识别名称>

这里简单说明一下几个名称的用法与范例:
 内部识别名称:这是给第二道指令去启动/关闭热点的识别名称,例如”USB-HS”
 网卡名称:这必须对用网卡的实际名称,用ifconfig查询到这个无线网卡的名称为 ”wlan0” ,因此这里就必须提供一样的名称。
 外部识别名称:就是让外面设备能搜索到的SSID名称,例如 ”jetbot-HS”
 登陆密码:8码以上
如果将上面的名词都对应上,那完整的指令就可以如下面:

$
 $     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” (如下图),这就表示热点设置已经成功
10.jpg
接着到控制台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与迷你路由,这样就没有一开始连接网络的设定问题。

11.jpg
第一次要设定Jetbot的WIFI连上这个无线路由时,需要先透过哦USB连线方式去操控Jetbot,一旦配置好之后就能将USB线拿掉,不用再受其约束,这是我们最为推荐的一种方式,包括在信号稳定性与操作难易度着两方面的经验。

至于路由的设置是个标准的路由配置问题,请针对您所挑选的路由器在网上就能轻易找到设置的细节,这里没有特殊需要设置的地方。

现在配置好Jetbot的WIFI连线之后,就能开始更得心应手地操作后面的内容。

推荐阅读
关注数
7026
内容数
61
深耕嵌入式 AI 计算,助力自主机器研发
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息