1. 项目概述
最近在做一个基于STM32和4G Cat.1模块的远程控制项目,主要实现通过HTTP协议远程控制STM32外设(如LED灯)以及设备状态上报功能。这个项目非常适合想要学习物联网开发的初学者,因为HTTP协议是互联网最基础的协议之一,理解它对于后续开发MQTT、WebSocket等更复杂的物联网协议有很大帮助。
项目选用了STM32F103C8T6作为主控芯片,搭配合宙Air724UG 4G Cat.1模块。选择这个组合主要考虑以下几点:
- 成本低廉:STM32F103C8T6最小系统板价格在20元左右,Air724UG模块约50元
- 开发简单:STM32有丰富的开发资料和库支持,Air724UG内置TCP/IP协议栈
- 性能足够:对于简单的远程控制场景完全够用
1.1 硬件选型
硬件清单如下:
| 硬件模块 | 型号 | 核心作用 |
|---|---|---|
| 主控芯片 | STM32F103C8T6 | 核心控制,处理串口数据、外设驱动、HTTP指令解析 |
| 4G Cat.1模块 | 合宙Air724UG | 实现4G网络接入,透传HTTP协议数据 |
| 电源模块 | 5V2A直流电源+3.3V稳压模块 | 为STM32和4G模块供电 |
| 外设 | LED灯+220Ω限流电阻 | 远程控制的被控对象 |
| 辅助配件 | USB-TTL模块、杜邦线、面包板 | 调试和电路搭建 |
| 其他 | Nano SIM卡 | 4G网络接入的身份认证 |
这里特别说明一下4G模块的选型考虑:
- 选择Cat.1而不是NB-IoT是因为需要双向实时通信
- 选择Air724UG是因为它内置了HTTP协议栈,不需要在STM32上实现复杂的TCP/IP协议
- 模块支持移动/联通/电信全网通,适应性强
1.2 软件环境
开发所需的软件工具:
- Keil uVision5:STM32开发IDE,需要安装STM32F1的Device Family Pack
- 串口助手:推荐SSCOM或安信可串口助手,用于调试4G模块
- Python3+Flask:用于搭建简单的HTTP服务器
- ST-Link Utility:STM32程序烧录工具
- Notepad++:辅助代码编辑
提示:Keil的安装需要注意,社区版有32KB代码限制,对于本项目够用。如果代码超出限制,可以考虑使用免费的STM32CubeIDE。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件电路搭建
硬件连接是项目的基础,核心是STM32与4G模块的串口通信电路。这里我分享一些实际搭建时的经验和注意事项。
2.1 核心接线说明
(1)STM32与Air724UG串口连接
采用USART1与模块通信,接线方式为交叉连接:
- STM32 PA9(TX) → Air724UG RXD
- STM32 PA10(RX) → Air724UG TXD
- 共地连接
这里特别注意:
- Air724UG的串口电平是3.3V/5V兼容的,可以直接与STM32连接
- 务必确保TX-RX是交叉连接,我第一次就接反了导致无法通信
(2)4G模块供电
Air724UG的供电有特殊要求:
- 必须使用独立5V 2A电源
- 不能使用STM32的3.3V或5V引脚供电
- 峰
