樹莓派3B+踩坑記錄:一、安裝Ubuntu Mate

樹莓派,Ubuntu,ROS

之前剛入手一塊樹莓派4B,搗鼓了幾天之後想用下載個ROS和筆記本上Ubuntu連接玩玩,結果折騰了快一星期都死活裝不上,然後就放棄了。現在樹莓派官網裏面Ubuntu僅支持到3B+,雖然ROS Wiki上面有教怎麼在Raspbain上面安裝ROS,但是試過之後發現對本小白來說還是不行啊,有興趣的小夥伴可以看看這個官網的教程。

ROSWiki官網上在Raspbian安裝教程

另外國外有大神已經在Pi4上面安裝了Ubuntu19.10,大家也可以自己去找一下,不過聽裝完的人說效果不是很好。

所以身爲窮人的我轉手在閒魚上出售了我的Pi4然後轉頭又入手了3B+,反正在安裝Ubuntu和ROS的過程中基本上能踩的坑我都踩了,寫這篇博文的目的一方面是給大家提供一些參考,這裏記錄了一些我折騰樹莓派時的一些借鑑的博文、自己的心得等,另一方面也是給我以後的回顧用的。如果有寫的不對的地方也希望大家及時指出,我可以進行修改。

硬件準備

在開始我們正式的安裝之前,我們需要把材料都準備好,這裏我列出了一些比較有必要購買的硬件:

  1. 樹莓派3B+
  2. SD卡及讀卡器;16G以上即可,不過最好還是32G的 ;
  3. 無線鍵鼠 ;這個東西同時具備了鼠標和鍵盤的功能,而且只佔用樹莓派的一個接口就行了。雖然很多人說這個很好用,其實我個人覺得用起來還是有點麻煩的,其實還不如某寶買一個60多塊的鼠標鍵盤套裝,畢竟樹莓派有4個USB接口,大部分情況下還是夠用的;
  4. 顯示屏和HDMI線 ;這個是重點要記下來!因爲我之前用的都是Raspbian,而Raspbian基本就是卡插進去之後可以通過ssh遠程登錄,但是,Ubuntu開機的時候會有個系統的配置過程,因此無論是ssh還是VNC什麼的都是不可以直接遠程控制的!我當初弄了很久才反應過來,所以非常有必要弄個顯示屏。當然其實不買也沒事,也可以直接通過HDMI線連到家裏的電視上面進行配置;
  5. 網線,可選;

軟件準備

DiskGenius, Win32DiskImager

然後是樹莓派官方的系統文件,這裏我選擇的是對應3B+版本的Ubuntu Mate18.04,對應的ROS版本爲Melodic。

Ubuntu Mate官方下載地址

進入網頁之後依次按如下選擇
選擇這裏
在這裏插入圖片描述
如果是安裝16.04的同學,對應的ROS版本是Kinetic,安裝操作類似,以下過程也可以作爲參考。

系統燒錄

將SD卡插進讀卡器之後再插進電腦中,DiskGenius裏面讀出來的U盤裏面應該是有2個分區的,移至這兩個分區的藍色圖塊上面右鍵選擇“刪除當前分區”,然後就會發現藍色圖塊合併成1個灰色的區域,再次選中並且右鍵選擇建立新的分區,直接確定,然後左上角提交操作並確認格式化。然後等U盤退出又重新加載回來之後就可以關閉DiskGenius了。

之後通過Win32DiskImager選擇鏡像文件進行燒錄。選擇藍色文件夾的圖標,選擇鏡像文件,然後點擊寫入,彈窗直接點擊確認。
在這裏插入圖片描述
完成之後,關閉Win32DiskImager,需要再次打開U盤空間,新建一個txt文件然後改爲“ssh”文件,來開啓ssh服務。
在這裏插入圖片描述

安裝Ubuntu Mate

終於來到了“正餐部分”。拔出讀卡器後,將卡插進樹莓派中,然後把該差的都插好。這邊是我的接線:上面是鍵鼠的接頭,左邊紅色的是HDMI線(用來接電視的),黑色的是電源線。
在這裏插入圖片描述
通過HDMI線連接顯示器後樹莓派上電之後就可以直接進入安裝界面,安裝的過程和PC上的Ubuntu安裝過程相同,進入界面之後依次選擇語言,時區,網絡連接,設置用戶名和密碼,鍵盤佈局等,然後就可以進入Ubuntu Mate18.04的界面啦~

在這裏插入圖片描述

更換國內源

安裝完成之後我們需要將Ubuntu Mate的源更換爲國內的鏡像源,因爲系統默認的apt源是位於國外的服務器上的,因此當使用apt-get下載應用包時會非常慢,所以需要進行替換,國內如清華,中科大和阿里的都可以用。

這裏推薦一篇非常好的博文,關於替換Ubuntu Mate源的,博主不僅提供了方法,而且還給出了背後的理由,非常值得學習!

換用國內apt源解決樹莓派安裝ubuntu後apt-get速度慢的問題

我這裏稍微總結一下:很多同學在換源以及進行其他操作的時候都是從網頁上面直接照搬的,但實際上裏面的一些信息是不符合自己系統的。拿Raspbian打個比方就是你拿着Buster的源去給Stretch版本的用,這怎麼行嘛。

我們使用如下命令打開source.list可以查看到裏面的源。

sudo vim /etc/apt/sources.list

以其中一條代碼行爲例

deb http://ports.ubuntu.com/ubuntu-ports bionic main restricted

我們在更換源的時候,實際上只需要把中間的url部分進行替換即可!其他部分完全可以不用動,因爲在改動這些東西的時候往往在不經意之間會使得源不符合你的系統版本。這些部分的意思歸納如下:

名稱 對應Ubuntu版本
bionic Ubuntu18.04
xenial Ubuntu16.04
wily Ubuntu15.10
vivid Ubuntu15.04
trusty Ubuntu14.04
precise Ubuntu12.04
名稱 意思
main “基本組件”,只包含符合Ubuntu的協議要求並由Ubuntu團隊維護支持的軟件
restricted “受限”組件,其中包含了非常重要的,但並不具有合適的自由協議的軟件,如顯卡驅動,同樣有 ubuntu團隊維護支持
universe “社區維護”組件,其中包含的軟件種類繁多,它們可能採用受限於協議,可能不是,但都不爲ubuntu 團隊維護
multiverse “非自由”組件,其中包括了不符合自由軟體要求而且不被Ubuntu團隊支援的軟件,通常爲商業公司編寫的軟件

因此,我們在更換源的時候,實際上只需要把對應的url網址進行更換就行了,舉例來說,如果你用的是某科大的鏡像源,那就是把內部代碼裏面的“http://ports.ubuntu.com/ubuntu-ports”替換爲“http://mirrors.ustc.edu.cn/ubuntu-ports”就可以了,如果你用的是阿里的,那就是替換爲"http://mirrors.aliyun.com/ubuntu-ports"。

如果遇到權限問題,使用以下命令修改權限即可

sudo chmod 777 /etc/apt/sources.list

然後進行源的更新

sudo apt-get update

網絡配置

儘管在Ubuntu Mate系統初始化配置的時候會提示你連接wifi,但是還是需要配置一下我們的網絡。因爲我在配置完系統之後發現我只能連接到一開始選擇的wifi網絡,儘管存在其他wifi,但是我輸入密碼之後還是死活連不上,一開始還以爲是系統問題,所以重新安裝了好幾遍(嗚嗚嗚,浪費了我超級長的時間),後來仔細研究了一下發現還是需要對系統的網絡進行配置(如果大家能直接連上別的wifi就直接跳過這步吧)。

關於網絡配置的詳細內容請移步這篇博文:樹莓派3B+筆記(3)–ubuntu mate下配置wifi

這裏僅列出了我配置時的方案,如果有其他問題直接移步上面的博文。執行以下命令:

sudo vim /etc/wpa_supplicant/wpa_supplicant.conf

打開之後輸入以下內容:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

network={							//你需要連接的其中一個wifi
       ssid="ssid"					//wifi名稱
       scan_ssid=1					//連接隱藏WiFi時需要指定該值爲1
       psk="密碼"					//wifi密碼
       priority=5					//優先級,值越大,優先級越高
}
network={							//你需要連接的第二個wifi
       ssid="ssid"
       psk="密碼"
       priority=1
}

這裏我配置了自己家的wifi,以及手機和電腦的熱點,大家可以根據自己的需要自行配置。

配置完成後執行

sudo systemctl restart networking

開啓ssh遠程

首先執行以下命令

sudo raspi-config

界面中選擇 Interfacing Options,進入後選擇ssh確定Enable開啓(其實順便也可以把camera、I2C什麼的也一起開了)。

開啓之後退回界面點擊Finish並重啓系統(這裏插一句,如果是16.04在開啓ssh後重啓可能會進入彩虹屏,並且一直卡在那裏。18.04的用戶可能也會遇到,不過等一會就會馬上進入系統,所以不用擔心。關於16.04彩虹屏的解決方法我寫在了最後)。

重啓系統之後,我們不管原系統有沒有ssh-server,直接進行重裝。

sudo apt autoremove openssh-server		//卸載ssh
sudo apt update							//更新源
sudo apt install openssh-server			//安裝ssh
sudo service ssh start					//開啓ssh
update-rc.d ssh enable					//ssh開機自啓動

如果在最後一步的時候顯示權限不夠,用"su root"進入root用戶執行。

查看ssh server是否開啓可用以下命令,看到sshd時即已經開啓

ps -e | grep ssh

然後確保我們的電腦和樹莓派處於同一個網段下面(就是說兩者接了同一個wifi或同一個熱點),樹莓派處輸入

ifconfig

這裏的inet對應的ip就是我們ssh用來遠程控制的樹莓派ip地址
在這裏插入圖片描述
用XShell軟件登陸連接(該軟件可以免費下載的,具體拉到文章最後面)
在這裏插入圖片描述
初次登陸會讓你輸入用戶名和密碼,輸入我們初始化Ubuntu Mate系統時配置的用戶名和密碼,點擊記住選項即可,然後我們就登陸進了我們的樹莓派。
在這裏插入圖片描述

其他

這邊是關於樹莓派彩虹屏的解決方案以及XShell和Xftp的下載方法

彩虹屏解決方案

如果是安裝Ubuntu Mate16.04的通信,會在執行完“sudo raspi-config”配置開啓ssh重啓之後進入彩虹屏。這邊給大家一份文件:
鏈接:https://pan.baidu.com/s/1-9UrpdEQh4nmSdDvH-Lw2A
提取碼:ab3o
下載完之後將SD卡從樹莓派中拔出,然後插入讀卡器中重新在電腦裏面打開,然後將boot文件解壓,把裏面的4個文件拷貝替換卡內的原文件。然後拔出重新插回樹莓派裏面,開機發現完美解決!

XShell和Xftp下載

首先,不要去下載網上的破解版(我之前下的破解版然後不知道爲啥有一天認證過期了。。。)

如果你是學生,可以直接去外文官網申請下載免費版的(非商業用途),不要去中文官網,這裏我直接給鏈接:XSHELL6官網下載

進去之後右下角選擇免費授權頁面
在這裏插入圖片描述
填好姓名和郵箱
在這裏插入圖片描述
這個郵件回覆還是很快的,基本上會直接在回覆的郵件裏面給你免費下載的鏈接,不過鏈接的有效期只有1個月,過期之後需要重新申請。

寫在最後

關於ROS的安裝,由於這篇文章比我預期的寫的多,因此就不放在這裏了,另外再開一片專門講樹莓派ROS安裝的,這個坑真的巨多。。。我把我踩過的坑以及解決方案都總結了一下,希望能對大家有所幫助。
Ubuntu Mate上ROS的安裝及問題解決方案總結

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章