Quectel EC20 4G模块学习使用记录

查看EC20基本信息

执行命令systemctl start ModemMnager 启动ModemManager

执行命令mmcli -m 0查看模块的基本信息

执行AT命令时需要将该服务关掉,因为该服务会不断的连接USB端口导致串口命令无法正常打开。

使用端口

通信使用的是USB端口,当连接模块并加载 USB 驱动成功后,在 /dev 目录下将会创建出几个 tty 设备节点

其中 ttyUSB0 为模块的 DM 端口,ttyUSB1 为 GPS NMEA 数据输出端口,ttyUSB2 为 AT 指令通信端口,ttyUSB3 为 PPP 连接端口。

lsof  /dev/ttyUSB2  检查是否有其他进程使用端口

串口交互工具

    • picocom -b 115200 /dev/ttyUSB2 打开终端就可以输入at命令

退出终端命令Ctrl +a+x

  • busybox microcom -s 115200 /dev/ttyUSB2 打开终端就可以输入at命令

退出终端命令Ctrl+x

AT命令

通用AT指令

AT                  测试指令,返回 OK。

ATE0               关闭回显,返回 OK。(ATE1 为开启模块回显), 输入的命令是否能在屏幕打印。

AT+CGMM     查询模块型号,返回 EC20。

AT+CGMR      查询软件版本号,返回如 EC20CEQAR02A03E2G_BETA1126。

AT+CGSN       查询产品 IMEI 序列号,返回如 864977045287475。

AT+CCLK?      获取网络时间,返回格式详见参考手册。

(注意此处返回的时间是基站本地时间,可能需要自己转换成北京时间)

AT+CPIN?       查询 SIM 卡状态,返回 READY 表示该 SIM 没有设定锁定模式。

AT+QCCID      获取 SIM 卡号。返回格式详见参考手册。

AT+CIMI         获取 IMSI 号,即国际移动用户识别码。

AT+QPOWD   模块关机。

AT+COPS?      返回当前SIM卡的相关信息, 格式如下:
+COPS: <mode>[,<format>[,<oper>][,<Act>]]

<stat>

0 —— 未知

1 —— 位操作员可用

2 —— 当前操作员

3 —— 禁止操作员

<oper>

符合<mode>格式的运算符

<mode>

0 —— 自动模式。 <oper>字段被忽略

1 —— 手动操作员选择。 <oper>字段应存在,并且可选

2 —— 手动从网络注销

3 —— 仅设置<format>(对于AT + COPS?Read Command),不要尝试注册/取消注册(<oper>和<Act>字段将被忽略)。 该值在读取命令的响应中无效。

4 —— 手动/自动选择。 将显示|字段。 如果手动选择失败,进入自动模式(<mode> = 0)

<format>

0 —— 长格式字母数字<oper>,最长16个字符

1 —— 短格式字母数字<oper>

2 —— 数字<oper>。 GSM位置区域识别号码

<Act>

选择了访问技术。 值3、4、5、6仅在读取响应中出现

MS处于数据服务状态且不适用于AT + COPS写入时的命令

0 —— GSM

2 —— UTRAN

3 —— GSM W/EGPRS

4 —— UTRAN W/HSDPA

5 —— UTRAN W/HSUPA

6 —— UTRAN W/HSDPA and HSUPA

7 —— E-UTRAN

100 ——CDMA

AT+COPS=?   返回支持的stat,运营商的长名称,短名称,FDD-LTE以及Act

网络连接 AT 指令

AT+CREG?             查询网络是否注册成功,成功返回 OK。

AT+QICSGP=xxx    配置 TCP/IP 环境,成功返回 OK。

AT+QIACT=1         激活 TCP/IP 环境,成功返回 OK。

AT+QIOPEN=1,0,"TCP","ip",port,0,2   建立 TCP 连接(透传模式),连接成功返回 CONNECT。

AT+QIOPEN=1,2,"UDP SERVICE","127.0.0.1",0,3030,1     创建 UDP 服务器。成功返回 OK。

AT+QISEND=2,len,"ip",port  UDP 准备发送数据指令,收到 ">" 后将数据发送出去,发送成功收到 SEND OK。

AT+QICLOSE=0/2  关闭连接(此处的0/2是连接号,由之前的 AT+QIOPEN 指令开启)。

短信收发

AT+CPMS?                                 查询短信存储区。

AT+CNMI=1,2,0,1,0                    选择如何接收短信息。

AT+CSCA?                                  查询短信服务中心地址。

AT+CMGF=1                              设置短信发送为文本格式(Text mode),如果设为 0,

则表示 PDU 编码格式。

AT+CMGS="13450231024"         准备发送短信,收到 ">" 后填入短信内容,按 Ctrl-Z(0x1A)发送短信,取消发送按 Ctrl+ESC(0x1B)。

AT+CMGR=0                              读取相对应序号的短信。

AT+CMGD=1                              删除短信,只能逐条删除。

ATI                                            显示产品标识信息

AT+GMI,AT+CGMI                      获取制造商

AT+GMM , AT+CGMM               申请TA模型识别, 和查型号差不多

AT+GMR , AT+CGMR                 请求软件版本的TA修订标识

AT+GSN , AT+CGSN                  获取模块IMEI号, IMEI号,即国际移动设备识别码(International Mobile Equipment Identity,IMEI),通常所说的手机序列号,移动通信设备都会有一个IMEI号,就像身份证

AT&F                                         将所有当前参数设置为制造商默认值

AT&V                                         显示当前配置

AT&W                                       保存设置, 将当前参数存储到用户定义的配置文件

AT&Z                                         将所有当前参数设置为用户定义的配置文件, 该命令以非易失性方式将当前AT命令设置恢复到用户定义的配置文件内存(如果之前已将它们存储在AT&W中)。 同一命令行上的任何其他AT命令,可能会被忽略

ATQ                                           设置结果代码演示模式, 此参数设置确定TA是否将任何结果代码发送到TE。 信息文字以响应方式传输不受此设置影响

ATV TA响应格式                        该命令确定与AT命令结果代码一起发送的标题和尾部的内容和信息回复。
结果代码,它们的数字等效形式以及每种用法的简要说明在列表中列出

A/    该命令重复上一个AT命令行,“ /”充当行终止符。

ATS3        设置命令行终止符

该命令确定模块识别的字符以终止传入的命令行。 它还为结果代码和信息文本以及通过ATS5设置的字符值生成。

ATS4 设置响应格式字符

该命令确定模块为结果代码和信息文本生成的字符,以及通过ATS3设置的命令行终止字符。

ATS5 设置命令行编辑字符

该命令确定模块用来删除紧靠其前的字符值,AT命令行中的字符(即等于退格键)。

AT+CFUN 设置电话功能, AT+CFUN=1,1   重启模块。

AT+CFUN=?                列出所有功能对应序号

AT+CFUN?                    查询当前设置的电话功能,返回的是fun的值

AT+CFUN=<fun>[,<rst>]     设置电话功能

<fun>

0 —— 最低功能

1 —— 完整功能(默认)

4 —— 禁止ME发送和接收RF信号

<rst>

0 —— 将ME设置为功能级别之前,请勿重置ME。当未给出时,这是默认设置。

1 —— 重置ME。 复位后,该设备可以正常使用。 该值仅用于 = 1

AT+CMEE 错误讯息格式

AT+CMEE=?                 列出支持的功能

AT+CMEE?                   查看当前设置

AT+CMEE=<n>            设置错误讯息格式

0 —— 禁用结果代码

1 —— 启用结果代码并使用数值

2 —— 启用结果代码并使用详细值

AT+CSCS 选择字符集, AT指令集支持三种字符集,分别是GSM,IPA与UCS2字符集

AT+CSCS?    查看当前字符集

AT+CSCS=?  查看支持的字符集

AT+CSCS=<charset>    设置字符集

串口控制命令

AT&C 设置数据载波检测模式

1 表示总是开启数据载波检测功能

0 表示仅在有数据载体的情况下才打开

AT&D 设置DTR功能模式

该命令确定在数据模式期间,如果DTR线路从低电平更改为高电平,UE将如何响应。

AT&D[\value>]

<value>

0 —— TA忽略DTR上的状态

1 —— DTR上的低→高:在保持连接的呼叫的同时切换到命令模式。

2 —— DTR上的低→高:断开数据调用,然后更改为命令模式。 当DTR处于高级别时,自动应答功能已禁用。

AT+IFC 设置TE-TA本地数据流控制

AT+IFC=?       列出支持的设置

AT+IFC?          查看当前设置

AT+IFC=<dce_by_dte>,<dte_by_dce>             设置值

<dce_by_dte> 指定TE从TA接收数据时将使用的方法

0 —— 无

2 —— RTS流量控制

<dte_by_dce> 指定TA从TE接收数据时将使用的方法

0 —— 无

2 —— CTS流量控制

AT+ICF 设置TE-TA控制字符框

AT+ICF=?              查询支持的设置

AT+ICF?                 查看当前设置

AT+ICF=[<format>,[<parity>]]           设置

<format>

3 —— 8 数据 0 奇偶校验 1 停止

<parity>

0 —— 奇数

1 —— 偶数

AT+IPR 设置波特率

AT+IPR=?       支持列表

AT+IPR?         查询当前波特率

AT+IPR=<>    设置波特率

状态控制命令

AT+CPAS 移动设备活动状态。

AT+CPAS=?         查看支持的状态

AT+CPAS               TA返回ME的活动状态<pa>

<pa>

0 —— 准备Ready

3 —— 响 Ringing

4 —— 正在通话或保持通话 Call hold

AT+CLCC是列出当前呼叫列表

树莓派重启4G模块命令

raspi-gpio set 10 op dh
sleep 0.5
raspi-gpio set 10 op dl

拨号

pppd call 脚本名称

pppd  /dev/ttyUSB3/  call  1-1.4  unit 0

/etc/ppp/peers/

脚本内容

921600

logfile  logpath

debug

connect 'chat -v -f /etc/ppp/scripts/chat_EX25_1-1.4'

disconnect 'chat -v -f /etc/ppp/scripts/disconnect_EX25_1-1.4'

modem

lock

noauth

noipdefault

defaultroute

usepeerdns

noproxyarp

novj

novjccomp

nobsdcomp

nodeflate

nomagic

idle 95

active-filter 'inbound'

persist

holdoff 1

maxfail 5

connect-delay 1000

连接脚本chat_EX25_1-1.4

ABORT   "BUSY"

ABORT   "VOICE"

ABORT   "NO CARRIER"

ABORT   "NO DIALTONE"

ABORT   "NO DIAL TONE"

ABORT   "ERROR"

""      \rAT

TIMEOUT 1

"OK-+++\c-OK"   ATH0

TIMEOUT 45

OK      at+cgdcont=4,"IP","3gnet"

OK      "\d\d\d"

""      "atd*99***4#"

CONNECT "\c"

断开脚本disconnect_EX25_1-1.4

ABORT   "BUSY"

ABORT   "VOICE"

ABORT   "NO CARRIER"

ABORT   "NO DIALTONE"

ABORT   "NO DIAL TONE"

""      BREAK

""      "+++ATH"

拨号成功后添加ppp0网络接口

AT+CSQ

获取信号强度,返回 0-31,返回 99 为无信号。

Value      RSSI dBm       Condition

0             -113              Marginal

1             -112              Marginal

2             -109              Marginal

3             -107              Marginal

4             -105              Marginal

5             -103              Marginal

6             -101              Marginal

7             -99                Marginal

8             -97                Marginal

9             -95                Marginal

10           -93                OK

11           -91                OK

12           -89                OK

13           -87                OK

14           -85                OK

15           -83                Good

16           -81                Good

17           -79                Good

18           -77                Good

19           -75                Good

20           -73                Excellent

21           -71                Excellent

22           -69                Excellent

23           -67                Excellent

24           -65                Excellent

25           -63                Excellent

26           -61                Excellent

27           -59                Excellent

28           -57                Excellent

29           -55                Excellent

30           -53                Excellent

参考连接

https://getiot.tech/iot-module/quectel-ec20/

https://getiot.tech/linux-note/use-of-quectel-ec20-dialup-on-linux/

https://blog.csdn.net/ZHNEYU/article/details/126082256

https://blog.csdn.net/weixin_45121946/article/details/107032711

https://hacperme.com/posts/notes/2021-06-06-at_csq_in_dbm/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

螺旋小蜗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值