You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bash脚本中自动化向USB连接的蜂窝调制解调器发送AT命令

如何在Bash脚本中自动化向USB连接的蜂窝调制解调器发送AT命令

我来帮你搞定这个自动化发送AT命令的问题!你之前尝试的几种思路方向都对,但细节上没调整到位,咱们一步步把这些方法修正优化:


方法一:用stty + echo(最原生,无需额外工具)

你之前用stty配置串口的思路没问题,但可能缺了关键的流控参数,而且没处理响应读取的时机。试试下面的完整脚本:

#!/bin/bash

# 配置串口:波特率115200(根据你的调制解调器实际值调整),关闭本地回显,开启硬件流控
stty -F /dev/ttyUSB0 115200 raw -echo -echoe -echok -echoctl -echoke -crtscts

# 发送AT命令(必须加\r,这是AT命令的标准结束符)
echo -e -n "AT\r" > /dev/ttyUSB0

# 给调制解调器一点处理时间(1秒足够,可根据实际调整)
sleep 1

# 读取并打印响应
cat /dev/ttyUSB0

关键注意点:

  • 波特率要和你的调制解调器默认值匹配(常见的有115200、9600,如果不确定可以先用screen手动连接看初始输出)
  • -crtscts是硬件流控,大部分蜂窝调制解调器都需要这个参数,否则会出现命令发送失败或响应乱码
  • 如果执行时权限不够,要么加sudo,要么把当前用户加入dialout组(执行sudo usermod -aG dialout $USER后重新登录)

方法二:用screen会话自动化

你之前的screen命令格式不对,screen需要先关联串口设备,再通过stuff命令发送输入。试试这个流程:

#!/bin/bash

# 启动一个后台screen会话,连接到串口
screen -dmS modem_session /dev/ttyUSB0 115200

# 等待会话初始化完成
sleep 1

# 向会话发送AT命令(同样要加\r)
screen -S modem_session -X stuff "AT\r"

# 等待响应生成
sleep 1

# 把会话内容导出到日志文件
screen -S modem_session -X hardcopy modem_response.log

# 关闭screen会话
screen -S modem_session -X quit

# 查看响应
cat modem_response.log

方法三:用minicom(专用串口工具,多数系统预装)

如果你的系统有minicom,用它来自动化会更省心,因为它专门处理串口交互:

  1. 先创建一个包含AT命令的文本文件at_cmds.txt,每行命令结尾加\r:
AT\r
AT+CGMI\r  # 查询制造商信息
quit\r     # 执行完退出minicom
  1. 然后执行命令:
minicom -D /dev/ttyUSB0 -b 115200 -C modem_log.txt -S at_cmds.txt
  • -D指定串口设备,-b设置波特率,-C保存交互日志到文件,-S指定要执行的命令文件

备选:Python + pyserial(适合复杂交互)

如果你需要更灵活的逻辑(比如根据前一条命令的响应发送下一条),pyserial是个不错的选择,安装也很简单(pip install pyserial):

import serial
import time

# 打开串口,设置超时1秒
ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1)

# 发送AT命令
ser.write(b'AT\r')
# 等待并读取响应
response = ser.read_all().decode('utf-8')
print("AT命令响应:\n", response)

# 可以继续发送其他命令
ser.write(b'AT+CSQ\r')  # 查询信号强度
response = ser.read_all().decode('utf-8')
print("\n信号强度响应:\n", response)

# 关闭串口
ser.close()

备注:内容来源于stack exchange,提问作者nitrocoldbru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 13:48:16