云计算百科
云计算领域专业知识百科平台

环境监测 LED 大屏系统 —— 从 MCU 到 Android 全栈实战(一)功能全景

这个系统能做什么?

一句话:温湿度传感器 → 单片机 → 服务器 → Web看板 / Android手机 / LED大屏 同时监控和控制。

四大功能模块

1. 实时环境监测

  • 11 类传感器数据采集:温度、湿度、PM2.5、PM10、CO₂、噪音、可燃气体等
  • 3 秒无新数据自动标记离线,卡片自动隐藏
  • 历史数据保留最近 100 条,超出自动滚动

效果:Web 仪表盘和 Android 看板实时刷新,哪个传感器在线就显示哪个,离线的自动消失。

2. 趋势图表

  • 温度、湿度两条独立折线图,30 点滑动窗口
  • 可选指标(PM2.5、CO₂ 等)自由切换查看趋势
  • 每张卡片底部有彩色进度条,直观反映量程占比

实现:Chart.js(Web)/ 自定义 Canvas View(Android),每次数据更新推入点,超过上限移除旧点。

3. 报警管理

  • 温度上下限、湿度上下限可配置
  • 超限立即生成报警记录,红色标注(危险)/ 黄色标注(预警)
  • 报警记录可查看、可清除
  • 阈值通过 TCP 同步到 MCU 单片机

实现:服务端每次收到数据后比较阈值 → 超限则插入报警表和报警列表 → Web/Android 独立轮询报警接口展示。

4. LED 大屏文本下发

  • 16 种显示动效:左移滚动、右移滚动、百叶窗、闪烁、展开等
  • 多行独立配置:每行可分别设置文本、坐标、颜色、字体、动效
  • 一键温湿度:自动拉取当前数据填充到发送行
  • 支持多页面切换,Page 4-9 留给远程控制
  • UID 持久化:内码文字可保存在控制卡内存,断电不丢

实现:Flask 构建 QY LED 二进制协议帧 → TCP 发到控制卡 8888 端口 → 卡解析并渲染到 128×64 点阵。

5. 手机远程监控

  • 5 个 Tab 页面:看板、发送、报警、历史、设置
  • 顶部 IP 输入框一键连接/切换服务器
  • 自定义折线图,支持触摸交互
  • 传感器数据卡片无数据自动隐藏
  • 所有配置自动保存到本地

系统是怎么跑起来的?

温度传感器 (SHT30)
↓ I²C
STC12C5A60S2 单片机
↓ 串口转以太网
Flask 服务器 (端口 8086)
├─→ Web 仪表盘 (浏览器访问)
├─→ Android App (手机安装)
└─→ QY LED 控制卡 (128×64 点阵大屏)

数据流:

  • MCU 每秒读一次传感器,通过 HTTP POST 或 TCP 推送到 Flask
  • Flask 收到后存入内存(latest dict)+ SQLite 数据库 + JSON 文件
  • Web 仪表盘每 500ms 拉一次 /api/data 刷新显示
  • Android App 每 1 秒拉一次刷新
  • 用户点击“发送”时,Flask 构建二进制帧通过 TCP 发到 LED 卡
  • 核心文件:

    • qyN2/led_server/server.py — Flask 服务端(HTTP API + TCP Server)
    • qyN2/led_server/templates/dashboard.html — Web 仪表盘
    • Android\\pros\\qy-led — Android 客户端
    • qyN2/Header File/QY.c — MCU LED 控制协议

    本系列将逐一拆解每个模块的具体实现。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 环境监测 LED 大屏系统 —— 从 MCU 到 Android 全栈实战(一)功能全景
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!