用途:通过串口登录嵌入式 Linux/RTOS 设备的 Shell,进行命令行交互、发送单条命令并捕获响应,或从文件批量按序执行命令。适用于 RS-485 半双工总线、非 UTF-8 编码或需 CR+LF 换行的设备,以及烧录复位后在设备端验证配置。
主要能力:自带 shell_proxy.py,基于 pyserial,跨 Linux、macOS、Windows。支持交互模式、单命令模式(--cmd)、批量脚本模式(--script);可用 --init 在连接后按序发送初始化命令,--encoding 指定编码,--crlf 调整换行,--rs485 与 --rs485-byte 处理半双工与逐字符回显,--hex 查看原始字节,--log 保存输出。
必要输入:串口设备路径(Windows 为 COMn,Linux 为 /dev/ttyUSBn 或 /dev/ttyACMn)、波特率;单命令模式需命令字符串,批量模式需脚本文件路径。可选参数包括编码、换行风格、RS-485 模式、超时、提示符正则、日志路径。
使用方式:先确认 pyserial 已安装(pip install pyserial),再运行脚本,例如交互模式 python shell_proxy.py -p <端口> -b <波特率>,按 Ctrl+] 退出;单命令模式加 --cmd "<命令>";批量模式加 --script <脚本文件>。串口与波特率按显式输入、Project Profile、自动检测的优先级确定,多个合理候选时列出并阻塞。
限制与失败分流:缺少 pyserial 返回 environment-missing;端口无法打开返回 connection-failure;无权限返回 permission-problem;超时无响应返回 target-response-abnormal;候选冲突返回 ambiguous-context;脚本无法解析返回 project-config-error。Linux 下常见 PermissionError,需检查用户组或 udev 规则;macOS 优先 /dev/cu.*。具体收费、价格与平台支持细节暂未提供。