把 AI 塞进智能井盖——基于 TinyML 的城市内涝预警边缘系统
城市“看海”模式如何提前刹车?
标签:TinyML、边缘计算、内涝预警、超声波测距、LoRa、低功耗、STM32
----
1. 背景:城市“看海”模式如何提前刹车?
每逢暴雨,#XX 地铁站成水帘洞# 总会冲上热搜。
传统方案:
• 布设立杆式水位站 → 成本高、易被撞;
• 人工巡检 → 雨越大越出不了门;
• 云端 AI → 4G 断网就罢工。
我们决定把 AI 直接塞进 井盖下方,做一个 超低功耗、离线推理、无线回传 的内涝预警节点。
----
2. 系统指标:井盖级“硬约束”
指标 数值 备注
设备体积 Φ110 mm × 40 mm 井盖内沿空间
供电 3.7 V 2600 mAh 锂亚电池 不可充电
续航 ≥ 3 年 占空比 0.1 %
通信 LoRa 470 MHz 城区 2 km 覆盖
预警延迟 ≤ 30 s 边缘推理 + 空口
成本 ≤ 120 元 BOM 批量价
----
3. 传感器组合:三合一“小钢炮”
• 超声波测距(JSN-SR04T)
测水位高度 0–100 cm,误差 ±1 cm
• 温度补偿(SHT31)
声速随温度漂移,算法实时校准
• 姿态检测(LIS3DH)
井盖倾斜 > 30° 即报警,防偷防移位
----
4. TinyML 模型:1 KB 也能做预测
4.1 问题定义
不是“测水位”,而是 “未来 15 min 是否超阈值”——二分类。
4.2 特征工程
• 当前水位 h
• 5 min 内水位变化率 Δh/Δt
• 温度 T
• 姿态角 θ
共 4 维 float,连续 8 帧 → 32 字节输入。
4.3 模型结构
• 单层 8 神经元全连接
• ReLU + Sigmoid 输出
• TFLite-Micro INT8 量化后 1.2 KB
• 推理一次 0.8 ms @STM32L431 80 MHz
训练代码(PyTorch → tflite):
model = nn.Sequential(
nn.Linear(32, 8),
nn.ReLU(),
nn.Linear(8, 1),
nn.Sigmoid()
)
train(model, dataset)
convert_to_tflite(model, representative_dataset)
----
5. 边缘决策逻辑
// main.c(伪代码)
float input[32];
while (1) {
read_sensors(input);
float prob = run_tflite(input);
if (prob > 0.7) {
send_lora_alert();
}
sleep(60 * 1000); // 1 min 周期
}
----
6. LoRa 报文格式(10 字节)
Byte 定义 示例
0-1 节点 ID 0x12 0x34
2 水位 cm 0x42
3 温度 ℃ 0x1E
4 倾斜角 0x05
5-6 预测概率 0xB2 0x04
7-9 CRC16 0x6F 0xA1
----
7. 功耗实测:3 年续航如何炼成?
阶段 电流 时长 单次能耗
传感器采样 12 mA 100 ms 0.33 mAs
MCU 推理 8 mA 1 ms 0.008 mAs
LoRa Tx 120 mA 40 ms 4.8 mAs
DeepSleep 18 µA 59.86 s 1.08 mAs
日均 — — 12 mAh
2600 mAh 电池 → 216 天 → 实际 3 年靠 占空比 0.1 %。
----
8. 云端联动:数字孪生一张图
• MQTT → InfluxDB 实时入库
• Grafana 热力图显示“危险井盖”
• API 推送到城管移动作业端,就近派单
----
9. 踩坑 & 彩蛋
坑 解决
超声波盲区 2 cm 内跳值 软件滤波:滑动中位数 3 点
LoRa 同频干扰 自适应扩频因子 SF7→SF9
彩蛋 井盖被掀开时蜂鸣器播放“滴——”提示音
----
10. 开源 & 量产
GitHub:
https://github.com/manhole-ai/flood-guard
提供:
• Altium 原理图 + PCB
• TFLite-Micro 模型源码
• LoRa 网关 Python 脚本
• 3D 打印外壳 STL
首批 500 套 已在深圳南山试点,暴雨当天提前 12 min 预警 3 处积水点。
----
11. 结语:TinyML 让城市更聪明
当 AI 可以藏在井盖下,
当 1 KB 模型也能守护城市安全,
你会发现 “边缘”比“云端”更靠近民生。
如果这篇文章帮你少踩一个水坑,欢迎去仓库点个 Star ⭐;
更欢迎留言聊聊你把 TinyML 塞进了哪些城市角落!
更多推荐
所有评论(0)