跳转至

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和1
mode为0时,不支持临近小区查询,休眠时功耗较低
mode为1时,支持临近小区查询,但是休眠时功耗较高

返回值

nil

例子

net.setEngMode(0)

搜索