TTL 接 EC20 / EC25:AT 口查询 GPS

在 RV1126B-p 上用板载 24PIN 扩展 UART 接到移远 EC20 / EC25 的 AT 口,即可查询 GPS。板卡/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(本文) |
| Debug | ttyHSL0 | login: | 进模组 Linux(可选) |
NMEA 不一定从 UART 自动往外喷(常见 outport 为 linuxsmd 或 usbnmea)。空闲听 ttyS2 往往没有 $GPGGA,必须发 AT 查询。
调试
板载接口
| 项 | 值 | 说明 |
|---|---|---|
| 设备节点 | /dev/ttyS2 | RV1126B-p 默认扩展 UART |
| 出厂波特率 | 9600 | 与 接口调试 一致 |
| 数据位 | 8N1 | 无流控 |
| 转接 | 板载 TTL | 不用 USB-TTL、不用 /dev/ttyUSB0 |
| 24PIN | X05C2024TZ | 引脚见下表 |
| 引脚号 | 功能说明 |
|---|---|
| 1 | GND |
| 2 | GND |
| 22 | TX(1126 发送) |
| 23 | RX(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>
| 字段 | 说明 |
|---|---|
| utc | UTC 时分秒 |
| lat / lon | 十进制度 |
| hdop | 水平精度因子 |
| alt | 海拔(米) |
| date | DDMMYY |
| 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 |
错误码
| 码 | 含义 |
|---|---|
504 | GNSS 已开启,重复 AT+QGPS=1 |
516 | 无定位(天线、室内、刚开机) |
501 | 参数错误(如 outport 写法不对) |