这是一个用于 AIR780E(USB 版本) 的命令行工具,支持 发送和接收短信(SMS)。
- 接收短信:自动监听模块的短信通知,并转发保存到本地文件
- 发送短信:通过命令行直接向指定手机号发送短信
A command-line tool for sending and receiving SMS via the AIR780E (USB version).
- Incoming messages are forwarded to a local file
- outgoing messages can be sent directly from the CLI.
English Documentation: See the English version README.
请确保当前用户有权限访问串口设备(/dev/tty*):
sudo usermod -aG dialout $USER执行完成后,注销并重新登录,使用户组变更生效。
本项目使用 uv 进行 Python 虚拟环境和依赖管理。
在项目根目录下运行:
uv sync该命令会创建虚拟环境并安装所需依赖。
启动短信监听服务,将收到的短信写入本地文件 messages.jsonl:
uv run air780e listen程序会持续运行,实时解析并记录模块收到的短信。
向指定手机号发送一条短信:
uv run air780e send --phone 1234567890 --message "Hello, World!"--phone:目标手机号码--message:短信内容(文本模式)
注意:首次使用必须先运行监听命令,确保模块已初始化。
可通过 systemd 将监听进程注册为系统服务,实现开机自动启动。
先生成 systemd 单元文件内容:
uv run air780e gen-server将其放置到:
/etc/systemd/system/air780e_sms_listener.service加载并启用服务:
sudo systemctl daemon-reload
sudo systemctl enable air780e_sms_listener.service
sudo systemctl start air780e_sms_listener.service此后服务将在系统启动时自动运行。
可向运营商号码发送话费查询短信,以验证服务是否正常工作:
# 中国联通
uv run air780e send --phone 10010 --message "CXHF"若本地日志应当能收到相应的回复短信记录。
本项目也提供一个极简的 Web 界面,用于格式化展示接收到的短信内容,见messages_viewer.html。需自行启动一个静态文件服务器来访问该页面,如 live-server。
- 当前版本基于 AIR780E 固件 v7.2
- 使用的 AT 指令集版本为 v1.6.7 👉 参考文档: 上海合宙 AT命令手册V1.6.7.pdf
- 操作系统:Ubuntu 24.04
- Python 版本:Python 3.12
旧版本代码保存在以下分支中:
archive/v2.0
- 该历史分支
archive/v2.0与较新的 AIR780E 固件不兼容 - 原因:AIR780E 新固件的 AT 指令集发生了较大变更
如果你使用的是 当前或较新的固件版本,请务必使用 main 分支中的最新实现。