手把手帶你玩轉LiteOS Ping組件


摘要:本期小編為大家帶來LiteOS開源版本Ping組件的使用說明,請跟隨小編的步伐一起進入探索之旅吧!

本文分享自華為雲社區《LiteOS組件嘗鮮-玩轉Ping》,作者:Lionlace 。

基本介紹

ICMP:Internet Control Message Protocol(互聯網控制消息協議)

Ping:Packet Internet Groper(互聯網包探索器)

Ping命令使用ICMP協議發送數據,用來檢查網絡情況是否良好。

原理

Ping用於確定本地主機是否能與另一台主機成功交換(發送與接收)數據包。根據返回的信息推斷TCP/IP參數是否設置正確,以及能否正常運行、網絡是否通暢等。Ping命令操作步驟如下:

  • 通過將ICMP回顯數據包發送到計算機並偵聽回顯數據包來驗證與一台或多台遠程計算機的連接;
  • 每個發送的數據包最多等待一秒;
  • 打印已傳輸和接受的數據包數。需要注意的是:ping成功並不一定代表TCP/IP配置正確,可能還需要執行大量本地主機與遠程主機的數據包交換,從而確定TCP/IP配置的正確性。如果出現執行ping成功網絡依舊無法使用的情況,問題可能出現在網絡系統的軟件配置方面。Ping成功只能保證當前主機與目的主機間存在一條連通的網絡路徑。

使用說明

Ping是用於檢測網絡是否通暢或者網絡連接速度的命令,時延越小網絡速度越快,反之時延越大速度越慢。

理論上LiteOS中支持lwIP協議棧的開發板均可支持ping命令,目前已驗證ping功能的開發板有:

STM32F769IDISCOVERY

Cloud_STM32F429IGTx_FIRE

Ping命令格式

[ping <IP地址>]

使能ping

設置LiteOS源碼根目錄下根據實際使用的開發板,拷貝tools/build/config/目錄下的默認配置文件${platform}.config到根目錄,並重命名為.config。

繼續在LiteOS源碼根目錄下執行make menuconfig命令,按如下菜單路徑使能ping功能。

Components  --->
     Network  --->
         [*] Enable Ping

使能ping后,LiteOS會自動使能ping依賴的lwIP並設置為Ipv4模式。保存退出menuconfig后,LiteOS會從github上自動下載lwIP源代碼,並從gitee的LiteOS組件倉庫LiteOS_Components下載對應的patch包,並打入patch。關於組件下載的詳細流程請參考:https://gitee.com/LiteOS/LiteOS_Components#%E5%9C%A8%E7%BA%BF%E7%BB%84%E4%BB%B6%E4%B8%8B%E8%BD%BD%E6%B5%81%E7%A8%8B。

注意:下載需要Linux主機可以訪問互聯網,並安裝git。

測試

1.准備一台PC,Linux或Windows都可;

2.將PC與開發板連接到同一局域網內;

3.將開發版串口和PC連接並打開串口監視軟件(測試PC的IP地址為192.168.x.y,用戶需要更換為自己的真實IP地址);

4.使能ping后,在LiteOS源碼根目錄下執行make clean ; make -j命令編譯LiteOS工程,編譯成功后將在out/${platform}/lib目錄下生成組件靜態庫文件libping.a,系統鏡像文件為Huawei_LiteOS.bin;

5.燒錄系統鏡像文件,復位開發板;

6.進入shell,輸入help命令后,如果顯示ping命令,則表明已經生效。

Huawei LiteOS # help
*******************shell commands:*************************
date          free          help          hwi           ifconfig      log           memcheck      ping  
swtmr         systeminfo    task          uname         watch  
Huawei LiteOS #

7.測試網絡

在shell中輸入ping 192.168.x.y命令,如下所示則說明網絡暢通。

Huawei LiteOS # ping 192.168.x.y
Ping 4 packets start.
Huawei LiteOS #
Huawei LiteOS # [0]Reply from 192.168.x.y: time=2ms TTL=128.
[1]Reply from 192.168.x.y: time=0ms TTL=128.
[2]Reply from 192.168.x.y: time=1ms TTL=128.
[3]Reply from 192.168.x.y: time=1ms TTL=128.

如果出現請求超時,如下所示則說明網絡故障。

Huawei LiteOS # ping 192.168.x.y
Ping 4 packets start.
Huawei LiteOS # Ping : request timed out.
Ping : request timed out
Ping : request timed out.
Ping : request timed out.

以上為“ping”使用說明的全部內容,歡迎大家學習交流。

結語

未來我們還會持續新增更多組件、開發板、架構、特性等。

感謝您的閱讀,有任何問題、建議,都可以留言給我們,讓我們一起進步:https://gitee.com/LiteOS/LiteOS/issues。

為了更容易找到“LiteOS”代碼倉,建議訪問https://gitee.com/LiteOS/LiteOS,關注“ Watch”、點贊“Star”、並“Fork”到自己賬號下,如圖所示。

更多學習內容,請關注IoT物聯網社區添加華為雲IoT小助手微信號(hwc-iot),回復“閱讀”獲取更多資訊。

 

點擊關注,第一時間了解華為雲新鮮技術~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM