EC200U SIM卡
- SIM卡是什么
- SIM卡分类
- Quecpython SIM库
- 调用
- 获取sim卡的状态
- 获取IMSI
- 获取ICCID
- 运行测试
我们物联网要用到SIM卡,这张卡是4G应用的基础,许多功能都需要用到SIM卡。买此类板子别忘了买SIM卡哦。
SIM卡是什么
SIM卡是(Subscriber Identity Module 客户识别模块)的缩写,也称为用户身份识别卡、智能卡,GSM数字移动电话机必须装上此卡方能使用。在电脑芯片上存储了数字移动电话客户的信息,加密的密钥以及用户的电话簿等内容,可供GSM网络客户身份进行鉴别,并对客户通话时的语音信息进行加密。
SIM卡分类
SIM 卡大体分三类,分别是 Mini 卡(大卡)、Micro 卡(小卡)、和 Nano 卡(微型卡)。现在手机集成度越来越高,一般使用 Nano 尺寸的 SIM 卡,py4GEC600 也是使用 Nano 卡槽接口
我们使用的是一般的手机卡,也就是移动、联通、电信发行的手机卡,并开通了 4G 上网功能。
Quecpython 集成了 SIM 卡的应用 python 库,将 SIM 卡插入EC200U就行了。
Quecpython SIM库
模块功能:提供sim卡操作相关API,如查询sim卡状态、iccid、imsi等。
注意:能成功获取IMSI、ICCID、电话号码的前提是SIM卡状态为1,可通过sim.getStatus()查询。
老规矩只选常用的,更多SIM 卡详细内容,点此查看官方文档。
调用
import sim
获取sim卡的状态
import sim
sim.getStatus() 获取sim卡的状态。
'''
参数
无
返回值
返回1 表示正常
'''
补充其他返回值
返回值 | 说明 |
---|---|
0 | SIM 卡被移除了 |
1 | SIM 卡准备好了 (我们平时用,只要显示1就行了) |
2 | Expecting the universal PIN./SIM is locked, waiting for a CHV1 password. |
3 | Expecting code to unblock the universal PIN./SIM is blocked, CHV1 unblocking password is required. |
4 | SIM is locked due to a SIM/USIM personalization check failure. |
5 | SIM is blocked due to an incorrect PCK; an MEP unblocking password is required. |
6 | Expecting key for hidden phone book entries. |
7 | Expecting code to unblock the hidden key. |
8 | SIM is locked; waiting for a CHV2 password. |
9 | SIM is blocked; CHV2 unblocking password is required. |
10 | SIM is locked due to a network personalization check failure. |
11 | SIM is blocked due to an incorrect NCK; an MEP unblocking password is required. |
12 | SIM is locked due to a network subset personalization check failure. |
13 | SIM is blocked due to an incorrect NSCK; an MEP unblocking password is required. |
14 | SIM is locked due to a service provider personalization check failure. |
15 | SIM is blocked due to an incorrect SPCK; an MEP unblocking password is required. |
16 | SIM is locked due to a corporate personalization check failure. |
17 | SIM is blocked due to an incorrect CCK; an MEP unblocking password is required. |
18 | SIM is being initialized; waiting for completion. |
19 | Use of CHV1/CHV2/universal PIN/code to unblock the CHV1/code to unblock the CHV2/code to unblock the universal PIN/ is blocked. |
20 | 无效 SIM 卡。 |
21 | 未知状态 |
获取IMSI
国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)。全球用于区分蜂窝网络中不同用户的、在所有蜂窝网络中不重复的识别码。返回一串由 MCC(国家代码)\MNC(运营商)\MSIN(卡识别码)组成的数字。
例如:
- 460082686506775
- MCC: 460 中华人民共和国
- MNC: 08 中国移动
- MSIN: 2686506775 用户识别号
中国移动的MNC为00、02、04和06,中国移动通信网络 08,中国联通的MNC为01、05、07,中国电信的MNC为03
sim.getImsi() #获取sim卡的imsi。
'''
参数
无
返回值
成功返回string类型的imsi,失败返回整型-1。
'''
获取ICCID
集成电路卡识别码即 SIM 卡卡号(ICCID:英文名叫做Integrate circuit card identity ),相当于手机号码的身份证。前 6 位对应的运营商代码:
- 中国移动的为:898600;898602;898604;898607 ,
- 中国联通的为:898601、898606、898609,
- 中国电信 898603、898611
如:898604-A6102191218475运营商为中国移动。
sim.getIccid() # 获取sim卡的iccid
'''
参数
无
返回值
成功返回string类型的iccid,失败返回整型-1。
'''
运行测试
别忘了把卡插到开发板上~
>>> import sim
>>> sim.getStatus() # SIM卡状态
1
>>> sim.getImsi()
'460082686506775' # Imsi
>>> sim.getIccid() # Iccid
'898604A6102191218475'
>>>