【Linux應用】Ubuntu20.04 aarch64開發板一鍵安裝ROS2(清華源)

【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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/88546.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/88546.shtml
英文地址,請注明出處:http://en.pswp.cn/web/88546.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【HDLBits習題 2】Circuit - Sequential Logic(4)More Circuits

1. Rule90&#xff08;Rule 90&#xff09;方法1&#xff1a;module top_module (output reg [511:0] q,input clk,input load,input [511:0] data ); integer i;always (posedge clk) beginif (load 1b1) beginq < data;end else beginfor (i0; i<$bits(q);…

基于mysqlfrm工具解析mysql數據結構文件frm表結構和數據庫版本信息

這里使用Linux系統上操作。win上搞了下 python報錯。所以在這里記錄一下推薦大家使用linux系統操作。 安裝mysql utilswget https://downloads.mysql.com/archives/get/p/30/file/mysql-utilities-1.6.5.tar.gztar -xf mysql-utilities-1.6.5.tar.gzcd mysql-utilities-1.6.5py…

【C++ 深入解析 C++ 模板中的「依賴類型」】

深入解析 C 模板中的「依賴類型」 依賴類型是 C 模板編程中的核心概念&#xff0c;特指那些依賴于模板參數的類型。迭代器是依賴類型的常見例子&#xff0c;但遠不止于此。讓我們全面解析這個重要概念&#xff1a; 依賴類型的本質定義 依賴類型是&#xff1a; 在模板中定義直接…

Telnet遠程連接實驗(Cisco)

Telnet遠程連接實驗&#xff08;Cisco&#xff09; 拓撲圖一并實現DHCP服務、HTTP服務、FTP服務。 二層交換機配置&#xff1a; 交換機Switch0配置&#xff1a; vlan 10vlan 20int f0/1switchport mode accessswitchport access vlan 10int f0/2switchport mode accessswitchpo…

C++:非類型模板參數,模板特化以及模板的分離編譯

目錄 一、前言 二、非類型模板參數 三、模板的特化 3.1 類模板特化 3.11 全特化 3.12 偏特化 3.2 函數模板特化 3.3 注意 四、模板的分離編譯 一、前言 前面的文章梳理了模板初階的一些用法&#xff0c;在后面梳理了STL的一些容器的用法后&#xff0c;下面將用到含有S…

【Qt 學習之路】Qt Android開發環境搭建:Ubuntu的Vmware虛擬機中的踩坑實錄

文章目錄1、簡介2、虛擬機內USB設備識別難題2.1、正確連接手機2.2、打開USB相關配置2.3、打開虛擬機中的手機設備3、Gradle下載速度緩慢之困3.1、下載 Gradle 鏡像3.2、安放鏡像位置3.3、修改項目中的gradle路徑1、簡介 許久未曾使用Qt進行Android開發&#xff0c;今日在Ubunt…

MySQL中使用group_concat遇到的問題及解決

在使用group_concat的過程中遇到個問題&#xff0c;這里記錄一下&#xff1a;在MySQL中有個配置參數group_concat_max_len&#xff0c;它會限制使用group_concat返回的最大字符串長度&#xff0c;默認是1024。 查詢group_concat_max_len大小&#xff1a; show variables like…

高性能小型爬蟲語言與代碼示例

高性能小型爬蟲現在有哪幾種新興語言可以選擇。我看到了很多關于爬蟲框架的信息&#xff0c;特別是使用Go語言和Node.js的框架。Go語言方面有Kaola1和Katana2這兩個框架。Kaola被描述為高性能的Go語言爬蟲框架&#xff0c;輕量級且強大&#xff0c;提供靈活配置選項。 Node.js…

【PTA數據結構 | C語言版】在順序表 list 中查找元素 x

本專欄持續輸出數據結構題目集&#xff0c;歡迎訂閱。 文章目錄題目代碼題目 請編寫程序&#xff0c;將 n 個整數存入順序表&#xff0c;對任一給定整數 x&#xff0c;查找其在順序表中的位置。 輸入格式&#xff1a; 輸入首先在第一行給出正整數 n&#xff08;≤10^4 &#…

claude code-- 基于Claude 4 模型的智能編程工具,重塑你的編程體驗

文章目錄0.前言1.安裝nodejs2.使用指南3.快速上手4.總結0.前言 最近的這個claudecode非常的火&#xff0c;因為可能是這個cursoe定價的一些原因吧&#xff0c;我是聽其他的這個大佬說的&#xff0c;因為這個cursor其實我就是最開始的使用用過一下&#xff0c;現在基本上不使用…

HTTP API 身份認證

互聯網系統通常需要根據用戶身份決定是否有資源的訪問權限&#xff0c;這就需要對用戶進行身份認證&#xff08;Authentication&#xff09;&#xff0c;驗證用戶所聲稱的身份。驗證手段通常是驗證只有用戶知道或擁有的東西&#xff0c;比如密碼、手機號、指紋等。 基于瀏覽器…

Python畢業設計232—基于python+Django+vue的圖書管理系統(源代碼+數據庫)

畢設所有選題&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于pythonDjangovue的圖書管理系統(源代碼數據庫)232 一、系統介紹 本項目前后端分離&#xff0c;分為用戶、管理員兩種角色 1、用戶&#xff1a; 注冊、登錄、新聞資訊、圖書信…

Koa+Puppeteer爬蟲教程頁面設計

當我使用Koa作為web服務器&#xff0c;Puppeteer作為爬蟲工具來編寫一個簡單的爬蟲教程時&#xff0c;發生了戲劇性的一幕。 下面我將創建一個完整的Koa Puppeteer爬蟲教程頁面&#xff0c;包含代碼示例、執行演示和詳細說明。設計思路 左側為教程內容區域右側為實時爬蟲演示區…

云成本優化完整指南:從理論到實踐的全方位解決方案

目錄 引言:云成本管理的重要性云成本優化的核心原則成本分析與監控體系立即行動的快速優化策略中期架構優化方案長期成本治理體系多云環境成本管理實施路線圖與最佳實踐案例研究與效果評估總結與展望引言:云成本管理的重要性 {#引言} 在數字化轉型的浪潮中,

計算機學科專業基礎綜合(408)四門核心課程的知識點總結

一、數據結構&#xff08;Data Structure&#xff09; 數據結構是 “如何高效組織和處理數據” 的學科&#xff0c;核心是邏輯結構&#xff08;數據間的關系&#xff09;和物理結構&#xff08;數據在內存中的存儲方式&#xff09;&#xff0c;以及基于這兩種結構的操作算法。 …

JVM GC長暫停問題排查

JVM GC長暫停問題排查 現象 名詞&#xff1a;GC 垃圾回收&#xff08;Garbage Collection&#xff09;分類 計算機科學 在高并發下&#xff0c;Java程序的GC問題屬于很典型的一類問題&#xff0c;帶來的影響往往會被進一步放大。不管是「GC頻率過快」還是「GC耗時太長」&#x…

前端開發中的難題及解決方案

在前端開發過程中&#xff0c;開發者常常會遇到各種棘手的問題&#xff0c;這些問題不僅影響開發效率&#xff0c;還可能對產品質量和用戶體驗造成負面影響。下面詳細探討常見難題及有效解決方案。一、跨瀏覽器兼容性問題難題表現&#xff1a;不同瀏覽器&#xff08;如 Chrome、…

halcon 求一個tuple的極值點

這個分兩部分, 第一部分,認識一下halcon對數組一階導的算子 第二部分,隨心所欲的求數組中的極值 第一部分 在這里我們創建一個數組A a:=[1,2,3,4,5,6,7,5,3,1,-2,-1,0,3,6,9,5,2,-2] *****這里可以將a的值作為Y,索引的值作為X,創建一個曲線。 create_funct_1d_array (a…

SpringAI學習筆記-Chat簡單示例

Spring AI的內容太多太多。Chat是其中的一部分&#xff0c;也是其中非常重要、非常基礎的一部分&#xff0c;所以適合用來入門。 Chat API主要涉及幾個概念&#xff1a; Client&#xff1a;代表各模型的客戶端&#xff0c;負責請求和響應。Prompt&#xff1a;請求的最外層封裝&…

AI與物聯網(IoT)的融合

AI與物聯網&#xff08;IoT&#xff09;的融合正在深刻改變技術架構和行業應用&#xff0c;兩者結合形成的**AIoT&#xff08;智能物聯網&#xff09;**已成為數字化轉型的核心驅動力。以下是關鍵維度的分析&#xff1a;一、技術融合的底層邏輯 數據閉環的構建 IoT&#xff1a;…