1. Wavecom短信猫与AT命令基础
短信猫(SMS Modem)是一种通过GSM网络收发短信的硬件设备,Wavecom作为早期主流厂商,其模块在工业控制、企业短信平台等领域广泛应用。AT命令(Attention Command)是控制这类设备的标准化指令集,通过串口发送特定格式的文本指令实现设备控制。
1.1 硬件连接与初始化
使用Wavecom短信猫前需要完成物理连接:
- 通过RS232串口或USB转串口连接电脑
- 波特率通常设置为115200或9600
- 需插入有效的SIM卡(建议关闭PIN码验证)
基础测试命令:
AT # 测试设备响应,正常应返回"OK" AT+CSQ # 检查信号强度,返回值30表示最强信号 AT+CCID # 读取SIM卡ICCID号注意:若设备无响应,需检查串口线序(特别是RXD/TXD交叉)、供电是否充足,以及SIM卡是否欠费。工业环境中建议使用带磁环的屏蔽线缆减少干扰。
1.2 AT命令语法结构
Wavecom的AT命令遵循GSM 07.05/07.07标准,有三种基本格式:
测试命令:AT+ =?
- 例:
AT+CSQ=?返回信号强度检测范围(如0-31)
- 例:
读取命令:AT+ ?
- 例:
AT+CMGF?返回当前短信格式(0=PDU模式,1=文本模式)
- 例:
执行命令:AT+ =
- 例:
AT+CMGF=1设置短信为文本模式
- 例:
特殊控制字符:
^M(回车,ASCII 13)^Z(发送结束符,ASCII 26)Ctrl+C中断当前操作
2. 核心短信操作命令详解
2.1 短信格式设置
AT+CMGF=1 # 文本模式(人类可读) AT+CMGF=0 # PDU模式(支持中文等特殊字符)文本模式适合英文短信,PDU模式支持:
- 长短信(>160字符自动分包)
- Unicode编码(中文、emoji)
- 闪信、免提短信等特殊类型
2.2 短信发送全流程
文本模式发送示例:
AT+CMGS="13800138000" # 输入号码 > This is a test message # 输入内容 ^Z # 发送结束符 # 返回"+CMGS: <message_id>"表示成功PDU模式发送流程:
- 将接收号码转换为TP-DA格式:
- 国内号码:
8613800138000→6831081005F0
- 国内号码:
- 编码短信内容:
- 中文"测试" →
4B6D5B8B
- 中文"测试" →
- 组合PDU数据包:
AT+CMGS=19 # 指定PDU长度 > 0011000D9168310801005F0008044B6D5B8B ^Z
实战技巧:使用
iconv工具转换编码:echo "测试" | iconv -f UTF-8 -t UCS-2BE | xxd -p
2.3 短信接收与解析
设置新短信通知:
AT+CNMI=2,1,0,0,0 # 实时推送新短信到终端读取短信存储区:
AT+CPMS="SM" # 选择SIM卡存储 AT+CMGL="ALL" # 列出所有短信典型返回格式:
+CMGL: <index>,<stat>,<oa>,<scts>,<length> <message>其中<stat>状态:
- "REC UNREAD":未读
- "REC READ":已读
- "STO SENT":已发送
2.4 存储管理命令
AT+CPMS? # 查看存储使用情况 AT+CMGD=<index> # 删除指定短信 AT+CMGW="13800138000" # 写入草稿箱存储区域类型:
- "SM":SIM卡(容量有限,约50条)
- "ME":设备内存
- "MT":组合存储
3. 高级功能与网络配置
3.1 短信中心设置
AT+CSCA? # 查询当前短信中心 AT+CSCA="+8613800100500" # 设置北京移动短信中心常见问题:短信发送失败时,需确认短信中心号码是否正确。不同运营商号码:
- 中国移动:+8613800XXX500(XXX=区号)
- 中国联通:+8613010XXX500
3.2 小区广播接收
AT+CSCB=1,"50-100" # 接收50-100频道广播 AT+WCBM="EMERGENCY" # 设置紧急广播标识3.3 GPRS数据连接(扩展功能)
AT+CGATT=1 # 附着GPRS网络 AT+CSTT="cmnet" # 设置APN AT+CIICR # 激活移动场景 AT+CIFSR # 获取本地IP4. 实战问题排查手册
4.1 常见错误代码
| 错误码 | 含义 | 解决方案 |
|---|---|---|
| +CMS ERROR: 500 | 未知错误 | 重启设备 |
| +CMS ERROR: 330 | 存储满 | 执行AT+CMGD清理 |
| +CMS ERROR: 304 | PDU格式错误 | 检查TPDU字段长度 |
4.2 中文乱码处理
- 确认使用PDU模式:
AT+CMGF=0 - 检查编码一致性:
- 发送端:UCS-2BE编码
- 接收端:相同解码方式
4.3 长短信分片
通过TP-UDH头实现自动重组:
AT+CSMP=17,167,0,8 # 设置8-bit UDH AT+CMGS=... # 发送含UDH头的PDU数据分片标识字段:
- 参考号(1字节)
- 分片数(1字节)
- 序号(1字节)
4.4 工业环境稳定性优化
- 增加硬件看门狗:
AT+WATCHDOG=1,5000 # 5秒喂狗间隔 - 启用错误重试:
AT+CR=3 # 最多重试3次 - 信号增强方案:
- 外接高增益天线
- 避免金属机柜屏蔽
我在实际项目中发现,Wavecom模块在-25°C~65°C范围内工作稳定,但需注意:
- 避免冷凝水导致电路短路
- 定期清理SIM卡触点氧化层
- 批量发送时建议每20条间隔2秒