网络工具集(NetUtils)使用指南
在进行网络相关的产品开发和调试时,一些好用的小工具往往能取到事半功倍的效果。
RTT NetUtils组件基于此应用场景,开发和封装了一系列简洁好用的工具集合,为开发者提供便利。
为了方便用户开发网络应用,RTT将常用的网络工具制作NetUtils组件包,通过Env动态配置,即开即用,有效降低资源的占用。
NetUtils组件简介
RTT NetUtils作为网络工具合集,既有用于测试调试的ping命令,同步时间的NTP工具,性能和带宽测试的Iperf、NetIO,还有在嵌入式系统中广泛使用的轻量级文件传输工具TFTP,方便地通过网络完成两个设备间的文件互传,可以远程登录的RTT Finsh/MSH Shell的Telnet工具,以及基于LWIP的网络抓包工具tcpdump。
- Ping:利用ping命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障
- NTP:网络时间协议
- TFTP:TFTP是一个传输文件的简单协议,比FTP还要轻量级
- Iperf:测试最大TCP和UDP带宽性能,可以报告带宽、延迟抖动和数据包丢失
- NetIO:测试网络的吞吐量的工具
- Telnet:可以远程登录到RTT的FinSH/MSH Shell
- tcpdump:tcpdump 是 RT-Thread 基于 lwIP 的网络抓包工具
每个小工具可使用menuconfig独立控制启用/停用,并提供了Finsh/MSH的使用命令。
首先打开 Env 工具,进入 BSP 目录,在 Env 命令行输入 menuconfig 进入配置界面配置工程,根据需求选择合适的 NetUtils 功能,如图所示
Ping和TFTP依赖于Lwip,需要先开启LWIP的依赖后才能显示
NTP
NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机时间的协议。
在RTT上实现了NTP客户端,连接上网络后,可以获取当前UTC时间,并更新至RTC中。
UTC时间又称世界统一时间、世界标准时间、国际协调时间。
北京时间为UTC+8时间,比UTC时间多8小时,或者理解为早8小时。
获取UTC时间函数原型为:time_t npt_get_time(void),返回值大于0则获取时间成功,等于0失败。
NTP API方法执行时会占用较多的线程堆栈,使用时保证堆栈空间充足。
TFTP
TFTP(Trival File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,端口号为69,比传统的FTP协议要轻量级很多,适用于小型的嵌入式产品上。
RT-Thread目前支持的是TFTP服务器。
TFTP工具依赖Lwip,需要先在Env工具开启Lwip的依赖才可见。