# STM32_EC600 **Repository Path**: mj_yyfddca/STM32_EC600 ## Basic Information - **Project Name**: STM32_EC600 - **Description**: stm32f103+ec600(4G模块)进行通信控制,后续添加MQTT协议以及云平台进行测试 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-03-14 - **Last Updated**: 2026-04-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: stm32, 4G, FreeRTOS, 云平台 ## README # STM32_EC600 ## 项目介绍 STM32_EC600 是一款基于 STM32F103 单片机和 EC600 4G 模块的物联网开发项目。该项目实现了 MCU 与 4G 模块的通信控制,支持 MQTT 协议连接云平台,可用于远程数据传输和设备控制场景。 ## 硬件平台 - **主控芯片**: STM32F103RCT6 (ARM Cortex-M3) - **通信模块**: EC600 4G 模块 - **开发板**: 正点原子 Fire-FreeRTOS 开发板 ## 软件架构 ``` STM32_EC600 ├── APP/ # 应用层 │ ├── ec600_app.c # 云平台命令处理与应用逻辑 │ └── ec600_app.h ├── DRIVER/ # 驱动层 │ ├── ec600_drv.c # EC600 4G模块AT命令驱动 │ ├── comm_drv.c # 通信数据缓冲驱动 │ └── cJSON.c # JSON解析库 ├── HARDWARE/ # 硬件抽象层 │ ├── led/ # LED驱动 │ ├── key/ # 按键驱动 │ ├── timer/ # 定时器驱动 │ ├── exti/ # 外部中断驱动 │ └── usart/ # 串口驱动 ├── User/ # 用户代码 │ ├── main.c # 主程序入口 │ └── FreeRTOSConfig.h # FreeRTOS配置 ├── FreeRTOS/ # FreeRTOS内核 ├── Libraries/ # STM32外设库 │ ├── CMSIS/ # ARM Cortex-M3内核接口 │ └── FWlib/ # STM32标准外设库 └── SYSTEM/ # 系统启动代码 ``` ## 功能特性 - ✅ 4G模块AT命令通信 - ✅ MQTT协议连接云平台 - ✅ JSON格式数据解析 - ✅ 云平台命令响应处理 - ✅ FreeRTOS多任务调度 - ✅ 串口数据收发DMA/中断模式 - ✅ LED/按键/定时器外设支持 ## 快速开始 ### 硬件连接 | STM32引脚 | EC600模块 | 说明 | |---------|---------|------| | PA2/PA3 | TXD/RXD | 串口通信 | | 其他 | POWER | 电源控制 | ### 编译环境 - **IDE**: Keil MDK 5.x - **编译器**: ARM Compiler 5/6 - **芯片包**: STM32F10x High-density Devices ### 编译步骤 1. 打开 `Project/Fire_FreeRTOS.uvprojx` 工程文件 2. 选择对应的目标芯片 3. 点击编译按钮生成固件 ### 烧录 使用 ST-Link 或 J-Link 调试器烧录程序。 ## 核心API ### EC600驱动 (ec600_drv.c) ```c // 初始化EC600模块 EC600E_AT_ACK_STATUS EC600EInit(void); // 发送数据到云平台 void SendDataToCloud(char *data); ``` ### 应用层 (ec600_app.c) ```c // 云平台命令解析 void ParseCloudCommand(const char *json_str); // EC600接收任务 void EC600RecTask(void *parameter); ``` ## 云平台配置 在 `ec600_drv.c` 中配置MQTT连接参数: ```c char g_mqttUrl[] = "your-mqtt-server.com"; // MQTT服务器地址 char g_mqttClientId[] = "your-client-id"; // 客户端ID char g_mqttUserName[] = "your-username"; // 用户名 char g_mqttPassword[] = "your-password"; // 密码 ``` ## 目录结构说明 - `APP/` - 应用逻辑,包含云平台通信处理 - `DRIVER/` - 底层驱动,包含4G模块驱动和JSON解析 - `HARDWARE/` - 板级外设驱动 - `User/` - 用户代码和FreeRTOS任务创建 - `FreeRTOS/` - FreeRTOS实时操作系统内核 - `Libraries/` - STM32标准库和CMSIS - `SYSTEM/` - 系统启动文件 ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 技术支持 如有问题,请在 Gitee 提交 Issue。 ## 许可证 本项目仅供学习交流使用。