基于 STM32 与中移 OneNet 的智慧电梯监控平台设计
导语
高层建筑电梯的烟雾隐患、超载风险与运行状态不透明是智慧楼宇管理的痛点。本文设计一种以 STM32F103C8T6 为核心的智慧电梯监控平台,通过 MQ-2 监测烟雾浓度、HX711 称重模块测量载重,超阈值即刻蜂鸣器报警;OLED12864 直观显示运行状态,按键选择楼层后由 ULN2003 驱动步进电机精准切换,ESP8266 将数据上传中移 OneNet 平台实现远程实时监控,为电梯安全运行与智能化管理提供紧凑高效的解决方案。
一、系统功能总览
| 编号 | 功能名称 | 功能描述 |
|---|---|---|
| F1 | 烟雾监测 | MQ-2 实时检测烟雾浓度 |
| F2 | 载重监测 | HX711 + 称重传感器测量重量 |
| F3 | 超限报警 | 烟雾或超载触发蜂鸣器 |
| F4 | 状态显示 | OLED 显示浓度、载重、楼层 |
| F5 | 楼层控制 | 按键选层,电机正反转运行 |
| F6 | 电机驱动 | ULN2003 驱动步进电机 |
| F7 | 云端上传 | ESP8266 上传 OneNet 平台 |
| F8 | 远程监控 | 平台端实时查看运行数据 |
二、核心模块选型对比
2.1 主控模块选型
| 方案 | 型号 | 主频 | 优点 | 缺点 |
|---|---|---|---|---|
| 方案一 | STM32F103C8T6 | 72 MHz | 外设丰富、低功耗、社区支持广 | 无浮点 |
| 方案二 | NXP LPC1768 | 120 MHz | 性能更强、GPIO 更多 | 成本较高 |
选择方案一: 多传感器接入加电机控制加云端通信属中等复杂度应用,STM32F103C8T6 资源均衡且开发高效。
2.2 烟雾检测模块选型
| 方案 | 型号 | 原理 | 优点 | 缺点 |
|---|---|---|---|---|
| 方案一 | MQ-2 | MOS 半导体 | 多气体检测、案例成熟、成本低 | 精度一般 |
| 方案二 | MH-Z19 | NDIR 红外 | 高精度 CO₂ | 烟雾检测能力弱、成本高 |
选择方案一: 电梯轿厢烟雾预警只需阈值判断,MQ-2 适应性强、开发调试资料丰富。
2.3 称重检测模块选型
| 方案 | 型号 | 原理 | 优点 | 缺点 |
|---|---|---|---|---|
| 方案一 | HX711 | 24 位 A/D 专配桥式传感器 | 高分辨率、噪声抑制好、接口简单 | 采样率较低 |
| 方案二 | FSR402 | 力敏电阻 | 薄型、安装简单 | 精度低 |
选择方案一: 超载判断需要可靠重量数据,HX711 在精度与成本之间平衡最佳,DT/SCK 两线接口易于连接。
2.4 显示模块选型
| 方案 | 型号 | 分辨率 | 优点 | 缺点 |
|---|---|---|---|---|
| 方案一 | OLED12864 | 128×64 | 对比度高、广视角、功耗低 | 单色 |
| 方案二 | ST7735 TFT | 128×128 彩色 | 色彩丰富 | 成本功耗较高 |
选择方案一: 浓度、载重、楼层数据以文本显示足够,OLED 低功耗适合长时间运行。
2.5 电机驱动模块选型
| 方案 | 型号 | 电流 | 优点 | 缺点 |
|---|---|---|---|---|
| 方案一 | ULN2003 | 500 mA/通道 | 经济可靠、内置保护 | 精度与电流有限 |
| 方案二 | A4988 | 2 A、1/16 微步 | 精度高、运行平稳 | 需散热、成本高 |
选择方案一: 小型步进电机楼层切换场景,ULN2003 达林顿阵列驱动能力足够,性价比突出。
2.6 无线通信模块选型
| 方案 | 型号 | 技术 | 优点 | 缺点 |
|---|---|---|---|---|
| 方案一 | ESP8266 | Wi-Fi | 直连互联网、生态成熟 | 距离受限 |
| 方案二 | nRF905 | 433 MHz | 距离远、抗干扰 | 不能接入互联网 |
选择方案一: 系统需对接 OneNet 云平台,ESP8266 可直接联网上传,开发资源丰富。
三、系统接线总表
| 模块 | 引脚 | MCU 引脚 | 说明 |
|---|---|---|---|
| MQ-2 | AO | PA1 | ADC1 输入 |
| HX711 | DT/SCK | PA3/PA2 | 两线协议 |
| OLED12864 | SDA/SCL | PB7/PB6 | I²C1 |
| ULN2003 | IN1--IN4 | PB0--PB3 | 步进电机四相 |
| 蜂鸣器 | I/O | PB5 | 有源蜂鸣器 |
| ESP8266 | TX/RX | PA10/PA9 | USART1 |
| 楼层按键 K1--K4 | 一端 | PA8/PA11/PA12/PA15 | 选层 |
四、系统软件设计
4.1 主程序流程
上电初始化后进入主循环:采集烟雾浓度与载重 → OLED 刷新 → 超阈值触发蜂鸣器 → 扫描楼层按键,按楼层差控制步进电机正反转精准运行 → ESP8266 将烟雾、载重、楼层数据上传 OneNet。
int main(void)
{
SystemInit();
ADC1_Init();
OLED_Init();
HX711_Init();
Motor_Init();
ESP8266_Init();
ESP8266_OnenetLogin();
while (1)
{
/* 1. 数据采集 */
smoke = ADC_Read(PA1);
weight = HX711_Read() / SCALE;
/* 2. 安全判断 */
if (smoke > SMOKE_TH || weight > LOAD_TH)
Buzzer_On();
else
Buzzer_Off();
/* 3. 楼层控制 */
key = Key_Scan();
if (key) /* 选层 */
{
steps = FloorDiff(key, cur_floor);
Motor_Run(steps); /* 正/反转到位 */
cur_floor = key;
}
/* 4. 显示与上云 */
OLED_Show(smoke, weight, cur_floor);
Onenet_Update(smoke, weight, cur_floor);
delay_ms(300);
}
}
4.2 称重检测流程
HX711 上电自检 → SCK 输出脉冲串行读取 24 位补码 → 按通道增益配置转换 → 减去皮重、乘标定系数得载重公斤数,滤波平均后参与超载判断。
4.3 电机驱动流程
按四相八拍序列输出 PB0--PB3,目标楼层高于当前层正转、低于则反转;按每层固定步数计数到位后停机,保证楼层切换精准。
4.4 无线通信流程
ESP8266 AT 入网 → 按 OneNet EDP/MQTT 协议登录设备 → 周期上传烟雾、载重、楼层至平台数据流;平台可配置触发器实现异常告警推送。
五、系统实现与测试
5.1 硬件焊接与测试
模块焊接后测电源稳定,HX711 与称重传感器四线桥路接法核对无误;步进电机独立供电,ULN2003 输出相序用 LED 逐一验证。
5.2 软件实现与测试
Keil 编译下载,串口打印 HX711 原始码值与标定结果;OneNet 平台新建设备与数据流后联调上传,确认数据刷新周期与报警联动正常。
5.3 功能测试
| 测试编号 | 测试步骤 | 预期 | 结论 |
|---|---|---|---|
| T1 | 烟雾靠近 MQ-2 | 浓度上升、蜂鸣器报警 | 通过 |
| T2 | 增加载重至超限 | 超载报警触发 | 通过 |
| T3 | 按 K2 选 2 层 | 电机正转到 2 层并停止 | 通过 |
| T4 | 按低楼层键 | 电机反转到位 | 通过 |
| T5 | OLED 查看 | 浓度/载重/楼层实时显示 | 通过 |
| T6 | OneNet 平台查看 | 数据流实时更新 | 通过 |
| T7 | 连续运行 24 h | 系统稳定 | 通过 |
六、总结
本文以 STM32F103C8T6 为核心设计了智慧电梯监控平台,整合 MQ-2、HX711、OLED12864、ULN2003 步进电机与 ESP8266,实现烟雾与载重实时监测、超限报警、按键选层精准控制及 OneNet 云端远程监控;系统设计紧凑、功能全面、可靠性高,为智慧楼宇电梯的安全运行与智能化管理提供了高效实用的解决方案,具备良好的拓展性与推广价值。