0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

4G通信利器:轻松搞定频段与参数设置

合宙LuatOS 来源:合宙LuatOS 作者:合宙LuatOS 2024-10-29 12:58 次阅读

最近有很多朋友问怎样查找和设置mobile频段并获取相关参数,那么我们今天就从介绍,准备,问题等方面聊聊…

1、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

2、演示功能概述

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

3、准备硬件环境

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、准备软件环境

4.1 基本的下载调试工具

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

5、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.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

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

6、代码示例介绍

6.1查询mobile的band和iccid和csq等信息。

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

wKgaomcgbieAKS_wAAOxv_QuZdA299.png

6.1.2查询mobile相关数据

wKgZomcgbkuABCJNAAOzaqm5PMo877.png

6.1.3订阅查询的信息:

wKgaomcgbmSAdilDAAOvvoEqaUU396.png


6.1.5获取SIM卡状态

wKgZomcgbnuAFoa_AAHcsf88zu8881.png

7、功能验证

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

wKgaomcgbpiAXTXtAAWBoxhw55M372.png

wKgaomcgbrKAK2J5AAXoiD4o3mE994.png

8、总结

本demo实现了查找和设置mobile频段,和获取imei、imsi、iccid、csq、rssi、rsrq、rsrp、snr等相关参数。

9、常见问题

9.1 获取模块SN

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

9.2 专网卡如何上网

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

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 4G
    4G
    +关注

    关注

    15

    文章

    5519

    浏览量

    119033
  • 物联网
    +关注

    关注

    2909

    文章

    44626

    浏览量

    373182
  • 频段
    +关注

    关注

    1

    文章

    324

    浏览量

    24593
收藏 人收藏

    评论

    相关推荐

    4G移动通信是什么?4G中有哪些关键技术?

    4G移动通信是什么?4G中有哪些关键技术?
    发表于 05-27 06:17

    小灵通频段获准用于国产4G发展

    记者昨日获悉,工信部近期正式发文称,小灵通使用的1.9GHz F频段以后将用于TD-LTE(国产4G)的TDD模式的移动通信系统。与TD-LTE(国产4G)目前试验中使用的2.6GHz
    发表于 03-23 11:39 832次阅读

    PMAC_参数设置

    PMAC_参数设置主要包括下位机环境变量、电机参数设置、PID参数调节。
    发表于 04-26 10:32 17次下载

    4G DTU和GPRS/3G DTU的对比,谁的优势更明显

    4G DTU一般来说是采用电脑和数据线连接来进行参数设置的,为了适应不同的工作环境,提高工作的效率,成都远向电子4G DTU还支持远程参数配置和远程固件升级,只需一部手机即可
    发表于 08-18 14:33 6233次阅读

    4G/5G频段及四大运营商频段划分

    来源:网优雇佣军 4G/5G频段及四大运营商频段划分 4G LTE FDD TDD NB-IOT FDD TDD LTE-M FDD TDD
    的头像 发表于 09-10 14:22 3.8w次阅读

    4G DTU的优势及功能

    4G DTU一般来说是采用电脑和数据线连接来进行参数设置的,为了适应不同的工作环境,提高工作的效率,成都远向电子4G DTU还支持远程参数配置和远程固件升级,只需一部手机即可
    发表于 06-15 14:21 1979次阅读

    4G与5F频谱及频段区别及运营商详解

    关于国内4G频段和5G频段各个运营商使用频段说明
    发表于 08-09 16:34 11次下载

    变频器功能参数设置

    变频器的参数设定较多,每个参数均有一定的选择范围,使用中常常遇到因个别参数设置不当导致变频器不能正常工作的现象。以下为变频器参数设置的步骤。
    发表于 01-31 09:16 1.1w次阅读

    变频器参数设置

    变频器参数设置 基本参数设置 选择通过选购卡的通信方式 通信地址设置
    发表于 04-07 11:47 0次下载
    变频器<b class='flag-5'>参数设置</b>

    4G通信模块的特点

    4G安卓智能模块,也被叫做 4G 通信模块或 4G DTU 模块,是物联网行业具有 4G 通信
    的头像 发表于 04-19 10:22 2155次阅读

    Vivado布线和生成bit参数设置

    本文主要介绍Vivado布线参数设置,基本设置方式和vivado综合参数设置基本一致,将详细说明如何设置布线参数以优化FPGA设计的性能,以
    的头像 发表于 05-16 16:40 4645次阅读
    Vivado布线和生成bit<b class='flag-5'>参数设置</b>

    变频器参数设置方法

    变频器的设定参数较多,每个参数均有一定的选择范围,使用中常常遇到因个别参数设置不当,导致变频器不能正常工作的现象。因此,变频器调试是从正确设置变频器
    发表于 07-11 09:51 5391次阅读

    4G路由器设置技巧,轻松实现高速畅游互联网

    本文将介绍4G路由器的基本设置和优化技巧。4G路由器作为实现无线网络连接的关键设备,设置和调整对于保证网络速度和稳定性至关重要。基本设置包括
    的头像 发表于 01-09 17:42 1022次阅读

    德力西变频器em60g7r5t4b参数设置

    德力西变频器EM60G7R5T4B是一款高性能的变频器,广泛应用于工业自动化、电力、冶金、化工、建材等行业。本文将详细介绍德力西变频器EM60G7R5T4B的参数设置,包括基本参数、控
    的头像 发表于 06-18 09:35 3942次阅读

    通信开关电源参数设置方法

    通信开关电源是现代通信系统中的关键组成部分,它为通信设备提供稳定、可靠的电力供应。正确的参数设置对于确保电源的高效运行和延长设备寿命至关重要。 引言 在现代
    的头像 发表于 10-14 14:35 516次阅读