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

NetTools API

简介

NetTools组件为OneOS的各类网络组件提供公共的调试功能,目前只是为Molink组件的无线通讯模组提供接口信息查询、连通性测试ping、socket信息及状态查询等功能,后续会根据应用需要不断丰富NetTools组件的功能。NetTools组件目前主要对外提供ifconfig、ping、socketstat三个命令,也提供了对应的API供应用直接调用,需要说明的是这些接口都是基于Molink统一API实现,即依赖于Molink组件的相关功能。

NetTools API列表

接口名称 接口说明
module_show_info 查询无线模组信息接口
module_ping 无线模组ping测试接口
module_show_socket_stat 查看无线模组BSD socket信息和状态接口

NetTools API说明


module_show_info

模组对应的mo对象创建后,即创建了一个无线接口,如果该模组适配层实现了ifconfig相关信息查询接口,则同时配置NetTools组件和模组的IFCONFIG功能生效,即可使用ifconfig命令获取无线模组的相关接口信息,如接口name、IMEI、ICCID、CSQ、IPv4地址。用户可根据自己实际应用需要,增删改查相关信息。

void module_show_info(void);
参数 说明
void void
返回 说明

使用示例

A7600C1已适配实现ifconfig命令查询相关信息的接口,配置启用ifconfig operates

(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

NetTools组件配置使能ifconfig命令

(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)

退出配置工具并保存配置,重新生成工程并编译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 />

module_ping

模组对应的mo对象创建后,如果该模组适配层实现了ping测试功能接口,则同时配置NetTools组件和模组的PING功能生效,即可使用ping命令测试无线接口与其他网络的连通性,配置过程参考ifconfig。

void module_ping(char *target_name, os_uint32_t times, os_uint16_t size, os_uint32_t timeout);
参数 说明
target_name ping目标地址,域名或IPv4地址,如www.baidu.com、114.114.114.114
times ping包总次数,默认命令单次配置ping包个数为50个,用户可以配置修改
size ping每个包长度,默认64字节,可配置,支持范围由模组适配层进行校验
timeout 每个包的超时时间,默认是5000ms,可配置,支持范围由模组适配层进行校验
返回 说明

使用示例

A7600C1已适配实现ping命令测试模组接口与其他网络连通性,配置启用A7600X的ping operates和使能NetTools的ping features,执行ping命令即可。

ping命令的参数配置格式为:ping

sh />ping
Please input: ping <host address> <times[1,50]> <pkg_size> <timeout(sec)>
sh />
sh />ping www.baidu.com 4 64 10 
[0] 64 bytes from 183.232.231.174 icmp_seq=0 ttl=55 time=215 ms
[1] 64 bytes from 183.232.231.174 icmp_seq=1 ttl=55 time=85 ms
[2] 64 bytes from 183.232.231.174 icmp_seq=2 ttl=55 time=125 ms
[3] 64 bytes from 183.232.231.174 icmp_seq=3 ttl=55 time=85 ms

Ping statistics for 183.232.231.174 :
Packets: Sent = 4, Received = 4, Lost = 0, Mintime = 85 ms, Maxtime = 215 ms
sh />
sh />ping 8.8.8.8 4 64 10       
[0] 64 bytes from 8.8.8.8 icmp_seq=0 ttl=108 time=190 ms
[1] 64 bytes from 8.8.8.8 icmp_seq=1 ttl=108 time=115 ms
[2] 64 bytes from 8.8.8.8 icmp_seq=2 ttl=110 time=110 ms
[3] 64 bytes from 8.8.8.8 icmp_seq=3 ttl=108 time=110 ms

Ping statistics for 8.8.8.8 :
Packets: Sent = 4, Received = 4, Lost = 0, Mintime = 110 ms, Maxtime = 190 ms
sh />

module_show_socket_stat

模组对应的mo对象创建后,如果该模组适配层实现了Net TCP/IP功能接口并启用标准的BSD socket接口,则同时配置NetTools组件socket stat features功能生效,即可使用socketstat命令查看当前使用模组的BSD socket连接信息和状态,配置过程参考ifconfig。

void module_show_socket_stat(void);
参数 说明
void void
返回 说明

使用示例

A7600C1已适配实现Net TCP/IP相关接口和启用BSD socket功能,配置启用A7600X的TCP/IP operates和BSD socket operates,同时使能NetTools的socket stat features,执行socketstat命令即可查看A7600C1模组当前socket的连接信息和状态。

sh />socketstat    /* 初始状态 */

The max socket connections supported by module a7600x is 10

The connected socket status information list
----------------------------------------------------------------------------------------------------
index   socket    type      ip address        port    status          
  1               Unknown   0.0.0.0           0       Not create      
  2               Unknown   0.0.0.0           0       Not create      
  3               Unknown   0.0.0.0           0       Not create      
  4               Unknown   0.0.0.0           0       Not create      
  5               Unknown   0.0.0.0           0       Not create      
  6               Unknown   0.0.0.0           0       Not create      
  7               Unknown   0.0.0.0           0       Not create      
  8               Unknown   0.0.0.0           0       Not create      
  9               Unknown   0.0.0.0           0       Not create      
  10              Unknown   0.0.0.0           0       Not create      
----------------------------------------------------------------------------------------------------
sh />
sh />socketstat   /* 应用层分别建立5个TCP连接和UDP连接后再执行命令,为信息安全手动修改IP和端口信息 */

The max socket connections supported by module a7600x is 10

The connected socket status information list
----------------------------------------------------------------------------------------------------
index   socket    type      ip address        port    status          
  1     0         TCP       121.89.xxx.xxx    6xxx    Connect OK
  2     1         TCP       121.89.xxx.xxx    6xxx    Connect OK
  3     2         TCP       121.89.xxx.xxx    6xxx    Connect OK
  4     3         TCP       121.89.xxx.xxx    6xxx    Connect OK
  5     4         TCP       121.89.xxx.xxx    6xxx    Connect OK      
  6     5         UDP       121.89.xxx.xxx    6xxx    Connect OK      
  7     6         UDP       121.89.xxx.xxx    6xxx    Connect OK      
  8     7         UDP       121.89.xxx.xxx    6xxx    Connect OK      
  9     8         UDP       121.89.xxx.xxx    6xxx    Connect OK      
  10    9         UDP       121.89.xxx.xxx    6xxx    Connect OK      
----------------------------------------------------------------------------------------------------
sh />


常见问题

Q): 为何ping包长度较大时返回超时或错误,且很难返回成功?

A): 网络质量差是常见原因,尤其是NB类型模组,收发大数据包常会有严重丢包现象,不建议大量数据收发,若要进行大包测试,建议把超时时间配置大一些。

results matching ""

    No results matching ""

    返回顶部