摘要:本期小编为大家带来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),回复“阅读”获取更多资讯。

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

手把手带你玩转LiteOS Ping组件的更多相关文章

  1. Java开发不懂Docker,学尽Java也枉然,阿里P8架构师手把手带你玩转Docker实战

    转: Java开发不懂Docker,学尽Java也枉然,阿里P8架构师手把手带你玩转Docker实战 Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一 ...

  2. 手把手带你玩转Linux

    今天这篇文章带你走进Linux世界的同时,带你手把手玩转Linux,加深对Linux系统的认识. 一.搞好Linux工作必须得不断折腾,说白了,只是动手力量必须强.我在初学Linux的那片,家中三台计 ...

  3. Android 手把手带你玩转自己定义相机

    本文已授权微信公众号<鸿洋>原创首发,转载请务必注明出处. 概述 相机差点儿是每一个APP都要用到的功能,万一老板让你定制相机方不方?反正我是有点方. 关于相机的两天奋斗总结免费送给你. ...

  4. 手把手带你玩转 DialogFragment

    前言 本文已经收录到我的 Github 个人博客,欢迎大佬们光临寒舍: 我的 GIthub 博客 思维导图 一.为什么要学习 DialogFragment 你还在用 Dialog 吗? 你还在经常烦恼 ...

  5. 手把手教你玩转 CSS3 3D 技术

    css3的3d起步 要玩转css3的3d,就必须了解几个词汇,便是透视(perspective).旋转(rotate)和移动(translate).透视即是以现实的视角来看屏幕上的2D事物,从而展现3 ...

  6. 手把手教你玩转CSS3 3D技术

    手把手教你玩转 CSS3 3D 技术   要玩转css3的3d,就必须了解几个词汇,便是透视(perspective).旋转(rotate)和移动(translate).透视即是以现实的视角来看屏幕上 ...

  7. 带你玩转Visual Studio

    带你玩转Visual Studio 带你新建一个工程 工程目录下各文件的含义 解决方案与工程 在这之前先了解一个概念:解决方案与工程. 解决方案(Solution):一个大型项目的整体的工作环境: 工 ...

  8. 完毕port(CompletionPort)具体解释 - 手把手教你玩转网络编程系列之三

       手把手叫你玩转网络编程系列之三    完毕port(Completion Port)具体解释                                                    ...

  9. wing带你玩转自定义view系列(1) 仿360内存清理效果

    本篇是接自 手把手带你做自定义view系列 宗旨都是一样,带大家一起来研究自定义view的实现,与其不同的是本系列省去了简单的坐标之类的讲解,重点在实现思路,用简洁明了的文章,来与大家一同一步步学习. ...

  10. 带你玩转Visual Studio——带你了解VC++各种类型的工程

    原文地址:http://blog.csdn.net/luoweifu/article/details/48816605 上一篇文章带你玩转Visual Studio——带你新建一个工程一文中提到新建一 ...

随机推荐

  1. 停止 Windows 11 更新的行之有效的办法,去掉 Windows Defender 实时监控(Win 11)

    用设置的方法,几乎无法达成目的.即使禁用 Windows 11 服务里的 "Windows 更新" 服务,系统也会自己将之改成手动,然后再打开. 先找到控制面板 -> 服务, ...

  2. 从零开始搭建antd4.x + react16 + redux4 + webpack4 + react-router5基础框架解析

    以上是2020年10月份的版本,后来,我将xmind进行了完善,文档也写的差不多了,可是,电脑坏了,硬盘换了,文件都没有了.这已经是第三次写这个文档了,思维导图就不更新了,按照几个重点进行说明. 这个 ...

  3. 管道channel

    管道 go语言中管道底层是一个环形队列(先进先出),写入(send)和 取出(recv)都是从同一个位置按照同一方向顺序执行. sendx表示最后一次插入元素位置,recvx表示最后一次取出元素的位置 ...

  4. Java 7之基础 - 强引用、弱引用、软引用、虚引用(转)

    载自:http://blog.csdn.net/mazhimazh/article/details/19752475 1.强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对 ...

  5. 基于Spark对消费者行为数据进行数据分析开发案例

    原创/朱季谦 本文适合入门Spark RDD的计算处理. 在日常工作当中,经常遇到基于Spark去读取存储在HDFS中的批量文件数据进行统计分析的案例,这些文件一般以csv或者txt文件格式存在.例如 ...

  6. 数据泄露成LLM应用最大障碍,如何用RPA Agent智能体破解谜题?

    大语言模型数据泄露堪忧,超自动化Agent成解决之道 数据泄露成LLM应用最大障碍,如何用RPA Agent智能体破解谜题? 从RPA Agent智能体安全机制,看AI Agent如何破解LLM应用安 ...

  7. 文心一言 VS 讯飞星火 VS chatgpt (134)-- 算法导论11.2 6题

    六.用go语言,假设将n 个关键字存储到一个大小为 m 且通过链接法解决冲突的散列表中,同时已知每条链的长度,包括其中最长链的长度 L,请描述从散列表的所有关键字中均匀随机地选择某一元素并在 O(L· ...

  8. 记一次 .NET 某券商论坛系统 卡死分析

    一:背景 1. 讲故事 前几个月有位朋友找到我,说他们的的web程序没有响应了,而且监控发现线程数特别高,内存也特别大,让我帮忙看一下怎么回事,现在回过头来几经波折,回味价值太浓了. 二:程序到底经历 ...

  9. 提升效率,打通万里牛ERP与下游用友U8财务软件的无缝对接

    一.对接流程 1.1 销售/售后流程 在万里牛订单出库后,通过轻易云数据集成平台将数据推送至用友U8销售订单和销售出库单,这些单据可以进行关联操作. 当万里牛售后单完成退货入库后,通过数据集成平台将数 ...

  10. 老是听到做PPT要会“内容可视化”,到底啥是内容可视化?

    在PPT中,内容可视化是指将文字.数据和概念等抽象信息转化为图像.图表.图表及其他可视化元素来呈现.通过合适的颜色.形状.大小和布局等视觉设计元素来强调信息的关键点和关系, 从而提高观众对信息的理解和 ...