希望大家通过本文的讲解对SIM卡的应用有更深入的了解,并掌握常见问题的解决方法。对以后遇到类似应用问题能更快上手,并帮助你解决实际问题,建议收藏以备后用!
本文同样适用于以下型号:
Air780EQ/Air780EPS/Air780EX
Air780E/Air201…
一、相关准备工作
1.1 硬件准备
-
合宙Air780EP全IO开发板一套,包括天线、SIM卡;
-
USB线
-
PC电脑
1.2 软件准备
-
串口工具
如果没有准备,推荐使用LLCOM:
https://llcom.papapoi.com -
AT固件下载
https://doc.openluat.com/article/5055
-
AT指令手册
https://doc.openluat.com/article/4985 -
烧录教程
https://doc.openluat.com/wiki/21?wiki_page_id=6072
本文示例烧录的AT固件版本为:
AirM2M_780EP_LTE_AT_V1007
推荐选用:相关型号固件名称后面数字版本号最高的最新版本进行调试。
二、SIM卡简介及应用示例
SIM(Subscriber Identity Module)卡——为用户识别模块,内部使用新式单片机及存储器管理结构,包含了大规模的集成电路,同时也称为用户识别卡。
通信设备通过SIM卡来识别其用户,只有设备插入SIM卡后才能入网使用;SIM卡接口用于和SIM卡进行通信。
下文为AT命令示例,如果不理解AT命令含义,可参考AT手册。
AT指令手册:
https://doc.openluat.com/article/4985
2.1 查询SIM是否在位示例
2.2 SIM卡热插拔示例
设置AT+CSDT命令,可以开启USIMDET引脚功能。
当AT+CSDT=1的时候,使能该引脚。此时配合SIM卡外围检测电路就能检测SIM卡在位状态,即插卡或掉卡。
2.3 SIM卡手动切换示例
本文示例中的SIM0对应开发板上的SIM1,SIM1对应开发板上的SIM2。
01)单卡状态:
如果只有SIM0接口上插入SIM卡时:
模块会去读取SIM0接口的卡信息去注册网络。
如果只有SIM1接口上插入SIM卡时:
需要通过手动输入AT+SIMCROSS指令将位置切换为SIM1,模块才能读取到SIM1接口的卡信息,然后去注册网络。
02)双卡状态:
如果SIM0接口和SIM1接口同时插入了SIM卡,默认会使用SIM0接口上的SIM卡。
如有需要,可通过AT+SIMCROSS指令,切换为SIM1接口上的SIM卡。
03)特别注意:
需要进入飞行模式进行卡切换,否则指令会报错。
-
进入飞行模式:AT+CFUN=0
-
退出飞行模式:AT+CFUN=1
04)单卡/双卡手动切换示例如下:
2.4 SIM卡自动切换示例
01)关机前设置使用的SIM0
-
只有SIM0卡:
不用切换直接使用(切换次数0) -
只有SIM1卡:
检测SIM0不在,切换到SIM1(切换次数1) -
SIM0和SIM1都在:
不用切换直接使用(次数0)
02)关机前设置使用的SIM1
-
只有SIM0卡:
切换到SIM0使用(切换次数1) -
只有SIM1卡:
切换到SIM0检测不在,再切换回SIM1(切换次数2) -
SIM0和SIM1都在:
到SIM1使用(切换次数1)
可根据AT+ECSIMCFG? 返回值中的SimSlot,来判断使用哪个卡进行网络通信。
三、常见问题Q&A
针对用户朋友们实际应用中的反馈,整理了如下常见问题:
3.1 无法识别SIM卡怎么办?
如果SIM卡无法识别,可按以下步骤进行:
先确认模块是否开机,AT指令能不能用:
发送:at+cpin?
返回:ready,则代表读到卡;
如果返回error,按以下几点排查:
-
SIM卡是不是OK,SIM卡方向有没插反;
-
每个脚对地用万用表,打到二级管档位量下,红接地,黑接每个管脚,值是400-500之间正常。
-
看模块与卡座之间连线有没有问题,引脚对地阻值是不是正常,引脚间有没短路, 原理图和PCB网络名与SIM卡座实物对不对,卡座是否接触良好,如果SIM卡一插入,VDD和CLK就对地短路,一般是卡座问题。
-
示波器测试下sim_vdd波形,有个1.8-3.3V的高电平跳变,如果波形正常,一般是卡座和模块引脚之间问题,要识别到卡,才会有电压输出。
-
如果是贴片卡,可以先拆下贴片卡,飞线到一个可以识别到卡的卡座到模块管脚,看下是否贴片卡问题。
3.2 专网卡访问白名单?
使用定向IP的物联网卡,需要把域名或IP加入白名单才能使用。
下面列出模块会访问的域名或IP服务器:
AT版本DNS服务器,
可以通过AT+CDNSCFG?查询默认的服务器;
如果需要修改,
可以通过AT+CDNSCFG=ip1,ip2进行修改。
3.3 怎么判断SIM卡是移动、联通,还是电信?
可以通过查询卡的IMSI来判断。IMSI共有15位数,其结构如下:
IMSI=MCC+MNC+MSIN
1)MCC移动国家码,共3位
Mobile Country Code
MCC的资源由国际电联(ITU)统一分配和管理,唯一识别移动用户所属的国家。
中国:460
2)MNC移动网络码,共2位
Mobile Network Code
中国移动:00、02、04、07、08
中国联通:01
中国电信:03、11
3)MSIN移动用户识别码,共10位
Mobile Subscriber Identification Number
AT命令获取IMSI方法: