0_樹莓派機(jī)載計(jì)算機(jī)的聯(lián)網(wǎng)操作教程——無名創(chuàng)新

樹莓派4B板載兩種網(wǎng)絡(luò)硬件資源
雙頻802.11ac無線網(wǎng)絡(luò)
采用WiFi無線連接的方式,支持兩種頻段2.4GHz與5GHz,可以連接路由器設(shè)備WiFi、筆記本電腦通過無線網(wǎng)卡以及手機(jī)等共享熱點(diǎn)出來的WiFil,實(shí)現(xiàn)加入互聯(lián)網(wǎng)。

同時(shí)樹莓派4B自身的WiFi也可以設(shè)置成AP模式,將樹莓派自身的網(wǎng)絡(luò)共享出來給其它設(shè)備使用,此時(shí)樹莓派充當(dāng)路由器的作用。當(dāng)樹莓派沒有連接以太網(wǎng)時(shí),樹莓派4B的AP熱點(diǎn)模式,可以為連接設(shè)備提供一個(gè)局域網(wǎng)實(shí)現(xiàn)輕松組網(wǎng),方便遠(yuǎn)程ssh、vnc等登錄計(jì)載設(shè)備進(jìn)行現(xiàn)場(chǎng)調(diào)試(在實(shí)際調(diào)試中,此種情況在不具備外部聯(lián)網(wǎng)條件時(shí)使用很方便)。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? +- 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 ? |
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? +-------------+
千兆以太網(wǎng)口
采用板載千兆太網(wǎng)口直接通過有線連接的方式連接互聯(lián)網(wǎng),可以通過網(wǎng)線與路由器LAN口、筆記本電腦網(wǎng)口等連接。
兩種聯(lián)網(wǎng)方式在實(shí)際使用中都比較常見,針對(duì)無人機(jī)上機(jī)載計(jì)算機(jī)移動(dòng)使用場(chǎng)景,大多數(shù)情況下采用無線連接的方式,千兆以太網(wǎng)口連接方式僅在新手入門學(xué)習(xí)過程、大批量數(shù)據(jù)更新下載等少數(shù)情形中使用。
兩種聯(lián)網(wǎng)方式在樹莓派4B ubuntu 20.04 LTS系統(tǒng)中的使用教程
有線連接的方式:
?網(wǎng)線連接路由器LAN口與樹莓派以太網(wǎng)口:
此種方式需要一根網(wǎng)線將樹莓派4B的網(wǎng)口與路由器LAN口相連,樹莓派即可通過網(wǎng)線加入互聯(lián)網(wǎng)或者局域網(wǎng)
樹莓派網(wǎng)口網(wǎng)線路由器LAN網(wǎng)口



用戶可以通過路由器后臺(tái)管理軟件查看相關(guān)設(shè)備的IP地址,例如小米WiFi路由器后臺(tái)如下

?網(wǎng)線連接路由器LAN口與筆記本電腦網(wǎng)口
筆記本電腦的無限網(wǎng)卡通過WiFi鏈接的方式與以太網(wǎng)鏈接,電腦端可以通過網(wǎng)絡(luò)共享的方式將WLAN網(wǎng)絡(luò)通過網(wǎng)線分享給樹莓派4B,連接方式和路由器類似,相當(dāng)于上述鏈接中,路由器LAN口換成了筆記本電腦網(wǎng)口。下面以WIN10系統(tǒng)為例,筆記本電腦通過網(wǎng)線來共享網(wǎng)絡(luò)步驟。
首先筆記本電腦需要通過無線網(wǎng)卡鏈接路由器,并且將電腦網(wǎng)口和樹莓派4B的網(wǎng)口通過網(wǎng)線連接
打開電腦控制面板—所有控制面板項(xiàng)—網(wǎng)絡(luò)連接,界面如下:

鼠標(biāo)選中上圖中②的WLAN,右擊后選擇屬性進(jìn)入WLAN屬性,選擇共享WLAN網(wǎng)絡(luò)給以太網(wǎng)

通過筆記本電腦cmd命令依次窗口輸入如下指令可以查詢到樹莓派外設(shè)ip地址
ipconfig
arp -a
通常來講通過筆記本網(wǎng)線共享網(wǎng)絡(luò)的樹莓派4B的ip地址和路由器的ip地址的第三段有明顯差別,也可以插拔網(wǎng)線對(duì)比前后ip狀態(tài)變化來排查,示例如下
ipconfig
arp -a


其中路由器分配的第三字端為31,由筆記本共享的以太網(wǎng)主機(jī)ip第三字段為137,arp -a指令查詢到的從機(jī)設(shè)備樹莓派4B的ip地址為192.168.137.237,第三字段同為137,可以依據(jù)此規(guī)律,方便樹莓派在未接顯示屏的情況下查詢樹莓派4B的ip地址。7. 利用ssh或者vnc遠(yuǎn)程登陸樹莓派系統(tǒng),驗(yàn)證機(jī)載計(jì)算機(jī)IP信息如下:





通過WiFi無線連接的方式聯(lián)網(wǎng)
?樹莓派4b可以通過WiFi無線連接路由器、筆記本電腦、手機(jī)共享出來的WiFi信號(hào)(通過手機(jī)共享出來的WiFi頻段推薦為2.4G模式,因?yàn)闃漭傻刂吩O(shè)置為國內(nèi)時(shí),支持的5G信號(hào)頻段不全,可能導(dǎo)致樹莓派搜索不到部分缺失頻段的WiFi信號(hào)),同理可以通過路由器管理系統(tǒng)查看IP地址,在WiFi密碼已知且不方便更改用戶名、密碼的情況下,用戶需要給樹莓派外接顯示屏,插上鼠標(biāo)鍵盤后,手動(dòng)連接對(duì)應(yīng)的WiFi設(shè)備,這個(gè)太過簡(jiǎn)單,故不做過多介紹,設(shè)置界面如下選擇對(duì)應(yīng)WiFi名稱輸入密碼即可聯(lián)網(wǎng)。同理在終端輸入?
ifconfig
可查詢IP地址

?在實(shí)驗(yàn)室或者現(xiàn)場(chǎng)調(diào)試等不具備共有路由器構(gòu)建的局域網(wǎng)的條件下,可以使用樹莓派4B利用自帶WiFi構(gòu)建AP熱點(diǎn),筆記本電腦可以通過連接樹莓派的WiFi熱點(diǎn)實(shí)現(xiàn)登陸機(jī)載系統(tǒng)遠(yuǎn)程操作。相關(guān)環(huán)境安裝命令如下(僅作為學(xué)習(xí)使用,配套飛機(jī)提供的樹莓派4B鏡像已經(jīng)裝好相關(guān)環(huán)境):
git clone https://github.com/oblique/create_ap
cd create_ap
make install
sudo create_ap wlan0 eth0 熱點(diǎn)名 密碼
當(dāng)樹莓派WiFi已經(jīng)連接路由器的情況下,輸入創(chuàng)建WiFi熱點(diǎn)的AP指令會(huì)提示出錯(cuò),提示wlan0不能既作為連接者又作為分享者,此時(shí)需要手動(dòng)斷開樹莓派鏈接的路由器的WiFi鏈接(意味著只能建立筆記本、手機(jī)和樹莓派之間的局域網(wǎng)連接,無法實(shí)現(xiàn)連接互聯(lián)網(wǎng),存在二者兼容的解決方案,配置相對(duì)會(huì)麻煩一點(diǎn),考慮實(shí)際應(yīng)用場(chǎng)景非必須,暫作為備選方案),再重新執(zhí)行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熱點(diǎn)創(chuàng)建成功后,筆記本電腦、手機(jī)等設(shè)備可以連接樹莓派共享的熱點(diǎn)WiFi信號(hào),利用IP實(shí)現(xiàn)遠(yuǎn)程登陸操作




?樹莓派自動(dòng)連接固定WiFi名稱、密碼的WiFi路由設(shè)備
本使用情形為已經(jīng)存在對(duì)應(yīng)WiFi名稱、密碼的WiFi路由設(shè)備,樹莓派開機(jī)自動(dòng)讀取網(wǎng)絡(luò)配置文件后,連接到對(duì)應(yīng)網(wǎng)絡(luò),當(dāng)前僅當(dāng)樹莓派周圍存在和配置文件中名稱、密碼匹配的WiFi設(shè)備時(shí),自動(dòng)連接才會(huì)建立。網(wǎng)絡(luò)配置文件的系統(tǒng)路徑為/etc/netplan/01-network-manager-all.yaml,文件默認(rèn)配置如下:
# Let NetworkManager manage all devices on this system network: ?version: 2 ?renderer: NetworkManager
默認(rèn)配置表示的是將系統(tǒng)的網(wǎng)絡(luò)配置權(quán)限交給系統(tǒng)網(wǎng)絡(luò)管理器,用戶需要手動(dòng)連接WiFi或者通過有線網(wǎng)口連接的方式聯(lián)網(wǎng)。當(dāng)系統(tǒng)需要自動(dòng)連接固定WiFi名稱、密碼的WiFi熱點(diǎn)時(shí),更改配置文件如下:
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
上述配置文件中默認(rèn)的WiFi名稱為:flight_namelesstech,密碼為12345678,實(shí)際使用中用戶可以根據(jù)實(shí)際來更改對(duì)應(yīng)文件字段,也可以直接更改路由器的WiFi名稱、密碼和樹莓派網(wǎng)絡(luò)配置文件,也可以使用筆記本電腦創(chuàng)建對(duì)應(yīng)名稱、密碼的WiFi熱點(diǎn),樹莓派即可自動(dòng)連接聯(lián)網(wǎng)。(不更改網(wǎng)絡(luò)配置文件直接改現(xiàn)實(shí)熱點(diǎn)名稱、密碼的情形,特別適合沒有外接顯示屏,初次登陸系統(tǒng)的情形)。當(dāng)樹莓派方便外接顯示屏的情況下,上述更改/etc/netplan/01-network-manager-all.yaml文件的操作就顯得非常的多余了。
?

在有顯示屏的情況下,初次登陸樹莓派ubuntu系統(tǒng)只需要手動(dòng)連接WiFi即可,后續(xù)樹莓派工作只需要之前連接的WiFi熱點(diǎn)存在,系統(tǒng)開機(jī)就會(huì)自動(dòng)連接到之前連接的WiFi網(wǎng)絡(luò),查詢IP地址后就可以遠(yuǎn)程登陸樹莓派了。
下面對(duì)上述所有聯(lián)網(wǎng)情形進(jìn)行對(duì)比,列出各自適用情形,優(yōu)缺點(diǎn)如下表:
聯(lián)網(wǎng)類型適用場(chǎng)景優(yōu)點(diǎn)缺點(diǎn)1、網(wǎng)口有線連接無顯示屏初次登陸樹莓派系統(tǒng)、需更新應(yīng)用下載大量數(shù)據(jù)等情況連接穩(wěn)定可靠不適合機(jī)載計(jì)算機(jī)移動(dòng)條件下使用2、樹莓派網(wǎng)卡AP熱點(diǎn)WiFi無開放局域網(wǎng)、無路由WiFi熱點(diǎn)設(shè)備條件下適合移動(dòng)場(chǎng)景下使用無法連接互聯(lián)網(wǎng),只能作為局域網(wǎng)使用3、設(shè)置樹莓派網(wǎng)絡(luò)配置文件自動(dòng)連接WiFi首次登陸系統(tǒng),且無外接顯示屏幕情形適合移動(dòng)場(chǎng)景下使用無4、登陸系統(tǒng)后手動(dòng)連接WiFi適合在存在無限路由WiFi熱點(diǎn)情況下使用(路由器WiFi、手機(jī)熱點(diǎn)、筆記本電腦熱點(diǎn)等)適合移動(dòng)場(chǎng)景下使用無
實(shí)際使用過程中,機(jī)載計(jì)算機(jī)大多數(shù)情況工作在④②兩種情況,在外接存在WiFi熱點(diǎn)的情況,采用方式④,外部環(huán)境不存在可用WiFi熱點(diǎn)的情況下采用方式②,我們提供默認(rèn)的樹莓派4B鏡像初始就是工作在④情形,如果初次登陸樹莓派系統(tǒng),手頭無外接顯示屏的情況下,可以將自己手機(jī)配置成WiFi熱點(diǎn)模式,WiFi名稱為:flight_namelesstech,密碼為12345678,創(chuàng)建熱點(diǎn)成功后,樹莓派會(huì)自動(dòng)連接到該網(wǎng)絡(luò),建立網(wǎng)絡(luò)鏈接和查詢到IP地址后,后續(xù)就可以遠(yuǎn)程登陸,登陸到系統(tǒng)中就可以實(shí)現(xiàn)④②的切換。
當(dāng)用戶需要樹莓派網(wǎng)絡(luò)工作在②AP熱點(diǎn)模式時(shí),為了方便客戶操作,已經(jīng)寫了對(duì)應(yīng)腳本文件,實(shí)現(xiàn)開機(jī)自啟動(dòng)AP熱點(diǎn)WiFi供用戶遠(yuǎn)程登陸,依次電機(jī)菜單——控制中心——啟動(dòng)應(yīng)用程序——添加后界面已經(jīng)相關(guān)設(shè)置如下圖,命令框填入的內(nèi)容如下:
gnome-terminal -x ?/home/cindy/autostart/wifi_ap.sh
設(shè)置成功后重新啟動(dòng)計(jì)算機(jī)就可以實(shí)現(xiàn)開機(jī)自動(dòng)進(jìn)入AP熱點(diǎn)WiFi模式,根據(jù)IP地址就可以遠(yuǎn)程登陸樹莓派系統(tǒng)了,由于出廠默認(rèn)采用的是登陸系統(tǒng)后手動(dòng)連接WiFi,故客戶需要自己手動(dòng)完成上圖操作才能進(jìn)入實(shí)現(xiàn)上述功能。當(dāng)實(shí)驗(yàn)室環(huán)境存在開放路由器WiFi時(shí),本操作可以作為備選方案。實(shí)際使用者可以通過樹莓派擴(kuò)展板上的I2C口外接I2C接口的OLED顯示屏很方便的查看聯(lián)網(wǎng)狀態(tài)以及IP地址、CPU溫度、內(nèi)存占用等信息。
異常問題處理
下面給出樹莓派AP在自動(dòng)創(chuàng)建WiFi后,及時(shí)已經(jīng)停止運(yùn)行WiFi創(chuàng)建,這個(gè)時(shí)候想要切換成手動(dòng)連接路由器或者手機(jī)共享WiFi熱點(diǎn)時(shí),發(fā)現(xiàn)搜索不到WiFi信號(hào),也不能手動(dòng)創(chuàng)建進(jìn)行連接,通過查看create_ap -h幫助信息可知:
意思是說當(dāng)關(guān)閉AP熱點(diǎn)后,需要手動(dòng)將網(wǎng)絡(luò)控制權(quán)限切換到ubuntu操作系統(tǒng)網(wǎng)絡(luò)管理器,執(zhí)行如下指令解決不能手動(dòng)聯(lián)網(wǎng)問題:
sudo create_ap --fix-unmanaged 返回: Trying to fix unmanaged status in NetworkManager...
645886570608)]
意思是說當(dāng)關(guān)閉AP熱點(diǎn)后,需要手動(dòng)將網(wǎng)絡(luò)控制權(quán)限切換到ubuntu操作系統(tǒng)網(wǎng)絡(luò)管理器,執(zhí)行如下指令解決不能手動(dòng)聯(lián)網(wǎng)問題:
sudo create_ap --fix-unmanaged
返回:
Trying to fix unmanaged status in NetworkManager...