采用WiFi无线连接的方式,支持两种频段2.4GHz与5GHz,可以连接路由器设备WiFi、笔记本电脑通过无线网卡以及手机等共享热点出来的WiFil,实现加入互联网。
同时树莓派4B自身的WiFi也可以设置成AP模式,将树莓派自身的网络共享出来给其它设备使用,此时树莓派充当路由器的作用。当树莓派没有连接以太网时,树莓派4B的AP热点模式,可以为连接设备提供一个局域网实现轻松组网,方便远程ssh、vnc等登录计载设备进行现场调试(在实际调试中,此种情况在不具备外部联网条件时使用很方便)。
+- RPi -------+
+---+ 10.10.0.2 | +- Laptop ----+
| | WLAN AP +-))) (((-+ WLAN Client |
| | Bridge | | 10.10.0.5 |
| +-------------+ +-------------+
+- Router ----+ |
| Firewall | | +- PC#2 ------+
(Internet)---WAN-+ DHCP server +-LAN-+---+ 10.10.0.3 |
| 10.10.0.1 | | +-------------+
+-------------+ |
| +- PC#1 ------+
+---+ 10.10.0.4 |
+-------------+
采用板载千兆太网口直接通过有线连接的方式连接互联网,可以通过网线与路由器LAN口、笔记本电脑网口等连接。
两种联网方式在实际使用中都比较常见,针对无人机上机载计算机移动使用场景,大多数情况下采用无线连接的方式,千兆以太网口连接方式仅在新手入门学习过程、大批量数据更新下载等少数情形中使用。
网线连接路由器LAN口与树莓派以太网口:
此种方式需要一根网线将树莓派4B的网口与路由器LAN口相连,树莓派即可通过网线加入互联网或者局域网
树莓派网口 | 网线 | 路由器LAN网口 |
---|---|---|
![]() |
![]() |
![]() |
用户可以通过路由器后台管理软件查看相关设备的IP地址,例如小米WiFi路由器后台如下
网线连接路由器LAN口与笔记本电脑网口
笔记本电脑的无限网卡通过WiFi链接的方式与以太网链接,电脑端可以通过网络共享的方式将WLAN网络通过网线分享给树莓派4B,连接方式和路由器类似,相当于上述链接中,路由器LAN口换成了笔记本电脑网口。下面以WIN10系统为例,笔记本电脑通过网线来共享网络步骤。
鼠标选中上图中②的WLAN,右击后选择属性进入WLAN属性,选择共享WLAN网络给以太网
通过笔记本电脑cmd命令依次窗口输入如下指令可以查询到树莓派外设ip地址
ipconfig
arp -a
通常来讲通过笔记本网线共享网络的树莓派4B的ip地址和路由器的ip地址的第三段有明显差别,也可以插拔网线对比前后ip状态变化来排查,示例如下
ipconfig |
arp -a |
---|---|
![]() |
![]() |
其中路由器分配的第三字端为31,由笔记本共享的以太网主机ip第三字段为137,arp -a指令查询到的从机设备树莓派4B的ip地址为192.168.137.237,第三字段同为137,可以依据此规律,方便树莓派在未接显示屏的情况下查询树莓派4B的ip地址。7. 利用ssh或者vnc远程登陆树莓派系统,验证机载计算机IP信息如下:
ifconfig
可查询IP地址git clone https://github.com/oblique/create_ap
cd create_ap
make install
sudo create_ap wlan0 eth0 热点名 密码
当树莓派WiFi已经连接路由器的情况下,输入创建WiFi热点的AP指令会提示出错,提示wlan0不能既作为连接者又作为分享者,此时需要手动断开树莓派链接的路由器的WiFi链接(意味着只能建立笔记本、手机和树莓派之间的局域网连接,无法实现连接互联网,存在二者兼容的解决方案,配置相对会麻烦一点,考虑实际应用场景非必须,暂作为备选方案),再重新执行AP指令即可:
sudo create_ap wlan0 eth0 flight_nc 12345678
WARN: brmfmac driver doesn't work properly with virtual interfaces and it can cause kernel panic. For this reason we disallow virtual interfaces for your adapter. For more info: https://github.com/oblique/create_ap/issues/203 ERROR: Your adapter can not be a station (i.e. be connected) and an AP at the same time
WiFi热点创建成功后,笔记本电脑、手机等设备可以连接树莓派共享的热点WiFi信号,利用IP实现远程登陆操作
树莓派自动连接固定WiFi名称、密码的WiFi路由设备
本使用情形为已经存在对应WiFi名称、密码的WiFi路由设备,树莓派开机自动读取网络配置文件后,连接到对应网络,当前仅当树莓派周围存在和配置文件中名称、密码匹配的WiFi设备时,自动连接才会建立。网络配置文件的系统路径为/etc/netplan/01-network-manager-all.yaml,文件默认配置如下:
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
默认配置表示的是将系统的网络配置权限交给系统网络管理器,用户需要手动连接WiFi或者通过有线网口连接的方式联网。当系统需要自动连接固定WiFi名称、密码的WiFi热点时,更改配置文件如下:
network:
version: 2
ethernets:
eth0:
optional: true
dhcp4: true
# add wifi setup information here ...
wifis:
wlan0:
optional: true
access-points:
"flight_namelesstech":
password: "12345678"
dhcp4: true
上述配置文件中默认的WiFi名称为:flight_namelesstech,密码为12345678,实际使用中用户可以根据实际来更改对应文件字段,也可以直接更改路由器的WiFi名称、密码和树莓派网络配置文件,也可以使用笔记本电脑创建对应名称、密码的WiFi热点,树莓派即可自动连接联网。(不更改网络配置文件直接改现实热点名称、密码的情形,特别适合没有外接显示屏,初次登陆系统的情形)。当树莓派方便外接显示屏的情况下,上述更改/etc/netplan/01-network-manager-all.yaml文件的操作就显得非常的多余了。
在有显示屏的情况下,初次登陆树莓派ubuntu系统只需要手动连接WiFi即可,后续树莓派工作只需要之前连接的WiFi热点存在,系统开机就会自动连接到之前连接的WiFi网络,查询IP地址后就可以远程登陆树莓派了。
下面对上述所有联网情形进行对比,列出各自适用情形,优缺点如下表:
联网类型 | 适用场景 | 优点 | 缺点 |
---|---|---|---|
1、网口有线连接 | 无显示屏初次登陆树莓派系统、需更新应用下载大量数据等情况 | 连接稳定可靠 | 不适合机载计算机移动条件下使用 |
2、树莓派网卡AP热点WiFi | 无开放局域网、无路由WiFi热点设备条件下 | 适合移动场景下使用 | 无法连接互联网,只能作为局域网使用 |
3、设置树莓派网络配置文件自动连接WiFi | 首次登陆系统,且无外接显示屏幕情形 | 适合移动场景下使用 | 无 |
4、登陆系统后手动连接WiFi | 适合在存在无限路由WiFi热点情况下使用(路由器WiFi、手机热点、笔记本电脑热点等) | 适合移动场景下使用 | 无 |
实际使用过程中,机载计算机大多数情况工作在④②两种情况,在外接存在WiFi热点的情况,采用方式④,外部环境不存在可用WiFi热点的情况下采用方式②,我们提供默认的树莓派4B镜像初始就是工作在④情形,如果初次登陆树莓派系统,手头无外接显示屏的情况下,可以将自己手机配置成WiFi热点模式,WiFi名称为:flight_namelesstech,密码为12345678,创建热点成功后,树莓派会自动连接到该网络,建立网络链接和查询到IP地址后,后续就可以远程登陆,登陆到系统中就可以实现④②的切换。
当用户需要树莓派网络工作在②AP热点模式时,为了方便客户操作,已经写了对应脚本文件,实现开机自启动AP热点WiFi供用户远程登陆,依次电机菜单——控制中心——启动应用程序——添加后界面已经相关设置如下图,命令框填入的内容如下:
gnome-terminal -x /home/cindy/autostart/wifi_ap.sh
设置成功后重新启动计算机就可以实现开机自动进入AP热点WiFi模式,根据IP地址就可以远程登陆树莓派系统了,由于出厂默认采用的是登陆系统后手动连接WiFi,故客户需要自己手动完成上图操作才能进入实现上述功能。当实验室环境存在开放路由器WiFi时,本操作可以作为备选方案。实际使用者可以通过树莓派扩展板上的I2C口外接I2C接口的OLED显示屏很方便的查看联网状态以及IP地址、CPU温度、内存占用等信息。
下面给出树莓派AP在自动创建WiFi后,及时已经停止运行WiFi创建,这个时候想要切换成手动连接路由器或者手机共享WiFi热点时,发现搜索不到WiFi信号,也不能手动创建进行连接,通过查看create_ap -h帮助信息可知:
意思是说当关闭AP热点后,需要手动将网络控制权限切换到ubuntu操作系统网络管理器,执行如下指令解决不能手动联网问题:
sudo create_ap --fix-unmanaged
返回:
Trying to fix unmanaged status in NetworkManager...
645886570608)]
意思是说当关闭AP热点后,需要手动将网络控制权限切换到ubuntu操作系统网络管理器,执行如下指令解决不能手动联网问题:
sudo create_ap --fix-unmanaged
返回:
Trying to fix unmanaged status in NetworkManager...