跳到主要内容

TTL 接 EC20 / EC25:AT 口查询 GPS

导航栏

在 RV1126B-p 上用板载 24PIN 扩展 UART 接到移远 EC20 / EC25 的 AT 口,即可查询 GPS。板卡自带 TTL 转接,不需要再买 USB-TTL。SSH 到 1126 后操作 /dev/ttyS2 即可。

接口定义与引脚见 接口定义、接口调试:

RV1126B-p 默认接口为 ttyS2 默认波特率为 9600

本文 GPS 指令以 QuecOpen / fanconn 固件实测为准(模组回报 EC20F)。EC25 AT GPS 指令相同。

注意

不要接到 RV1126B-p 板载 Debug 触点(TTL debug 1500000)。那是摄像头自己的 Linux 控制台,不是模组 AT 口。

24PIN 扩展 UART 的 TX / RX 与模组交叉,GND 共地。电平 1.8V(实测可短期与 TTL 3V3 通信)。

SDIO 电压为 1.8V,不要接到 GPS 串口上。

线接到模组哪一侧模组节点1126 上怎么认用途
AT(主 UART)ttyHS0发 AT 回 OK查 GPS(本文)
DebugttyHSL0login:进模组 Linux(可选)

NMEA 不一定从 UART 自动往外喷(常见 outport 为 linuxsmd 或 usbnmea)。空闲听 ttyS2 往往没有 $GPGGA,必须发 AT 查询。


调试​

板载接口​

项值说明
设备节点/dev/ttyS2RV1126B-p 默认扩展 UART
出厂波特率9600与 接口调试 一致
数据位8N1无流控
转接板载 TTL不用 USB-TTL、不用 /dev/ttyUSB0
24PINX05C2024TZ引脚见下表
引脚号功能说明
1GND
2GND
22TX(1126 发送)
23RX(1126 接收)

接到 EC20/EC25:1126 TX → 模组 RX,1126 RX → 模组 TX,GND 共地。接到模组 AT 口,不要接到模组 DBG。

SSH 登录摄像头(示例):

ssh root@<RV1126B-p 的 IP>

查看板端当前波特率:

root@rv1126bp-buildroot:/# stty -F /dev/ttyS2 -a | grep speed
stty: /dev/ttyS2: Inappropriate ioctl for device
speed 9600 baud; line = 0;

Inappropriate ioctl 可忽略,speed 9600 即为出厂默认。

和模组 AT 口对齐波特率​

EC20/EC25 AT 口出厂多为 115200 8N1(AT+IPR? → +IPR: 115200)。
1126 出厂 ttyS2 是 9600,对不上会无数据或乱码。

查 GPS 前在 1126 上把本端改成 115200(不改模组):

stty -F /dev/ttyS2 115200 raw -echo
microcom -s 115200 /dev/ttyS2

板载已有 microcom,退出一般为 Ctrl+X。命令要以 \r 结尾。

测完可把板端改回文档默认:

stty -F /dev/ttyS2 9600

确认接到哪一口​

在 microcom 里发送:

AT
  • 回 OK:AT 口,继续下一节查 GPS。
  • 出现 u.fanconn.com login: 或内核日志:接到了模组 Debug,请改接到主 UART。

模组 Debug 口(可选)​

只有需要进模组 Linux 时,才把 ttyS2 改接到模组 DBG(同样先 microcom -s 115200)。模组 Debug 为 ttyHSL0、115200 8N1,console=ttyHSL0,115200,n8。

用户: root
密码: quectel123
密码以实际固件为准。

登录后可确认 GPS 出口(查坐标仍建议走 AT 口):

/usrdata/fanconn/bin/attool AT+QGPS?
/usrdata/fanconn/bin/attool AT+QGPSCFG="outport"

AT GPS​

在 1126 上打开 AT 口​

ssh root@<RV1126B-p 的 IP>
stty -F /dev/ttyS2 115200 raw -echo
microcom -s 115200 /dev/ttyS2
项1126 板端(文档默认)对接 EC20 AT 时
设备/dev/ttyS2同左
波特率9600改本端为 115200
帧格式8N1模组 AT+ICF? → +ICF: 3,3(8N1)
流控无模组 AT+IFC? → +IFC: 0,0
转接板载 TTL不用 USB-TTL

确认模组​

ATE0
ATI
AT+IPR?

应类似:

OK

Quectel
EC20F
Revision: EC20CEFILGR06A04M1G_OCPU

OK

+IPR: 115200

OK

打开 GNSS​

AT+QGPS=1
AT+QGPS?
AT+QGPSCFG="nmeasrc"
+QGPS: 1
OK

+QGPSCFG: "nmeasrc",1
OK

nmeasrc 必须为 1,否则 AT+QGPSGNMEA 不可用。已经是 1 时再执行 AT+QGPS=1 可能返回 +CME ERROR: 504(已开启),可忽略。

天线需室外或窗外。

查询坐标​

AT+QGPSLOC=2

十进制度,成功时一行:

+QGPSLOC: <utc>,<lat>,<lon>,<hdop>,<alt>,<fix>,<cog>,<spkm>,<spkn>,<date>,<nsat>
字段说明
utcUTC 时分秒
lat / lon十进制度
hdop水平精度因子
alt海拔(米)
dateDDMMYY
nsat参与定位的卫星数

度分秒格式用 AT+QGPSLOC=0。

无定位:

+CME ERROR: 516

冷启动可能要数十秒,可重复 AT+QGPSLOC=2 直到不再是 516。

查询 NMEA(可选)​

AT+QGPSGNMEA="GGA"
AT+QGPSGNMEA="RMC"
AT+QGPSGNMEA="GSA"
AT+QGPSGNMEA="GSV"
AT+QGPSGNMEA="VTG"

$GPGGA 第 7 段为 0 表示无效,1 及以上表示已定位。

实测(RV1126B-p ttyS2)​

板端先 microcom -s 115200 /dev/ttyS2,再发 AT+QGPSLOC=2 / AT+QGPSGNMEA="GGA":

+IPR: 115200
+QGPS: 1
+QGPSCFG: "outport",usbnmea
+QGPSCFG: "nmeasrc",1

+QGPSLOC: 085415.0,23.17198,113.40420,0.7,47.0,2,4.56,0.0,0.0,210926,10

OK

+QGPSGNMEA: $GPGGA,085430.00,2310.319110,N,11324.251854,E,1,07,0.7,47.3,M,-4.0,M,,*4E

OK

对应约 23.17198°N,113.40420°E。GGA 质量位为 1。

同一条 ttyS2 在默认 9600 下对这台 EC20 AT 无回包;改为 115200 后正常。outport 为 usbnmea 时 NMEA 也不会从 UART 自动刷出,仍用上面的 AT 查询。

常用指令一览​

指令作用
AT / ATE0 / ATI确认 AT 口
AT+IPR? AT+ICF? AT+IFC?波特率 / 帧格式 / 流控
AT+QGPS=1开 GNSS
AT+QGPS?是否已开
AT+QGPSCFG="outport"NMEA 出口
AT+QGPSCFG="nmeasrc"为 1 才能 QGPSGNMEA
AT+QGPSLOC=2十进制坐标
AT+QGPSLOC=0度分秒坐标
AT+QGPSGNMEA="GGA"单条 GGA

错误码​

码含义
504GNSS 已开启,重复 AT+QGPS=1
516无定位(天线、室内、刚开机)
501参数错误(如 outport 写法不对)