SIM卡信息查询与设置
本文档介绍了SIM卡信息查询的相关指令
SIM卡信息查询
查询IMSI信息
通过AT+CIMI
指令查询IMSI
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+CIMI |
<IMSI> OK |
参数定义:
参数 | 定义 | 取值说明 |
---|---|---|
<IMSI> |
国际移动台用户识别码(International Mobile Subscriber Identity) | 由15位数字组成 |
举例:
发送/返回 | 实例 | 说明 |
---|---|---|
发送 | AT+CIMI |
查询IMSI号 |
返回 | 460115883032649 OK |
返回查询结果 |
查询ICCID信息
通过AT+ICCID
指令查询SIM卡ICCID号码
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+ICCID |
+ICCID:<iccid> OK |
参数定义:
参数 | 定义 | 取值说明 |
---|---|---|
<ICCID> |
产品ICCID号(Integrated circuit card identity , 集成电路卡识别码) | 一般由20位数字组成 |
举例:
发送/返回 | 实例 | 说明 |
---|---|---|
发送 | AT+ICCID |
查询SIM卡ICCID号 |
返回 | +ICCID: 89861122050211045494 OK |
返回查询结果 |
查询手机号码
执行AT+CNUM
命令返回存储在USIM中的与用户相关的MSISDNs(最多4个)。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
执行命令 | AT+CNUM |
[+CNUM: [<alpha>],<number>,<type>] [+CNUM: [<alpha>],<number>,<type>] […] OK |
参数定义:
参数 | 取值 |
---|---|
<alpha> |
可选的字母数字字符串与<number> 关联 |
<number> |
电话号码,格式由<type> 决定 |
<type> |
地址类型的整数格式(参考3GPP TS24.008 subclause 10.5.4.7), 例如: 129 未知类型 145 国际类型(国际接入码使用“+”) 161 国家类型 |
举例:
发送/返回 | 实例 | 说明 |
---|---|---|
发送 | AT+CNUM |
请求用户号码 |
返回 | +86…… OK |
查询到的电话号码(号码查询依靠SIM卡存储信息,大部分SIM卡查询不到) |
查询SIM卡状态
通过AT+CPIN?
查询SIM卡PIN码状态
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
设置命令 | AT+CPIN? |
+CPIN: <code> OK |
参数定义:
参数 | 定义 | 取值 | 取值说明 |
---|---|---|---|
<code> |
READY | ME不再需要提供密码 | |
SIM PIN | ME等待提供SIM卡的PIN码 | ||
SIM PUK | ME等待提供SIM卡的PUK码 | ||
SIM PIN2 | ME等待提供SIM卡的PIN2码 | ||
SIM PUK2 | ME等待提供SIM卡的PUK2码 | ||
SIM REMOVED | SIM卡未检出 |
举例:
发送/返回 | 实例 | 说明 |
---|---|---|
发送 | AT+CPIN? |
查询PIN码锁状态 |
返回 | +CPIN: READY OK |
表示PIN码锁并未开启 |
查询当前SIM卡卡槽ID
参考下文查询SIM卡在位章节中的<simslot>
参数
查询SIM卡在位
通过AT*SIMDETEC
命令用来检测某个插槽的SIM卡是否在位。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
设置命令 | AT*SIMDETEC=<simslot> |
*SIMDETEC: <simslot>,<state> OK |
参数定义:
参数 | 定义 | 取值 | 取值说明 |
---|---|---|---|
<simslot> |
sim卡槽 | 1 | 主sim卡 |
2 | 备用sim卡(暂不支持) | ||
<state> |
SIM卡状态 | NOS | SIM卡不存在 |
SIM |
SIM卡已插入 |
举例:
发送/返回 | 实例 | 说明 |
---|---|---|
发送 | AT*SIMDETEC=1 |
|
返回 | *SIMDETEC: 1, NOS OK |
SIM卡不在位 |
SIM卡设置
切换SIM卡槽
通过AT+SIMCROSS
指令进行SIM卡切换
模块模块开机后首先会去查询SIM1 接口上是否有插入SIM 卡,如果检测到SIM1 接口上的SIM 卡,就会读取SIM1 接口的卡信息去注册网络;
如果SIM1 接口上没有检测到SIM 卡,则会再去检测SIM2 接口上是否有SIM 卡,如果检测到SIM2 接口上的SIM 卡,就会读取SIM2接口的卡信息去注册网络;
如果SIM2 接口上也没有检测到SIM卡,则会报错:未插入SIM 卡;
SIM1 接口和 SIM2 接口如果同时插入了SIM卡,默认会使用 SIM1 接口上的SIM卡,同时也可以通过AT+SIMCROSS 这个指令来切换。
语法规则:
命令类型 | 语法 | 返回 |
---|---|---|
设置命令 | AT+SIMCROSS=<id> |
OK |
查询命令 | AT+SIMCROSS? |
+SIMCROSS:<id> OK |
注意事项 | 本命令关机保存,但是需重启生效 EC716S需要进飞行模式下进行卡切换(进入飞行模式(AT+CFUN=0 ),切换卡,退出飞行模式(AT+CFUN=1 )) |
参数定义:
参数 | 定义 | 取值 | 取值说明 |
---|---|---|---|
<id> |
SIM No. | 0 | SIM卡1 |
1 | SIM卡2或内置贴片卡 |
举例:
实例 | 说明 | |
---|---|---|
发送 | AT+CFUN=0 |
进入飞行模式 |
返回 | OK |
|
发送 | AT+SIMCROSS? |
查询SIM卡位置 |
返回 | +SIMCROSS:0 OK |
SIM卡位置为1 |
发送 | AT+SIMCROSS=1 |
切换成内置贴片卡或SIM卡1 |
返回 | OK |
|
发送 | AT+CFUN=1 |
退出飞行模式 |
返回 | OK |
设置SIM卡在位硬件检测
通过AT+CSDT
指令开启或关闭 USIM 卡在位检测功能,该命令的设置命令可以开启USIM_CD这个引脚的功能。当AT+CSDT=1的时候,使能该引脚。此时配合SIM卡外围检测电路就能检测SIM卡在位状态,即插卡或掉卡。
语法规则:
命令类型 | 语法 | 返回和说明 |
---|---|---|
设置命令 | AT+CSDT=<mode> |
OK |
查询命令 | AT+CSDT? |
+CSDT:<mode> OK |
参数定义:
参数 | 定义 | 取值 | 取值说明 |
---|---|---|---|
<mode> |
SIM在位检测的开启状态 | 0 | 关闭SIM卡在位检测 |
1 | 开启SIM卡在位检测 |
注意事项:
当检测到SIM卡在位的时候,立刻会有一个URC 上报:+CPIN: READY
当检测到SIM卡不在位的时候,立刻会有一个URC 上报:+CPIN: SIM REMOVED
如果需要关机保存,请输入AT+CSDT=<mode>;&W
AT+CSDT=1
:默认上升沿触发,不插卡是低,插入卡是高电平
AT+CSDT=1,0
:可以配置下降沿触发,不插卡是高,插入卡是低电平
AT+CSDT=1,1
:可以配置上升沿触发,不插卡是低,插入卡是高电平
举例:
发送/返回 | 实例 | 说明 |
---|---|---|
发送 | AT+CSDT? |
查询SIM卡在位硬件检测 |
返回 | +CSDT: 1 |
已开启SIM卡在位检测 |
发送 | AT+CSDT=0 |
设置关闭SIM卡在位检测 |
返回 | OK |
|
发送 | AT+CSDT? |
查询SIM卡在位硬件检测 |
返回 | +CSDT: 0 |
已关闭SIM卡在位检测 |
SIM卡软硬切换(仅V61版本适用)
通过AT+VSIMMODE
命令可以切换实体卡和VSIM
语法规则:
命令类型 | 语法 | 说明 |
---|---|---|
执行命令 | AT+VSIMMODE=2,0,0 |
切换到VSIM |
AT+VSIMMODE=1,0,0 |
切换到实体卡 |
举例:
发送/返回 | 实例 | 说明 |
---|---|---|
发送 | AT+VSIMMODE=2,0,0 |
切换到VSIM |
返回 | OK |