1. 项目概述:打造低成本短信转发系统
在物联网设备监控和远程控制场景中,短信通知仍然是最可靠的通信方式之一。传统方案通常需要依赖云服务或专用短信网关,而基于UART串口和4G模组的解决方案,可以让我们用不到百元的硬件成本搭建一个功能完备的短信转发系统。
这个项目的核心思路是利用Air780系列4G Cat.1模组的短信功能,通过串口与上位机通信。上位机程序负责解析短信内容,并通过各种通知渠道(如钉钉、企业微信等)将信息转发给最终用户。相比传统方案,这种架构有几个显著优势:
- 零流量消耗:短信功能直接使用SIM卡的基础通信服务,不需要依赖数据流量
- 硬件成本低:Air780模组价格亲民,且支持USB直连,省去了额外的转接电路
- 部署灵活:可运行在各种嵌入式设备甚至老旧电脑上,对硬件资源要求极低
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件选型与准备
2.1 核心硬件组件
Air780系列4G模组是这个项目的心脏,推荐选用以下型号:
- Air780EHV:支持4G Cat.1,内置TCP/IP协议栈
- Air780EHM:功能与EHV类似,封装尺寸更小
这些模组都具有以下关键特性:
- 支持GSM/4G网络
- 内置UART转USB桥接芯片
- 工作电压3.3V-5V,兼容大多数开发板
- 提供完整的AT指令集支持
提示:购买时注意选择带有USB接口的开发板版本,可以省去电平转换电路的设计。
2.2 配套硬件选择
根据部署环境的不同,可以考虑以下几种方案:
-
开发板直连方案:
- Air780开发板 ×1
- USB数据线 ×1
- 适用于快速验证和原型开发
-
嵌入式部署方案:
- Air780模组 ×1
- 树莓派/NanoPi等嵌入式主机 ×1
- 需要自行设计电源和接口电路
-
旧物利用方案:
- 任何带有USB接口的闲置设备(如淘汰的路由器、工控机)
- 通过USB Hub扩展连接
3. 软件环境搭建
3.1 基础开发环境
上位机程序使用Golang开发,需要准备以下工具链:
bash复制# 安装Golang(以Ubuntu为例)
sudo apt update
sudo apt install golang-go
# 验证安装
go version
# 设置GOPATH(如未自动设置)
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
对于Windows平台,可以直接下载官方安装包,建议选择1.18+版本。
3.2 项目源码获取
项目开源仓库包含以下核心组件:
- 串口通信驱动
- 短信解析模块
- 通知渠道适配器
- 管理接口服务
克隆仓库并安装依赖:
bash复制git clone https://github.com/xxx/uart-sms-gateway.git
cd uart-sms-gateway
go mod download
3.3 部署方式选择
方案A:原生安装
适合开发调试和定制化需求:
bash复制# 编译项目
go build -o sms-gateway main.go
# 运行服务
./sms-gateway --config=config.yaml
方案B:Docker部署
适合生产环境快速部署:
bash复制docker pull username/sms-gateway:latest
docker run -d --name sms-gateway \
-v /path/to/config:/app/config \
-v
