mobile频段要查找、设置并获取相关参数,该怎么破?

今天我们一起来学习查找和设置mobile频段,并获取相关参数。

一、mobile概述

1.1 简介

“4G mobile”指的是第四代移动通信技术,常用于描述通过4G网络进行的高速无线数据传输和通信。4G网络最显著的特征是其高速数据传输能力。理论上,4G可以提供下行速率高达100Mbps(移动环境下)和上行速率达50Mbps(静止或低速移动环境下)。

1.2 架构

4G网络采用了全IP网络架构,所有数据和语音通信都是通过IP(InternetProtocol)传输的。相比之前的移动通信技术(如2G和3G),4G能够更有效地处理数据流量,尤其是用于互联网服务和多媒体应用。

1.3 采用技术

4g主要采用正交频分复用技术(OFDM)和多输入多输出技术(MIMO)。OFDM将宽频带划分为多个窄频带,从而提高了频谱的利用效率,并减少了信号间的干扰。它使得4G能够在同样的频谱下传输更多的数据,并具有更强的抗干扰能力。多输入多输出(MIMO)技术也广泛应用于4G网络中。MIMO使用多个天线来同时发送和接收数据,增加了信号的容量和覆盖范围,显著提高了数据传输速率。

关于4gmobile技术更详细的使用说明,请参考:https://zh.wikipedia.org/wiki/4G

二、演示功能概述

本demo演示了查找和设置mobile频段,和获取相关参数。

三、准备硬件环境

3.1 开发板准备

1)Air780E核心板一个:

https://item.taobao.com/item.htm?id=693774140934

2)此核心板的详细使用说明参考:

https://docs.openluat.com/air780e/product/

Air780E产品手册中的《开发板Core_Air780E使用说明V1.0.5.pdf》,核心板使用过程中遇到任何问题,可以直接参考这份使用说明pdf文档。

3.2 SIM卡

请准备一张可正常上网的SIM卡,该卡可以是物联网卡或您的个人手机卡。

特别提醒:
请确保SIM卡未欠费且网络功能正常,以便顺利进行后续操作。

3.3 数据通信线

typec接口USB数据线即可。

3.4 PC电脑

WINDOWS系统。

四、准备软件环境

4.1 基本的下载调试工具

使用说明参考:
Luatools下载和详细使用:
https://docs.openluat.com/Luatools/

五、mobile的使用软硬件资料

5.1 源码和工具

  • 780E模块使用固件:SDK&Demo-合宙文档中心,本demo使用的固件版本是:

    LuatOS-SoC_V1112_EC618_FULL.soc

  • 本教程使用的demo:

    https://gitee.com/openLuat/LuatOS-Air780E/tree/master/demo/mobile

  • 将固件和脚本烧录到模块中,使用说明参考:Luatools下载和详细使用

  • 源码和固件已打包,如下所示:点我,下载完整压缩文件包

5.2 常量消息

这里是发布的消息,可以使用sys.waitUntil()或者sys.subscribe()函数来获取消息是否发布。

常量类型解释

mobile.UNREGISTER

number

未注册

mobile.REGISTERED

number

已注册

mobile.SEARCH

number

正在搜索中

mobile.DENIED

number

注册被拒绝

mobile.UNKNOW

number

未知

mobile.REGISTERED_ROAMING

number

已注册,漫游

mobile.SMS_ONLY_REGISTERED

number

已注册,仅SMS

mobile.SMS_ONLY_REGISTERED_ROAMING

number

已注册,漫游,仅SMS

mobile.EMERGENCY_REGISTERED

number

已注册,紧急服务

mobile.CSFB_NOT_PREFERRED_REGISTERED

number

已注册,非主要服务

mobile.CSFB_NOT_PREFERRED_REGISTERED_ROAMING

number

已注册,非主要服务,漫游

mobile.CONF_RESELTOWEAKNCELL

number

小区重选信号差值门限,需要飞行模式设置

mobile.CONF_STATICCONFIG

number

网络静态模式优化,需要飞行模式设置

mobile.CONF_QUALITYFIRST

number

网络切换以信号质量优先,需要飞行模式设置,0不开,1开启,2开启并加速切换,功耗会增加

mobile.CONF_USERDRXCYCLE

number

LTE跳paging,需要飞行模式设置,谨慎使用,0是不设置,1~7增大或减小DrxCycle周期倍数,1:1/8倍2:1/4倍3:1/2倍4:2倍5:4倍6:8倍7:16倍,8~12配置固定的DrxCycle周期,仅当该周期大于网络分配的DrxCycle周期时该配置才会生效,8:320ms9:640ms10:1280ms11:2560ms12:5120ms

mobile.CONF_T3324MAXVALUE

number

PSM模式中的T3324时间,单位S

mobile.CONF_PSM_MODE

number

PSM模式开关,0关,1开

mobile.CONF_CE_MODE

number

attach模式,0为EPSONLY2为混合,遇到IMSIdetach脱网问题,设置为0,注意设置为EPSONLY时会取消短信功能

mobile.CONF_SIM_WC_MODE

number

SIM写入次数的配置和读取

mobile.CONF_FAKE_CELL_BARTIME

number

伪基站禁止接入的时间,取值为0时取消,0xffff永久

mobile.CONF_RESET_TO_FACTORY

number

删除已保存的协议栈参数,重启后会使用默认配置

mobile.CONF_USB_ETHERNET

number

蜂窝网络模块的usb以太网卡控制,bit0开关,1开,0关,bit1模式,1NAT,0独立IP(在usb以太网卡开启前可以修改,开启过就不行),bit2协议1ECM,0RNDIS,飞行模式里设置

mobile.CONF_DISABLE_NCELL_MEAS

number

关闭邻区测量1关,0开,除了功耗测试外不建议使用

mobile.PIN_VERIFY

number

验证PIN码操作

mobile.PIN_CHANGE

number

更换PIN码操作

mobile.PIN_ENABLE

number

使能PIN码验证

mobile.PIN_DISABLE

number

关闭PIN码验证

mobile.PIN_UNBLOCK

number

解锁PIN码

5.3 本demo使用api简介

mobile.status()

作用:获取网络状态。

参数:

返回值:

返回值类型解释

int

当前网络状态

mobile.getBand(band,is_default)

作用:获取当前使用/支持的band

参数:

传入值类型解释

zbuff

输出band

boolean

true默认支持,false当前支持的,
默认是false,当前是预留功能,不要写true

返回值:

返回值类型解释

boolean

成功返回true,失败返回false

mobile.setBand(band,num)

作用:设置使用的band

参数:

传入值类型解释

zbuff

输入使用的band

int

band数量

返回值:

返回值类型解释

boolean

成功返回true,失败返回false

mobile.flymode(index,enable)

作用:进出飞行模式

参数:

传入值类型解释

int

编号,默认0.在支持双卡的模块上才会出现0或1的情况

bool

是否设置为飞行模式,true为设置,false为退出,可选

返回值:

返回值类型解释

boolean

原飞行模式的状态

mobile.vsimOnOff(enable)

作用:切换内置虚拟卡和外置实体卡,2024年8月13日启用,虚拟卡需要固件支持,否则切换后无网络,需要在飞行模式下切换,或者切换后重启协议栈。

参数:

传入值类型解释

bool

开启,true开启,false关闭

返回值:

返回值类型

解释

nil

无返回值

返回值:

返回值类型解释

string

获取到的默认APN值,失败返回nil

mobile.rtime(time,auto_reset_stack,data_first)

作用:设置RRC自动释放时间间隔,当开启时后,遇到极弱信号+频繁数据操作可能会引起网络严重故障,因此需要额外设置自动重启协议栈。

参数:

传入值类型解释

int

RRC自动释放时间,等同于Air724的AT+RTIME,单位秒,写0或者不写则是停用,不要超过20秒,没有意义

boolean

网络遇到严重故障时尝试自动恢复,和飞行模式/SIM卡切换冲突,true开启,false关闭,留空时,如果设置了时间则自动开启。本参数于2023年9月14日已废弃

boolean

是否启用数据传输优化,true启用,false关闭,留空为false,开启后必须等到TCP数据ACK或者超时失败,或者socketCONNECT完成(无论成功或者失败)才允许RRC提前释放,可能会增加功耗。本参数于2024年8月12日启用

返回值:

返回值类型解释

nil

无返回值

mobile.setAuto(check_sim_period,get_cell_period,search_cell_time,auto_reset_stack,network_check_period)

作用:设置一些辅助周期性或者自动功能,目前支持SIM卡暂时脱离后恢复,周期性获取小区信息,网络遇到严重故障时尝试自动恢复。

参数:

传入值类型解释

int

SIM卡自动恢复时间,单位毫秒,建议5000~10000,和飞行模式/SIM卡切换冲突,不能再同一时间使用,必须错开执行。写0或者不写则是关闭功能

int

周期性获取小区信息的时间间隔,单位毫秒。获取小区信息会增加部分功耗。写0或者不写则是关闭功能

int

每次搜索小区时最大搜索时间,单位秒。不要超过8秒

boolean

网络遇到严重故障时尝试自动恢复,和飞行模式/SIM卡切换冲突,true开启,false关闭,开始状态是false,留空则不做改变

int

设置定时检测网络是否正常并且在检测到长时间无网时通过重启协议栈来恢复,无网恢复时长,单位ms,建议60000以上,为网络搜索保留足够时间,留空则不做更改

返回值:

返回值类型解释

nil

无返回值

mobile.imei(index)

获取:获取IMEI。

参数:

传入值类型解释

int

编号,默认0.在支持双卡的模块上才会出现0或1的情况

返回值:

返回值类型解释

string

当前的IMEI值,若失败返回nil

mobile.imsi(index)

作用:获取IMSI。

参数:

传入值类型解释

int

编号,默认0.在支持双卡的模块上才会出现0或1的情况

返回值:

返回值类型解释

string

当前的IMSI值,若失败返回nil

mobile.iccid(id)

作用:获取或设置ICCID。

参数:

传入值类型解释

int

SIM卡的编号,例如0,1,默认0

返回值:

返回值类型解释

string

ICCID值,若失败返回nil

mobile.csq()

作用:获取csq。

参数:

返回值:

返回值类型解释

int

当前CSQ值,若失败返回0.范围0-31,越大越好

mobile.rssi()

作用:获取rssi。

参数:

返回值:

返回值类型解释

int

当前rssi值,若失败返回0.范围0到-114,越小越好

mobile.rsrp()

作用:获取rsrp,参考信号接收功率。

参数:

返回值:

返回值类型解释

int

当前rsrp值,若失败返回0.取值范围:-44~-140,值越大越好

mobile.rsrq()

作用:获取rsrq,参考信号发送功率。

参数:

返回值:

返回值类型解释

int

当前rsrq值,若失败返回0.取值范围:-3~-19.5,值越大越好

mobile.scell()

作用:获取当前服务小区更详细的信息。

参数:

返回值:

返回值类型解释

table

服务小区的信息

mobile.getCellInfo()

作用:获取基站信息。

参数:

返回值:

返回值类型解释

table

包含基站数据的数组

mobile.config(item,value)

作用:网络特殊配置。

参数:

传入值类型解释

int

配置项目,看mobile.CONF_XXX

int

配置值,根据具体配置的item决定

返回值:

返回值类型解释

boolean

是否成功

mobile.reqCellInfo(timeout)

作用:发起基站信息查询,含临近小区。

参数:

传入值类型解释

int

超时时长,单位秒,默认15.最少5,最高60

返回值:

返回值类型解释

nil

无返回值

mobile.number(id)

作用:获取手机卡号,注意,只有写入了手机号才能读出,因此有可能读出来是空的。

参数:

传入值类型解释

int

SIM卡的编号,例如0,1,默认0

返回值:

返回值类型解释

string

number值,若失败返回nil

mobile.snr()

作用:获取snr,信噪比。

参数:

返回值:

返回值类型解释

int

当前snq值,若失败返回0.范围0-30,越大越好

mobile.simid(id)

作用:获取当前SIM卡槽,或者切换卡槽。

参数:

填入的参数以表格中的为准。

传入值类型解释

int

SIM卡的编号,例如0,1,如果支持双卡,比如EC618,可以填2来自适应,但是会占用掉4个IO(gpio4/5/6/23)。如果不填就直接读取当前卡槽

boolean

是否优先用SIM0,只有SIM卡编号写2自适应才有用!!!。true优先用SIM0,false则由具体平台决定,支持双卡双待SIM0优先,不支持的是上一次检测到的优先,默认是false,必须在开机就配置,否则就无效了

返回值:

返回值类型解释

int

当前sim卡槽编号,若失败返回-1

mobile.apn(index,cid,new_apn_name,user_name,password,ip_type,protocol)

作用:获取或设置APN,设置APN必须在入网前就设置好,比如在SIM卡识别完成前就设置好。

参数:

填入的参数以表格中的为准。

传入值类型解释

int

编号,默认0。在支持双卡的模块上才会出现0或1的情况

int

cid,默认0。如果要用非默认APN来激活,必须>0

string

新的APN,不填就是获取APN,填了就是设置APN,是否支持设置取决于底层实现

string

新的APN的username,如果APN不是空,那必须填写,如果没有则留空字符串""。如果APN是空的,则可以为nil

string

新的APN的password,如果APN不是空,那必须填写,如果没有则留空字符串""。如果APN是空的,则可以为nil

int

激活APN时的IPTYPE,1=IPV4,2=IPV6,3=IPV4V6,默认是1

int

激活APN时,如果需要username和password,就要写鉴权协议类型(0没有,1:PAP,2:CHAP),1~3,默认3。一般没有用户名密码的写0,反之写3,如果不行1和2都可以尝试。不需要鉴权的写0

boolean

是否删除APN,true表示是,其他都否。只有参数3新的APN不是string的时候才有效

返回值:

返回值类型解释

string

获取到的默认APN值,失败返回nil


6.1查询mobile的band和iccid和csq等信息。六、代码示例介绍

6.1.1查询、更改、和恢复band的设置

图片

6.1.2查询mobile相关数据

图片

6.1.3订阅查询的信息:

图片

6.1.5获取SIM卡状态

图片

七、功能验证

实现了设置频率和查找到的mobile相关参数的功能。

图片

图片

八、常见问题

8.1 获取模块SN

出厂未必有写SN,一般用途的唯一id,可以用mobile.imei()代替,如需要真正的唯一ID,使用mcu.unique_id()。

8.2 专网卡如何上网

使用函数mobile.apn()时,专网卡设置的demo,name,user,password联系卡商获取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/58866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「C/C++」C++11 之<thread>多线程编程

✨博客主页何曾参静谧的博客📌文章专栏「C/C++」C/C++程序设计📚全部专栏「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid函数说明目…

[SAP ABAP] SMW0上传模板

通常来说,一个批量导入的程序必须使用指定的模板,我们需要将模板保存到SAP系统中,以便用户下载并更改。这里我们可以使用事务码SMW0解决上述的问题 1.选择二进制类型 2.输入存放的包 3.创建对象 选择需要进行上传的本地模板文件到SAP系统中 …

LSTM模型改进实现多步预测未来30天销售额

项目源码获取方式见文章末尾! 600多个深度学习项目资料,快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【BiLSTM模型实现电力数据预测】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实…

中科蓝汛GPIO操作说明

第一种写法: GPIO配置输入模式 //内部上拉 GPIOBDE | BIT(4); //数字IO使能: 0为模拟IO, 1 为数字IO GPIOBDIR | BIT(4); //控制IO的方向: 0为输出, 1为输入. GPIOBFEN & ~BIT(4);//0:当作通用GPIO使用 //1:当作其它功能性IO GPIOBPU | BIT(4); //10K上拉…

3DDFA-V3——基于人脸分割几何信息指导下的三维人脸重建

1. 研究背景 从二维图像中重建三维人脸是计算机视觉研究的一项关键任务。在虚拟现实、医疗美容、计算机生成图像等领域中,研究人员通常依赖三维可变形模型(3DMM)进行人脸重建,以定位面部特征和捕捉表情。然而,现有的方…

高并发编程

一台64G内存的服务器QPS可以达到9W,TPS(事务)可以达到5K,每个TPS大约包含18个QPS.只读的话QPS可以达到30~40万.阿里云有相关测试工具、测试方法、测试结果。 1、volatile 保证可见性,禁止指令重排,避免多线…

HTML 基础标签——表单标签<form>

文章目录 1. `<form>` 标签:定义表单容器2. `<input>` 标签:多用途输入控件3. `<textarea>` 标签:多行文本输入框4. `<select>` 标签:下拉选择框5. `<option>` 标签:下拉菜单选项6. `<button>` 标签:按钮元素7. `<label>` 标签…

GraphQL 与 Elasticsearch 相遇:使用 Hasura DDN 构建可扩展、支持 AI 的应用程序

作者&#xff1a;来自 Elastic Praveen Durairaju GraphQL 提供了一种高效且灵活的数据查询方式。本博客将解释 Hasura DDN 如何与 Elasticsearch 配合使用&#xff0c;以实现高性能和元数据驱动的数据访问。 此示例的代码和设置可在此 GitHub 存储库 - elasticsearch-subgraph…

智能座舱相关术语全解及多模态交互在智能座舱中的应用

文章目录 座舱相关术语全解1. 智能座舱2. UFS3. 多模态交互4. 3D虚拟引擎5. AR/VR6. GNSS7. TTS8. DPU9. 摄像头10. 屏幕/显示器11. 音频12. 无线连接13. 其他组件 多模态交互在智能座舱中有以下一些应用 座舱相关术语全解 1. 智能座舱 智能座舱&#xff08;intelligent cabi…

selinux和防火墙

目录 selinux 1、selinux的说明 2、selinux的工作原理 安全上下文四个字段&#xff1a; 访问过程&#xff1a; 3、selinux的启动、关闭与查看 &#xff08;1&#xff09;SELinux三种模式 &#xff08;2&#xff09;修改安全上下文 4、selinux对linux服务的影响 防火墙 …

制氮机分子筛的材质选择

制氮机分子筛的材质选择对于其性能和效率至关重要。作为制氮设备中的核心部件&#xff0c;分子筛承担着将空气中的氮气与氧气有效分离的重任。以下是对制氮机分子筛常用材质的详细探讨&#xff1a; 制氮机分子筛的主要材质 碳分子筛(CMS) 碳分子筛由活性炭经过特殊工艺加工而成…

【运动的&足球】足球场地区域图像分割系统源码&数据集全套:改进yolo11-RFAConv

改进yolo11-ContextGuidedDown等200全套创新点大全&#xff1a;足球场地区域图像分割系统源码&#xff06;数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.10.28 注意&#xff1a;由于项目一直在更新迭代&#xff0c;上面“1.图片效果展示”和“2.视频效果展示”展…

Java keytool keystore的相关概念介绍与使用

参考资料 Java证书工具keytool用法总结keytool-简介CA证书介绍与格式转换密钥&#xff0c;私钥&#xff0c;公钥的区分とほほのOpenSSL入門 目录 一. 概念1.1 keystore文件1.2 keytool1.3 非对称加密1.3.1 加密解密1.3.2 数字签名认证1.3.3 通信中的加密与签名过程 1.4 证书格…

MFC图形函数学习04——画矩形函数

MFC中绘制矩形函数是MFC的基本绘图函数&#xff0c;它的大小和位置由左上角和右下角的坐标决定&#xff1b;若想绘制的矩形边框线型、线宽、颜色以及填充颜色都还需要其它函数的配合。 一、绘制矩形函数 原型&#xff1a;BOOL Rectangle(int x1,int y1,int x2,int y2); …

openGauss数据库-头歌实验1-5 修改数据库

一、查看表结构与修改表名 &#xff08;一&#xff09;任务描述 本关任务&#xff1a;修改表名&#xff0c;并能顺利查询到修改后表的结构。 &#xff08;二&#xff09;相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 1.如何查看表的结构&#xff1b; 2.如…

树莓派5实时时钟(RTC)

树莓派5板载一个实时时钟模块。它可以通过 USB-C 电源插口右侧板上的 J5(BAT) 插口进行电池供电。如果没有互联网连接来通过 NTP 获取时间&#xff0c;RTC 可能会很有用。 可以设置唤醒警报&#xff0c;将树莓派5切换到非常低功耗的状态&#xff08;大约3mA&#xff09;。当到达…

分段线性回归

5. 分段线性回归 (Piecewise Linear Regression) 分段线性回归是一种简单的方式&#xff0c;尤其当数据的弧度变化不大但有多个不同趋势段时。可以将数据分为多个区间&#xff0c;每个区间内拟合一条直线。最终的模型是这些直线的组合。 优点&#xff1a;模型简单、易解释&am…

Git下载-连接码云-保姆级教学(连接Gitee失败的解决)

Git介绍 码云连接 一、Git介绍 二、Git的工作机制 下载链接&#xff1a;Git - 下载软件包 三、使用步骤 创建一个wss的文件夹&#xff0c;作为‘工作空间’ 四、连接码云账号 五、连接Gitee失败的解决方法 一、Git介绍 Git是一个免费的、开源的分布式版本控制…

网络工程师的瑞士军刀:深度解析20+常用工具

文章目录 网络工程师的瑞士军刀&#xff1a;深度解析20常用工具一、网络诊断与分析工具1.1 Wireshark1.2 Tcpdump1.3 Ping工具1.4 Tracert&#xff08;Windows&#xff09;/Traceroute&#xff08;Linux&#xff09;1.5 Nslookup 二、网络管理工具2.1 SNMP&#xff08;Simple N…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30目录1. Step Guided Reasoning: Improving Mathematical Reasoning using Guidance Generation and Step Reasoning摘要研究背…