2、环境准备:搭建联调环境(硬件连接、驱动安装、串口/网络配置)
好,咱们正式开始动手。这一章我带你把「战场」先铺好。联调环境搭得顺不顺,直接决定你后面调试时是「一把过」还是「反复拆线」。我见过太多新手,上来就怼代码,结果串口线插反了、驱动没装对,折腾半天连个 log 都看不到。嗯,咱们别走那个弯路。
2.1 硬件连接:别小看这几根线
先看硬件。模组联调最常用的就是 USB 转 TTL 串口线,或者开发板自带的 USB 口。我个人习惯,拿到新模组第一件事——看原理图,确认供电和串口引脚。
接线口诀很简单:
- GND ↔ GND(共地,必须接)
- 模组 TX ↔ 工具 RX(交叉连接)
- 模组 RX ↔ 工具 TX(交叉连接)
- VCC ↔ 3.3V/5V(看模组手册,别乱给电压)
你想想看,如果 TX 接 TX,两边都在发,没人收,数据就丢了。交叉连接这个坑,我刚开始也犯过,对着串口助手看了半小时全是乱码,后来才发现线接反了。
2.2 驱动安装:让电脑认识你的设备
硬件接好了,插上 USB,电脑没反应?别慌,大概率是驱动没装。市面上常见的 USB 转串口芯片就那几款:
| 芯片型号 | 常见品牌 | 驱动名称 | 备注 |
|---|---|---|---|
| CH340/CH341 | 国产模块、Arduino 兼容板 | CH340 驱动 | Windows 10/11 有时自动装,不行就手动 |
| CP2102/CP2104 | Silicon Labs | CP210x 驱动 | macOS 和 Linux 通常免驱 |
| FT232 | FTDI | FTDI VCP 驱动 | 稳定,但假货多,注意辨别 |
| PL2303 | Prolific | PL2303 驱动 | 旧版芯片在 Win10 上有兼容问题 |
ls /dev/ttyUSB* 或 ls /dev/ttyACM* 查看。
驱动装好后,记下端口号。Windows 下一般是 COM3、COM5 这种;Linux 下是 /dev/ttyUSB0;macOS 下是 /dev/cu.usbserial-xxxx。这个端口号后面串口配置要用。
2.3 串口配置:波特率、数据位、停止位
驱动装好了,设备也认了,打开串口助手,怎么还是乱码?说白了,就是两边参数没对上。串口通信就像两个人打电话,你说中文他说英文,谁也听不懂。
标准配置参数如下:
- 波特率:115200(最常见),也有 9600、57600、921600
- 数据位:8(几乎都是 8)
- 停止位:1(偶尔有 2)
- 校验位:None(无校验)
- 流控制:None(不用)
我建议你第一次连接时,先用 115200 8N1 试。如果全是乱码,再试试 9600。有些模组上电时会打印启动信息,波特率可能和正常通信时不一样,这个后面章节会细说。
2.4 网络配置:Wi-Fi 与 TCP/IP 基础
模组联调不只有串口,很多时候还要走网络。比如 ESP8266、ESP32、4G 模组,都需要配置 Wi-Fi 或拨号上网。这里我带你走一遍最基础的流程。
2.4.1 Wi-Fi 配置(以 ESP32 为例)
通过串口发送 AT 指令配置 Wi-Fi:
AT+CWMODE=1 // 设置 Station 模式
AT+CWJAP="SSID","PASSWORD" // 连接 Wi-Fi
AT+CIFSR // 查看获取到的 IP 地址
如果返回 OK 和 IP 地址,说明网络通了。如果返回 FAIL,检查 SSID 和密码,或者看看模组是否支持 5G 频段——很多老模组只支持 2.4G。
2.4.2 TCP/IP 通信测试
网络通了之后,用 TCP 工具测试数据收发:
AT+CIPSTART="TCP","192.168.1.100",8080 // 连接服务器
AT+CIPSEND=5 // 准备发送 5 字节
>HELLO // 输入数据
AT+CIPCLOSE // 关闭连接
我个人习惯在电脑上开一个 TCP 调试助手(比如 NetAssist 或 Hercules),监听一个端口,让模组连过来。这样两边都能看到收发数据,排查问题非常直观。
2.5 整体环境结构图
下面这张图把整个联调环境的关系画清楚了。你照着搭,基本不会漏东西。
2.6 避坑指南:我踩过的几个坑
最后,分享几个我实际项目中遇到的坑,你遇到了可以直接翻回来对照。
- 串口线太长:超过 2 米的 USB 线,信号衰减严重,容易丢包或乱码。我建议用 1 米以内的带屏蔽线。
- 共地问题:模组和电脑必须共地(GND 相连),否则串口电平参考点不一致,数据全是错的。我曾经用两个独立电源给模组和 USB 转串口供电,没共地,折腾了两小时才发现。
- 波特率猜错:有些模组上电时用 74880 或 115200 打印启动信息,正常通信时又切到 9600。如果你发现上电有乱码但能收到东西,试试换波特率。
- 防火墙拦截:TCP 调试时,Windows 防火墙可能会拦截端口。记得在防火墙里加一条入站规则,或者直接关掉防火墙测试(测试完记得打开)。
- 串口被占用:一个串口同一时间只能被一个程序打开。如果你开了串口助手,就不要再开另一个,否则会报端口被占用。
□ 硬件接线:GND 已连,TX↔RX 交叉
□ 驱动安装:设备管理器无黄色感叹号
□ 端口号:已确认 COM 口或 ttyUSB 设备
□ 串口参数:115200 8N1,无流控
□ 网络配置:Wi-Fi 已连接,IP 已获取
□ 防火墙:TCP 端口未被拦截