概述
参数 返回值 参数 返回值 参数 返回值 启用sim卡PIN码验证,开启后需要输入正确的PIN验证成功后,sim卡才能正常使用。只有3次输入PIN码机会,3次都错误,sim卡被锁定,需要PUK来解锁。 成功返回整型0,失败返回整型-1。 sim卡解锁。当多次错误输入 PIN/PIN2 码后,SIM 卡状态为请求 PUK/PUK2 时,输入 PUK/PUK2 码和新的 PIN/PIN2 码进行解锁,puk码输入10次错误,SIM卡将被永久锁定自动报废。 模块功能:提供数据拨号相关接口。 我的模块是自动拨号上网的, 我也不知道中国电信的apn该怎么设???????????? 返回值 ipType =0,返回值格式如下: ipType =1,返回值格式如下: (profileIdx, ipType, [nwState, reconnect, ipv6Addr, priDns, secDns]) ipType =2,返回值格式如下: (profileIdx, ipType, [nwState, reconnect, ipv4Addr, priDns, secDns], [nwState, reconnect, ipv6Addr, priDns, secDns]) 用户apn信息配置接口,用户调用该接口后,会在用户分区目录下创建user_apn.json文件,用于保存用户apn信息,并使用该apn信息启动拨号,进行数据链路激活 注册用户回调函数,当网络状态发生变化,比如断线、上线时,会通过该回调函数通知用户 成功返回整型的csq信号强度值,失败返回整型值-1,返回值为99表示异常; 失败返回整型值-1,成功返回一个元组,包含两个List(GW 、LTE),返回值格式如下: ([rssi, bitErrorRate, rscp, ecno], [rssi, rsrp, rsrq, cqi]) 返回值参数说明: 成功返回当前SIM模式: 失败返回整型值-1,成功返回一个元组,包含基站时间与对应时间戳与闰秒数(0表示不可用) 格式为: (long_eons, short_eons, mcc, mnc) 失败返回整型值-1,成功返回一个元组,包含注网的网络注册信息. 格式为: state :网络注册状态 成功返回一个list类型的数组,包含小区id,格式为:[id, ……, id]。数组成员数量并非固定不变,位置不同、信号强弱不同等都可能导致获取的结果不一样。 成功返回一个list类型的数组,包含小区mnc,格式为:[mnc, ……, mnc]。数组成员数量并非固定不变,位置不同、信号强弱不同等都可能导致获取的结果不一样。 成功返回一个list类型的数组,包含小区mcc,格式为:[mcc, ……, mcc]。数组成员数量并非固定不变,位置不同、信号强弱不同等都可能导致获取的结果不一样。 成功返回一个list类型的数组,包含小区lac,格式为:[lac, ……, lac]。数组成员数量并非固定不变,位置不同、信号强弱不同等都可能导致获取的结果不一样。 失败返回整型值-1,成功返回包含三种网络系统(GSM、UMTS、LTE)的信息的list,如果对应网络系统信息为空,则返回空的List。返回值格式如下: 失败返回整型值-1,成功返回一个元组,包含当前首选的网络制式与漫游打开状态。 失败返回整型值-1,成功返回一个元组,格式为:(selection_mode, mcc, mnc, act) 返回值参数说明: selection_mode :方式,0 - 自动,1 - 手动 mcc :移动设备国家代码 mnc :移动设备网络代码 act :首选网络的ACT模式 模块功能:checkNet模块主要用于【开机自动运行】的用户脚本程序,该模块提供API用来阻塞等待网络就绪,如果超时或者其他异常退出会返回错误码,所以如果用户的程序中有涉及网络相关的操作,那么在用户程序的开始应该调用 checkNet 模块中的方法以等待网络就绪。 创建checkNet对象。PROJECT_NAME 和 PROJECT_VERSION 是必须有的两个全局变量,用户可以根据自己的需要修改这两个变量的值。 开机时打印一些信息,主要用于提示用户。打印内容如下: 阻塞等待网络就绪。超时时间内,只要检测到拨号成功,则会立即返回,否则阻塞到超时时间到才会退出。 我们把下面的代码写入 提供基站定位接口,获取坐标信息 注意: 此功能是收费功能一. sim --SIM卡模块
import sim
1. 获取sim卡的imsi
sim.getImsi()
无
成功返回string类型的imsi,失败返回整型-1。2. 获取sim卡的iccid
sim.getIccid()
无
成功返回string类型的iccid,失败返回整型-1。3. 获取sim卡的电话号
sim.getPhoneNumber()
无
成功返回string类型的phone number,失败返回整型-1。4. 获取sim卡的状态
sim.getStatus()
5. 启用sim卡PIN码验证
sim.enablePin(pin)
6. 关闭sim卡PIN码验证
sim.disablePin(pin)
7. sim卡PIN码验证
sim.verifyPin(pin)
8. sim卡解锁
sim.unblockPin(puk, newPin)
9. 更改sim卡PIN码
sim.changePin(oldPin, newPin)
10. 获取 SIM 卡上指定电话本中的一条或多条电话号码记录
sim.readPhonebook(storage, start, end, username)
11. 写入一条电话号码记录
sim. writePhonebook(storage, index, username, number)
二. dataCall - 数据拨号
import dataCall
1. 启动拨号,进行数据链路激活
dataCall.start(profileIdx, ipType, apn, username, password, authType)
#举例:
dataCall.start(1, 0, "3gnet.mnc001.mcc460.gprs", "", "", 0)
2. 获取数据拨号信息
dataCall.getInfo(profileIdx, ipType)
错误返回整型-1,成功返回拨号信息,返回格式根据ipType的不同而有所区别:
(profileIdx, ipType, [nwState, reconnect, ipv4Addr, priDns, secDns])3. apn信息配置接口
dataCall.setApn(profileIdx, ipType, apn, username, password, authType)
4. 用户回调函数
dataCall.setCallback(usrFun)
>>> import dataCall
>>> import net
>>> def nw_cb(args):
pdp = args[0]
nw_sta = args[1]
if nw_sta == 1:
print("*** network %d connected! ***" % pdp)
else:
print("*** network %d not connected! ***" % pdp)
>>> dataCall.setCallback(nw_cb)
0
>>> net.setModemFun(4) # 进入飞行模式
0
>>> *** network 1 not connected! *** # 进入飞行模式导致断网,通过回调告知用户
>>> net.setModemFun(1) # 退出飞行模式
0
>>> *** network 1 connected! *** # 退出飞行模式,自动拨号,等待联网成功,通过回调告知用户
三. net - 网络相关功能
1. 获取csq信号强度
net.csqQueryPoll()
信号强度值范围0~31,值越大表示信号强度越好。2. 获取详细信号强度
net.getSignal()
3. 获取当前工作模式模式
net.getModemFun()
0 :全功能关闭
1 :全功能开启(默认)
4 :飞行模式
失败返回整型值-1。4. 设置当前SIM模式
net.setModemFun(function, rst)
5. 获取当前基站时间
net.nitzTime()
6. 获取当前注网的运营商信息
net.operatorName()
7. 获取当前网络注册信息
net.getState()
([voice_state, voice_lac, voice_cid, voice_rat, voice_reject_cause, voice_psc], [data_state, data _lac, data _cid, data _rat, data _reject_cause, data _psc])
lac :位置区码
cid :int类型id信息
rat :注网制式
reject_cause :注册被拒绝的原因
psc :Primary Scrambling Code8. 获取附近小区ID
net.getCi()
失败返回整型值-1。9. 获取附近小区的mnc
net.getMnc()
失败返回整型值-110. 获取附近小区的mcc
net.getMcc()
失败返回整型值-111. 获取附近小区的Lac
net.getLac()
失败返回整型值-112. 获取邻近基站的信息
net.getCellInfo()
([(flag, cid, mcc, mnc, lac, arfcn, bsic, rssi)], [(flag, cid, licd, mcc, mnc, lac, arfcn, bsic, rssi)], [(flag, cid, mcc, mnc, pci, tac, earfcn, rssi),...])
13. 获取当前网络模式、漫游配置
net.getConfig()
14. 设置网络模式、漫游配置
net.setConfig(mode, roaming)
15. 获取网络配置模式
net.getNetMode()
四. checkNet - 等待网络就绪
import checkNet
1. 创建checkNet.CheckNetwork 对象
import checkNet
PROJECT_NAME = "QuecPython_Math_example"
PROJECT_VERSION = "1.0.0"
checknet = checkNet.CheckNetwork(PROJECT_NAME, PROJECT_VERSION)
2.开机时打印一些信息
checknet.poweron_print_once()
PROJECT_NAME : 用户项目名称 PROJECT_VERSION : 用户项目版本号 FIRMWARE_VERSION : 固件版本号 POWERON_REASON : 开机原因 SIM_CARD_STATUS : SIM卡状态3. 阻塞等待网络就绪
checknet.wait_network_connected(timeout)
4. 举例: 开机注网耗时统计
main.py
, 使其开机运行import checkNet
import utime
PROJECT_NAME = "熊爸的quecpython联网测试"
PROJECT_VERSION = "1.0.0"
checknet = checkNet.CheckNetwork(PROJECT_NAME, PROJECT_VERSION)
time_spot1=utime.ticks_ms()
stagecode, subcode = checknet.wait_network_connected(30)
checknet.poweron_print_once()
if stagecode == 3:
time_spot2=utime.ticks_ms()
time_span = utime.ticks_diff(time_spot2, time_spot1)
print('开机注网耗时:',time_span)
else:
print('联网失败')
五. cellLocator - 基站定位
cellLocator.getLocation(serverAddr, port, token, timeout, profileID)
import cellLocator
cellLocator.getLocation("www.queclocator.com", 80, "1111111122222222", 8, 1)
# 上面使用的密钥仅为测试密钥
最后
以上就是懦弱秀发为你收集整理的移远QuecPython(基于EC600s)开发物联网应用(七) QuecPython通讯相关模块一. sim --SIM卡模块二. dataCall - 数据拨号三. net - 网络相关功能四. checkNet - 等待网络就绪五. cellLocator - 基站定位的全部内容,希望文章能够帮你解决移远QuecPython(基于EC600s)开发物联网应用(七) QuecPython通讯相关模块一. sim --SIM卡模块二. dataCall - 数据拨号三. net - 网络相关功能四. checkNet - 等待网络就绪五. cellLocator - 基站定位所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复