net - 网络管理、信号查询、GSM网络状态查询、网络指示灯控制、临近小区信息查询
适用范围
| 层面 | 说明 |
|---|---|
| 运行环境 | LuatOS-Air 脚本框架,展锐 8910 平台(Air724UG / Air722UG / Air795UG / Air720UH 等) |
| 前提条件 | 需 SIM 卡与射频;查询类接口要求已驻网,未驻网时返回失败或默认值 |
| 不适用 | Air780E 及以后跑 LuatOS 的 Cat.1 模组;这些模组的同名库在 osapi 里是另一套接口,不能照抄 |
net.switchFly(mode)
设置飞行模式
注意:如果要测试飞行模式的功耗,开机后不要立即调用此接口进入飞行模式
在模块注册上网络之前,调用此接口进入飞行模式不仅无效,还会导致功耗数据异常
详情参考:http://doc.openluat.com/article/488/0
参数
| 名称 | 传入值类型 | 释义 |
|---|---|---|
| mode | bool | true:飞行模式开,false:飞行模式关 |
返回值
nil
例子
net.switchFly(mode)
net.getNetMode()
获取netmode
参数
无
返回值
number netMode,注册的网络类型
0:未注册
1:2G GSM网络
2:2.5G EDGE数据网络
3:3G TD网络
4:4G LTE网络
5:3G WCDMA网络
例子
net.getNetMode()
net.getState()
获取网络注册状态
参数
无
返回值
string state,GSM网络注册状态,
"INIT"表示正在初始化
"REGISTERED"表示已注册
"UNREGISTER"表示未注册
例子
net.getState()
net.getMcc()
获取当前小区的mcc
参数
无
返回值
string mcc,当前小区的mcc,如果还没有注册GSM网络,则返回sim卡的mcc
例子
net.getMcc()
net.getMnc()
获取当前小区的mnc
参数
无
返回值
string mcn,当前小区的mnc,如果还没有注册GSM网络,则返回sim卡的mnc
例子
net.getMnc()
net.getLac()
获取当前位置区ID
参数
无
返回值
string lac,当前位置区ID(16进制字符串,例如"18be"),如果还没有注册GSM网络,则返回""
例子
net.getLac()
net.getBand()
获取当前注册的网络频段
参数
无
返回值
string band,当前注册的网络频段,如果还没有注册网络,则返回""
例子
net.getBand()
net.getCi()
获取当前小区ID
参数
无
返回值
string ci,当前小区ID(16进制字符串,例如"93e1"),如果还没有注册GSM网络,则返回""
例子
net.getCi()
net.getRssi()
获取信号强度
当前注册的是2G网络,就是2G网络的信号强度
当前注册的是4G网络,就是4G网络的信号强度
参数
无
返回值
number rssi,当前信号强度(取值范围0-31)
例子
net.getRssi()
net.getRsrp()
4G网络信号接收功率
参数
无
返回值
number rsrp,当前信号接收功率(取值范围-140 - -40)
例子
net.getRsrp()
net.getCellInfo()
获取当前和临近位置区、小区以及信号强度的拼接字符串
参数
无
返回值
string cellInfo,当前和临近位置区、小区以及信号强度的拼接字符串,例如:"6311.49234.30;6311.49233.23;6322.49232.18;"
例子
net.getCellInfo()
net.getCellInfoExt(rssi)
获取当前和临近位置区、小区、mcc、mnc、以及信号的拼接字符串
参数
| 名称 | 传入值类型 | 释义 |
|---|---|---|
| rssi | bool | 可选参数,默认为nil 信号是否拼接功率,true表示功率,false或者nil表示强度表示强度时,信号的取值范围是0到31 表示功率时,信号的计算公式为 强度*2-113,取值范围为-113dB到-51dB |
返回值
string cellInfo,当前和临近位置区、小区、mcc、mnc、以及信号的拼接字符串,例如:
当rssi参数为true时,"460.01.6311.49234.-73;460.01.6311.49233.-67;460.02.6322.49232.-77;"
当rssi参数为false或者nil时,"460.01.6311.49234.30;460.01.6311.49233.23;460.02.6322.49232.18;"
例子
net.getCellInfoExt()
net.getTa()
获取TA值
参数
无
返回值
number ta,TA值
例子
net.getTa()
net.getMultiCell(cbFnc)
实时读取“当前和临近小区信息”
参数
| 名称 | 传入值类型 | 释义 |
|---|---|---|
| cbFnc | function | 回调函数,当读取到小区信息后,会调用此回调函数,回调函数的调用形式为: cbFnc(cells),其中cells为string类型,格式为:当前和临近位置区、小区、mcc、mnc、以及信号强度的拼接字符串,例如:"460.01.6311.49234.30;460.01.6311.49233.23;460.02.6322.49232.18;" |
返回值
nil
例子
无
net.cengQueryPoll(period)
发起查询基站信息(当前和临近小区信息)的请求
参数
| 名称 | 传入值类型 | 释义 |
|---|---|---|
| period | number | 查询间隔,单位毫秒 |
返回值
bool result, true:查询成功,false:查询失败
例子
net.cengQueryPoll() --查询1次
net.cengQueryPoll(60000) --每分钟查询1次
net.csqQueryPoll(period)
发起查询信号强度的请求
参数
| 名称 | 传入值类型 | 释义 |
|---|---|---|
| period | number | 查询间隔,单位毫秒 |
返回值
bool , true:查询成功,false:查询停止
例子
net.csqQueryPoll() --查询1次
net.csqQueryPoll(60000) --每分钟查询1次
net.startQueryAll(...)
设置查询信号强度和基站信息的间隔
参数
| 名称 | 传入值类型 | 释义 |
|---|---|---|
| ... | number | 查询周期,参数可变,参数为nil只查询1次,参数1是信号强度查询周期,参数2是基站查询周期 |
返回值
bool ,true:设置成功,false:设置失败
例子
net.startQueryAll()
net.startQueryAll(60000) -- 1分钟查询1次信号强度,只立即查询1次基站信息
net.startQueryAll(60000,600000) -- 1分钟查询1次信号强度,10分钟查询1次基站信息
net.stopQueryAll()
停止查询信号强度和基站信息
参数
无
返回值
无
例子
net.stopQueryAll()
net.setEngMode(mode)
设置工程模式
参数
| 名称 | 传入值类型 | 释义 |
|---|---|---|
| mode | number | 可选参数,默认为1 工程模式,目前仅支持0和1mode为0时,不支持临近小区查询,休眠时功耗较低 mode为1时,支持临近小区查询,但是休眠时功耗较高 |
返回值
nil
例子
net.setEngMode(0)