跳转至

sim - 查询sim卡状态、iccid、imsi、mcc、mnc

适用范围

层面 说明
运行环境 LuatOS-Air 脚本框架,展锐 8910 平台(Air724UG / Air722UG / Air795UG / Air720UH 等)
前提条件 需 SIM 卡槽且已插卡
接口差异 sim.getId / sim.setId 只对双卡单待机型有意义,单卡机型固定为 0
不适用 Air780E 及以后跑 LuatOS 的 Cat.1 模组;这些模组的同名库在 osapi 里是另一套接口,不能照抄

sim.getIccid()

获取sim卡的iccid

参数

无

返回值

string ,返回iccid,如果还没有读取出来,则返回nil

例子

-- 注意:开机lua脚本运行之后,会发送at命令去查询iccid,所以需要一定时间才能获取到iccid。开机后立即调用此接口,基本上返回nil
sim.getIccid()

sim.getImsi()

获取sim卡的imsi

参数

无

返回值

string ,返回imsi,如果还没有读取出来,则返回nil

例子

-- 开机lua脚本运行之后,会发送at命令去查询imsi,所以需要一定时间才能获取到imsi。开机后立即调用此接口,基本上返回nil
sim.getImsi()

sim.getMcc()

获取sim卡的mcc

参数

无

返回值

string ,返回值:mcc,如果还没有读取出来,则返回""

例子

-- 注意:开机lua脚本运行之后,会发送at命令去查询imsi,所以需要一定时间才能获取到imsi。开机后立即调用此接口,基本上返回""
sim.getMcc()

sim.getMnc()

获取sim卡的getmnc

参数

无

返回值

string ,返回mnc,如果还没有读取出来,则返回""

例子

-- 注意:开机lua脚本运行之后,会发送at命令去查询imsi,所以需要一定时间才能获取到imsi。开机后立即调用此接口,基本上返回""
sim.getMnc()

sim.getStatus()

获取sim卡的状态

参数

无

返回值

bool ,true表示sim卡正常,false或者nil表示未检测到卡或者卡异常

例子

-- 开机lua脚本运行之后,会发送at命令去查询状态,所以需要一定时间才能获取到状态。开机后立即调用此接口,基本上返回nil
sim.getStatus()

sim.setQueryNumber(flag)

设置“是否打开查询本机号码”的功能

参数

名称 传入值类型 释义
flag bool 开启或者关闭查询功能的标志,false或者nil为关闭,其余为开启

返回值

nil

例子

sim.setQueryNumber(true)

sim.getNumber()

获取sim卡的本机号码

参数

无

返回值

string ,返回值:sNumber,如果还没有读取出来或者读取失败,则返回""

例子

-- 注意:开机lua脚本运行之后,会发送at命令去查询本机号码,所以需要一定时间才能获取到本机号码。开机后立即调用此接口,基本上返回""
-- 注意:此功能需要卡商支持,卡商必须把卡写到sim卡中,模块才能从卡中读出号码;目前市场上的很多卡,没有写入号码,是无法读取得
sim.getNumber()

sim.setId(id, cbFnc)

设置双卡单待sim id

参数

名称 传入值类型 释义
id number 双卡单待的simid,仅支持0和1
cbFnc function 可选参数,默认为nil 设置结果回调函数,回调函数的调用形式为:
cnFnc(result),result为true表示成功,false或者nil为失败

返回值

nil

例子

sim.setId(0)
sim.setId(1,cbFnc)

sim.getId()

获取目前设置的双卡单待id

参数

无

返回值

number ,返回id(0或者1),如果还没有读取出来,则返回nil

例子

-- 注意:开机lua脚本运行之后,会发送at命令去查询id,所以需要一定时间才能获取到id。开机后立即调用此接口,基本上返回nil
sim.getId()

搜索