全部文档
OneOS简介 硬件支持 快速开发指南 编译构造工具 API参考文档 高级语言 用户编程手册 OnePos定位 应用笔记 FAQ

NetTools 网络接口调试功能组件


简介

通过网络连接实现设备之间的互联互通是物联网应用的核心,当前物联网设备普遍通过通信模组连接到网络中,通信模组在物联网应用中扮演着不可或缺的角色。在物联网应用开发时,不可避免需要调试网络接口相关组件,对于同类任务开发和调试过程,其中关注的调试手段和调试关注的信息都相近。NetTools组件就是集合各类网络组件相对公共的调试功能,方便开发调试的同时,也提供相关信息用于BUG定位。目前NetTools组件仅实现了查询无线模组的接口信息功能、ping测试功能和查看BSD socket连接信息和状态功能,未来会根据实际需要丰富NetTools组件的功能。

代码结构

NetTools组件源代码相对路径为.\components\net\tools,结构如下表所示:

目录 说明
tool.c 各网络组件接口调试功能源码
tool.h 各网络组件调试功能对外接口
Kconfig 功能应用配置文件

功能介绍

根据物联网当前实际的场景中主要是以单无线接口连接为主导,操作系统硬件资源相对非常紧张,且接口信息及状态等的管理功能是非绝对必需的特点考虑,NetTools组件当前主要功能说明如下:

1、仅针对单无线模组的接口信息、状态等提供相应的查询功能,不集合LWIP和WIZnet这类非无线接口管理功能,暂时不考虑多模组统一管理及接口切换等需求;

2、提供一套统一的调试命令供用户调用命令包含ifconfig、ping、socketstat,每个功能命令都可根据用户实际需求配置裁剪;

3、ifconfig获取及展示接口的基本信息,模组接口包含名称、IPv4地址、IMEI号、ICCID、信号质量,WIFI模组包含名称、模式、状态、IPv4地址等;

4、ping测试网络连通性,可配置ping目的地址、包数量、包大小、超时时间,由于系统目前不支持在ping包过程中使用CTRL+C组合键随时结束ping包,因此要求ping包数量上限为可配置设置,默认单次命令配置最大ping 50个包;

5、socketstat获取及展示模组 BSD socket的状态及连接信息,如server IP地址、端口号、socket类型、连接状态;

以上为目前已实现的主要调试功能点,后续会根据实际需要丰富其他公共的调试功能。

工作流程

应用层直接调用ifconfig、ping、socketstat CLI命令,命令通过tools接口层调用modules api,执行对应操作并将结果最终返回给应用层,应用层最终展示相关信息及操作结果。用户也可以在应用需要的时候直接调用tool.h的对外接口,使用相关功能。

使用说明

图形化配置

使用NetTools组件可以通过Menuconfig的图形化工具进行配置选择,配置的路径如下所示:

(Top) → Components→ Network→ Tools
                                                  OneOS Configuration
[*] Enable AT module network debug functions
[*]     Enable module ifconfig features (NEW)
[*]     Enable module ping features (NEW)
(50)        The maximum times of module ping cmd config (NEW)
[*]     Enable module socket stat features (NEW)

在enable debug功能后,会出现enable ifconfig、ping、socket stat features的选项,可以通过配置选择是否启用对应功能。其中ping功能可配置单次ping命令ping包数上限值,默认为50,如果需要做长ping操作,可修改上限值即可。NetTools组件以上功能是依赖于统一的Molink API实现,并且相关功能必须为对应的模组支持且适配,当NetTools组件启用相关功能,则需要对应在模组适配层也启用该功能才能使整个功能正常。

以使用NetTools组件的ifconfig功能查看模组A7600C1的接口信息为例,首先NetTools组件enable ifconfig features,然后进入A7600C1的配置菜单,选择启用ifconfig operate:

(Top) → Components→ Network→ Molink→ Enable IoT modules support → Module→ 4G CAT1 Modules Support→ A7600X → A7600X Config
                                                  OneOS Configuration
[*] Enable A7600X Module Object Auto Create
(uart2) A7600X Interface Device Name (NEW)
(115200) A7600X Interface Device Rate (NEW)
(1500)  The maximum length of AT command data accepted (NEW)
-*- Enable A7600X Module General Operates (NEW)
-*- Enable A7600X Module Network Service Operates (NEW)
[*] Enable A7600X Module Ping Operates (NEW)
[*] Enable A7600X Module Ifconfig Operates (NEW)
-*- Enable A7600X Module Network TCP/IP Operates (NEW)
[*] Enable A7600X Module BSD Socket Operates

以上配置完成后退出并保存配置,重新生成工程后,编译OneOS bin包运行即可通过ifconfig命令查看模组A7600C1的接口信息:

sh />ifconfig

LIST AT MODULE INFORMATION
--------------------------------------------------------------------------------
Module Name    : a7600x
IMEI   Number  : 864424041943660
ICCID  Number  : 89860446101980587174
Signal Quality : rssi(31), ber(99)
IPv4   Address : 100.124.32.4
--------------------------------------------------------------------------------
sh />

如果应用层想获取相关功能能力,则在启用对应功能后,包含tool.h正确调用相关接口即可。

关于各类接口详细的说明可以参考NetTools组件API使用说明手册。

注意事项

results matching ""

    No results matching ""

    返回顶部