传感网与边缘计算基础

一个成熟的全屋智能,离不开一张覆盖全屋的传感网:人体存在传感器知道人在哪,门窗磁知道门窗开没开,温湿度传感器知道环境状态,水浸传感器盯着漏水风险。这些传感器通过 Zigbee、蓝牙 Mesh、Wi-Fi 等协议连到网关,形成一张分布式的感知网络。

传感数据如果全部上云再回来执行,一来一回延迟高,二来断网就瘫痪。边缘计算把数据汇聚和规则判断放在网关本地:传感器上报,网关立刻判断,直接下发执行,整个过程不出家门,响应在百毫秒级。

本文核心知识点
  • 传感网多协议传感器统一接入。
  • 本地汇聚网关侧数据采集与去抖。
  • 规则引擎条件动作的本地判定。
  • 场景联动多条件与防误触。

传感网的价值在于"感知即服务":上层场景不用关心数据从哪来,只订阅需要的状态变化。底层的传感器换品牌、换协议,上层场景照常运行。

智能家居传感网配图:深蓝渐变背景上发光的六边形边缘计算枢纽,多条发光细线连接四周圆形传感器节点图标,光点点缀的扁平科技插画
传感器织成网,网关做大脑。

传感器选型与部署

传感器选型看三个维度:感知类型、供电方式、通信协议。供电尤其关键——电池供电的传感器必须低功耗,走 Zigbee 或蓝牙 Mesh 才能用几年不换电池;市电供电的传感器(如摄像头、空气质量仪)可以用 Wi-Fi,数据量大也不心疼。

  • 人体存在:毫米波雷达比红外 PIR 更准,能感知静止存在,卫生间必备。
  • 门窗磁:干簧管方案成熟,注意安装位置和磁场干扰。
  • 温湿度:选精度 ±0.5 度以内的,放位置避开空调直吹和窗户。
  • 水浸/烟雾:安全类传感器要支持本地声光报警,不能只依赖推送。

部署要点是"覆盖关键区域、冗余关键事件":重点房间至少一个人体存在传感器,门窗磁覆盖所有出入口,水浸传感器放在水管密集处。安全类传感器建议双协议接入,一个断了另一个还能报警。

数据采集与本地汇聚

网关把异构协议的传感器统一成标准事件流,这是边缘计算的第一层。上报格式要做归一化:无论传感器走什么协议,到规则引擎这里都是统一的设备、属性、值、时间。

// 本地汇聚:传感器事件归一化后进入规则引擎(伪代码)
on_sensor_report(device, attr, value, ts) {
  event = { device, attr, value, ts };
  local_bus.emit(event);          // 发到本地事件总线
  dedup_filter.apply(event);      // 去抖:同一事件 2 秒内不重复触发
  rule_engine.evaluate(event);    // 交给规则引擎判断
}

汇聚层还要做去抖和聚合:人体传感器在门口反复触发,直接执行会频繁开关灯,加一个短去抖窗口就能消除抖动;温湿度变化缓慢,按变化阈值上报,而不是每秒都发,既省电又省网络。

边缘规则引擎

规则引擎是边缘计算的核心:用户配置的自动化场景在这里翻译成"条件 + 动作",事件到达就匹配条件,命中就执行动作。规则要跑在本地,断网也能生效。

// 规则配置示例:夜间有人进客厅就开灯
{
  "id": "rule-living-night",
  "when": {
    "device": "living_presence",
    "attr": "occupied",
    "op": "==",
    "value": true,
    "time": ["20:00", "06:00"]
  },
  "then": [
    { "device": "living_light", "action": "turn_on", "param": 60 }
  ]
}

规则引擎的健壮性来自三点:条件求值要幂等(同一事件重复评估结果一致)、动作执行要带超时和重试、规则之间要防冲突(两条规则同时命中同一设备时,定义优先级)。规则数量上去之后,建议用规则编辑器的可视化编排,而不是让用户手写 JSON。