【Linux應用】Ubuntu20.04 aarch64開發板一鍵安裝ROS2(清華源)
文章目錄
- 相關資料
- 更改UTF8
- 執行更新
- 一鍵安裝ROS2
- 驗證
- 配置環境變量
- 附錄:開發板快速上手:鏡像燒錄、串口shell、外設掛載、WiFi配置、SSH連接、文件交互(RADXA ZERO 3為例)
- ZERO 3燒錄
- ZERO 3串口shell
- 外設掛載
- 連接WiFi
- SSH連接
- SSH的文件交互
- 換源
相關資料
清華園地址
更改UTF8
locale # check for UTF-8sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8locale # verify setting
執行更新
獲取密鑰并更新
# 1. 使用清華鏡像源下載密鑰(避免GitHub連接)
sudo curl -sSL https://mirrors.tuna.tsinghua.edu.cn/ros/ros.key -o /tmp/ros.key# 2. 轉換密鑰格式并安裝到安全位置
sudo gpg --dearmor /tmp/ros.key | sudo tee /usr/share/keyrings/ros-archive-keyring.gpg >/dev/null# 3. 添加清華鏡像源(自動匹配系統版本)
sudo tee /etc/apt/sources.list.d/ros.list << EOF
deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu $(lsb_release -cs) main
EOF# 4. 清理臨時文件
sudo rm /tmp/ros.key# 5. 更新軟件源
sudo apt update
一鍵安裝ROS2
sudo apt update
sudo apt upgrade
sudo apt-get update
sudo apt install ros-foxy-desktop
期間會讓你選擇某些依賴版本
按默認就行
驗證
cat /opt/ros/foxy/setup.bash
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_cpp talker
配置環境變量
# 添加永久環境變量
# 1. 臨時生效方式(每次新終端都需要執行)
source /opt/ros/foxy/setup.bash# 2. 永久生效配置(將以下命令加入 bashrc)
echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
source ~/.bashrc# 3. 安裝演示包(如果未安裝)
sudo apt install ros-foxy-demo-nodes-cpp# 4. 再次運行測試
ros2 run demo_nodes_cpp talker
附錄:開發板快速上手:鏡像燒錄、串口shell、外設掛載、WiFi配置、SSH連接、文件交互(RADXA ZERO 3為例)
開發板快速上手:鏡像燒錄、串口shell、外設掛載、WiFi配置、SSH連接、文件交互(RADXA ZERO 3為例)
ZERO 3燒錄
ZERO 3有兩種 最本質的就是一個帶WiFi一個不帶WiFi
ZERO 3作為一個Linux板 其存儲支持從sd卡EFI啟動
系統安裝則直接通過Balena Etcher來進行
可以使用其Windows版本即可
官方文檔:
官方文檔快速上手描述
鏡像下載則也可以使用官方鏡像:
Radxa ZERO 3 Debian Build 6
該鏡像是最初的鏡像 很多依賴都沒有
如果開發的話 可以直接下載第三方鏡像 或者自己在原有官方鏡像上去安裝鏡像包等等
燒錄很簡單 直接用工具選擇U盤 選擇鏡像即可
下圖為燒錄好了的sd卡
除了系統分區外 就是一個config分區 其掛載根根目錄名稱即為config
ZERO 3串口shell
串口與ZERO 3鏈接如下圖:
鏈接后 配置串口為
baudrate: 1500000
data bit: 8
stop bit: 1
parity : none
flow control: none
啟動后 用戶名和密碼都為radxa
外設掛載
根據df
命令查詢系統掛載點
其做好了的U盤外部存儲空間為/config
連接WiFi
使用如下指令鏈接WiFi:
nmcli device wifi #掃描WiFi
sudo nmcli device wifi connect <ssid> password <passwd> #連接WiFi
連上后 使用ip a
命令即可查看連接狀態和ip
SSH連接
使用命令sudo systemctl status ssh
查看ssh狀態
前提是要安裝ssh
如果沒有安裝 則通過shell安裝ssh:
sudo apt-get update
sudo apt-get install openssh-server openssh-sftp-server
根據Active
判斷是否需要重啟ssh服務:
重啟ssh服務:
sudo systemctl restart ssh
啟動后如下:
Active
狀態就被設置為了running
開機自啟動ssh則使用命令:
sudo systemctl enable --now ssh
在PC上 支持ssh的設備中 使用以下指令鏈接到板子:
ssh [username]@[IP address] # or ssh [username]@[hostname]
如下圖:
SSH的文件交互
若是在PC上作為主機去訪問設備
那么就是在PC的cmd中運行shell
有的終端軟件配備了ssh的文件管理傳輸功能
連上以后就可以直接搜素到當前目錄下的各類文件 以便于實現文件管理
并且可以直接download
# 復制 Windows 文件到 Linux
scp D:\data\1.txt root@192.168.88.161:/root/data
# 復制 Windows 目錄到 Linux(記得加 -r)
scp -r D:\data root@192.168.88.161:/root/data# 復制 Linux 文件到 Windows
scp root@192.168.88.161:/root/data/1.txt D:\data
# 復制 Linux 目錄到 Windows(記得加 -r)
scp -r root@192.168.88.161:/root/data D:\data
前提是設備開啟了ssh可以被鏈接
發過去后便能在板子上看到:
回傳文件夾:
如果是Linux設備去連接Windows設備 則需要在Windows里面設置對應的服務 相關教程很多 這里不過多贅述
如果是Linux設備訪問Linux設備 則主設備也要指定IP
scp root@192.168.88.161:/root/1.txt root@192.168.88.162:/root# 如果設置了Linux之間的免密登錄,可這樣寫:
scp 192.168.88.161:///root/1.txt 192.168.88.162:///root
換源
Linux系統的源都在/etc/apt/
下 一般有兩個文件
一個是sources.list
另外一個是sources.list.d
目錄下的品牌list文件
如樹莓派需要備份原本的源:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
而radxa的則是:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/apt/sources.list.d/radxa.list /etc/apt/sources.list.d/radxa.list.bak
將原本的文件進行編輯:
sudo nano /etc/apt/sources.list
注釋掉最初的源 并添加新的源:
deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm-updates main contrib non-free-firmware
如圖:
然后再換子目錄下的源
sudo nano /etc/apt/sources.list.d/raspi.list
替換成:
deb https://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main
不過很可惜 清華源沒有radxa 但是可以換debian的源(/etc/apt/sources.list
):
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
換源后 執行
sudo apt-get upgrade
sudo apt-get update