@[TOC]
# net
模块功能:网络管理、信号查询、GSM网络状态查询、网络指示灯控制、临近小区信息查询
## net.switchFly(mode)
设置飞行模式
注意:如果要测试飞行模式的功耗,开机后不要立即调用此接口进入飞行模式
在模块注册上网络之前,调用此接口进入飞行模式不仅无效,还会导致功耗数据异常
详情参考:http://doc.openluat.com/article/488/0
* 参数
|名称|传入值类型|释义|
|-|-|-|
|mode|bool|true:飞行模式开,false:飞行模式关|
* 返回值
nil
* 例子
```lua
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网络
* 例子
```lua
net.getNetMode()
```
---
## net.getState()
获取网络注册状态
* 参数
无
* 返回值
string state,GSM网络注册状态,
"INIT"表示正在初始化
"REGISTERED"表示已注册
"UNREGISTER"表示未注册
* 例子
```lua
net.getState()
```
---
## net.getMcc()
获取当前小区的mcc
* 参数
无
* 返回值
string mcc,当前小区的mcc,如果还没有注册GSM网络,则返回sim卡的mcc
* 例子
```lua
net.getMcc()
```
---
## net.getMnc()
获取当前小区的mnc
* 参数
无
* 返回值
string mcn,当前小区的mnc,如果还没有注册GSM网络,则返回sim卡的mnc
* 例子
```lua
net.getMnc()
```
---
## net.getLac()
获取当前位置区ID
* 参数
无
* 返回值
string lac,当前位置区ID(16进制字符串,例如"18be"),如果还没有注册GSM网络,则返回""
* 例子
```lua
net.getLac()
```
---
## net.getBand()
获取当前注册的网络频段
* 参数
无
* 返回值
string band,当前注册的网络频段,如果还没有注册网络,则返回""
* 例子
```lua
net.getBand()
```
---
## net.getCi()
获取当前小区ID
* 参数
无
* 返回值
string ci,当前小区ID(16进制字符串,例如"93e1"),如果还没有注册GSM网络,则返回""
* 例子
```lua
net.getCi()
```
---
## net.getRssi()
获取信号强度
当前注册的是2G网络,就是2G网络的信号强度
当前注册的是4G网络,就是4G网络的信号强度
* 参数
无
* 返回值
number rssi,当前信号强度(取值范围0-31)
* 例子
```lua
net.getRssi()
```
---
## net.getRsrp()
4G网络信号接收功率
* 参数
无
* 返回值
number rsrp,当前信号接收功率(取值范围-140 - -40)
* 例子
```lua
net.getRsrp()
```
---
## net.getCellInfo()
获取当前和临近位置区、小区以及信号强度的拼接字符串
* 参数
无
* 返回值
string cellInfo,当前和临近位置区、小区以及信号强度的拼接字符串,例如:"6311.49234.30;6311.49233.23;6322.49232.18;"
* 例子
```lua
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;"
* 例子
```lua
net.getCellInfoExt()
```
---
## net.getTa()
获取TA值
* 参数
无
* 返回值
number ta,TA值
* 例子
```lua
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:查询失败
* 例子
```lua
net.cengQueryPoll() --查询1次
net.cengQueryPoll(60000) --每分钟查询1次
```
---
## net.csqQueryPoll(period)
发起查询信号强度的请求
* 参数
|名称|传入值类型|释义|
|-|-|-|
|period|number|查询间隔,单位毫秒|
* 返回值
bool , true:查询成功,false:查询停止
* 例子
```lua
net.csqQueryPoll() --查询1次
net.csqQueryPoll(60000) --每分钟查询1次
```
---
## net.startQueryAll(...)
设置查询信号强度和基站信息的间隔
* 参数
|名称|传入值类型|释义|
|-|-|-|
|...|number|查询周期,参数可变,参数为nil只查询1次,参数1是信号强度查询周期,参数2是基站查询周期|
* 返回值
bool ,true:设置成功,false:设置失败
* 例子
```lua
net.startQueryAll()
net.startQueryAll(60000) -- 1分钟查询1次信号强度,只立即查询1次基站信息
net.startQueryAll(60000,600000) -- 1分钟查询1次信号强度,10分钟查询1次基站信息
```
---
## net.stopQueryAll()
停止查询信号强度和基站信息
* 参数
无
* 返回值
无
* 例子
```lua
net.stopQueryAll()
```
---
## net.setEngMode(mode)
设置工程模式
* 参数
|名称|传入值类型|释义|
|-|-|-|
|mode|number|**可选参数,默认为`1`** 工程模式,目前仅支持0和1
mode为0时,不支持临近小区查询,休眠时功耗较低
mode为1时,支持临近小区查询,但是休眠时功耗较高|
* 返回值
nil
* 例子
```lua
net.setEngMode(0)
```
---