1.網絡配置簡介
本文檔介紹了系統的網絡基礎配置。另外為了解決在程序中修改網絡配置需求,我們也提供使用yaml-cpp庫修改網絡配置的簡單示例。
1.1 netplan與yaml文件
1.1.1 背景
本分析系統運行環境采用的是Ubuntu22.04系統。由于Ubuntu從18.04版本不再使用 ifupdown 配置網絡,而改用 netplan,所以在 /etc/network/interfaces 配置固定IP是無效的,必須在/etc/netplan/中進行使用yaml文件網絡配置,即我們需要了解yaml文件的基礎語法。
1.1.2 語法基礎及注意事項
以下語法并不包含YAML的所有語法,只說明網絡配置中所需語法。更詳細的語法知識請參考YAML官網:https://yaml.org/
l 數據結構采用鍵值對的形式,即(鍵名稱: 值),注意冒號后面要有空格。
l 數組有兩種表達方式,例如配置雙ip地址時每個元素單獨一行,并以(- )開頭;配置DNS時使用方括號,元素用逗號隔開。如下圖所示。

l 使用縮進表示層級關系,縮進使用空格不推薦使用 tab,因為在不同系統 tab 長度可能不一樣。
l 字母大小寫敏感。
1.2 WIFI使用操作
1.2.1 接上WI-FI天線

1.2.2 修改WI-FI網絡配置
用以下命令查看開發板網絡配置存放路徑,會發現有4個配置文件。其中52-wlan0-init.yaml是【wif網卡】相關的netplan配置。
ls /etc/netplan/

下面是一個把wlan0配置成DHCP的示例:

關于網卡配置每一個部分的配置細節說明,如下圖所示:

如果對yaml進行過了修改,則需要執行下方命令進行更新:
sudo netplan generate sudo netplan apply
2. 快速上手
2.1 開發環境準備
如果您初次閱讀此文檔,請閱讀《入門指南/開發環境準備/Easy-Eai編譯環境準備與更新》,并按照其相關的操作,進行編譯環境的部署。
在PC端Ubuntu系統中執行run腳本,進入EASY-EAI編譯環境,具體如下所示。
cd ~/develop_environment ./run.sh

2.2 源碼下載以及例程編譯
首先,在虛擬機后臺終端,執行以下命令,創建外設單例源碼管理目錄:
cd /opt mkdir -p EASY-EAI-Nano-TB/demo
首先,到【百度網盤】上下載相關的單例程序:
鏈接:https://pan.baidu.com/s/1Br608Hiff2Xs65PzWO_qWQ?pwd=1234
提取碼:1234
比如把單例程序下載到:此電腦\D:\BaiduNetdisk (無規定,用戶可自主選擇),如下圖所示。

再將下載好的單例復制進入虛擬機的文件系統,過程如下圖所示。



最后,進入到對應的例程目錄執行編譯操作,具體命令如下所示:
cd EASY-EAI-Nano-TB/demo/01_network ./build.sh
注:
* 由于依賴庫部署在板卡上,因此交叉編譯過程中必須保持/mnt掛載。

若有以下報錯則需要在【開發板上】安裝一下libyaml-cpp-dev庫

sudo apt-get install libyaml-cpp-dev
2.3 例程運行
通過串口調試或ssh調試,進入板卡后臺,定位到例程部署的位置,如下所示:
cd /userdata

運行例程命令如下所示:
./test-wifi
此demo的效果是把wlan0的配置修改成wifi station,連接到一個叫HUAWEI-0H1YW8的wifi AP(熱點)上。
2.4 運行效果
執行后若能成功連接,熱點則會給開發板分配IP地址,效果如下所示。

3. 操作例程
例程位于01_network/test-wifi/main.cpp。
3.1 例程源碼
以下代碼展示了設置wlan0的熱點連接的使用案例,供用戶編碼參考:
int main() { // 加載YAML文件 YAML::Node config = YAML::LoadFile("/etc/netplan/52-wlan0-init.yaml"); // =====================修改wifis的參數=========================== config["network"]["wifis"]["wlan0"]["dhcp4"] = "true"; config["network"]["wifis"]["wlan0"]["dhcp4-overrides"]["route-metric"] = "200"; config["network"]["wifis"]["wlan0"]["access-points"]["HUAWEI-0H1YW8"]["password"] = "lmo12345678"; // ============================================================= // 將修改后的YAML文檔寫回到文件中 std::ofstream fout("/etc/netplan/52-wlan0-init.yaml"); fout << config; fout.close(); // =======================重啟網卡=============================== system("sudo netplan generate"); system("sudo netplan apply"); return 0; }
-
瑞芯微
+關注
關注
27文章
708瀏覽量
53628 -
EASY-EAI靈眸科技
+關注
關注
4文章
43瀏覽量
3429 -
RV1126B
+關注
關注
0文章
26瀏覽量
64
發布評論請先 登錄
瑞芯微RV1126B開發套件評測大賽正式開賽!
瑞芯微(EASY EAI)RV1126B 音頻輸入
【EASY EAI Nano-TB(RV1126B)開發板試用】+初識篇
【EASY EAI Nano-TB(RV1126B)開發板試用】命令行功能測試-shell腳本進行IO控制-燈閃
【EASY EAI Nano-TB(RV1126B)開發板試用】命令行功能測試-shell腳本進行IO控制-紅綠燈項目
【EASY EAI Nano-TB(RV1126B)開發板試用】命令行功能測試-shell腳本進行IO控制-紅綠燈按鈕項目
請問各位大佬,如何解決,瑞芯微 RV1126B 使用 mpp 自帶工具 調試時,內核直接報錯崩潰!
【EASY EAI Nano-TB(RV1126B)開發板試用】+1、開箱上電
RV1126系列選型指南:從RV1126到RV1126B,一文看懂升級差異
【免費試用】EASY EAI Nano-TB(RV1126B)開發套件評測
替代升級實錘!實測RV1126B,CPU性能吊打RV1126

瑞芯微(EASY EAI)RV1126B WIFI STA通訊
評論