写点什么

手把手带你玩转 LiteOS Ping 组件

  • 2021 年 11 月 16 日
  • 本文字数:1822 字

    阅读完需:约 6 分钟

摘要:本期小编为大家带来 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 中输入 ping192.168.x.y 命令,如下所示则说明网络畅通。


Huawei LiteOS # ping 192.168.x.yPing 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.yPing 4 packets start.Huawei LiteOS # Ping : request timed out.Ping : request timed outPing : 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),回复“阅读”获取更多资讯。


点击关注,第一时间了解华为云新鲜技术~

发布于: 3 小时前阅读数: 5
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
手把手带你玩转LiteOS Ping组件