第15章 智能家居综合项目
本章目标
把前面所有知识点串成一个完整的智能家居系统:传感采集 → 组网 → 路由 → 联动控制,并给出「仿真先行 + 真机落地」的双轨开发法。
15.1 系统设计
┌────────────── 协调器(网关) ──────────────┐
│ 短地址 0x0000 │
└──────┬──────────┬──────────┬───────────┘
┌──────┴───┐ ┌────┴─────┐ ┌──┴────────┐
路由器 1 路由器 2 路由器 3 终端(休眠)
(中继/扩展) (中继) (中继) ┌───────────┐
┌───────┴───┐ 终端DHT11(温湿度)
终端LED(灯) 终端按键(开关) 终端人体红外三张网合一:数据采集(温湿度/红外)+ 控制(LED 灯)+ 交互(开关)。
15.2 功能清单
| 功能 | 涉及的协议机制 | 对应章节 |
|---|---|---|
| 终端温湿度上报 | 单播(终端→协调器) | 第6章 |
| 开关控制灯 | 单播 + 端点寻址 | 第9章 |
| 一键关全屋灯 | 组播(同组多端点) | 第13章 |
| 中间路由器接力 | 网状路由(3 跳) | 第7章 |
| 树形扩展覆盖 | 路由器挂载终端 | 第10章 |
| 电池门磁休眠 | 终端不转发+父节点缓存 | 第11章 |
15.3 仿真先行:验证方案
在 ns-3 里搭出拓扑,验证四件事:
bash
# 1) 验证建网与全节点入网(时序、地址分配)
<PptMode />
./ns3 run zigbee-nwk-association-join > join.log 2>&1
# 2) 验证组播一键控制(同组多端点都收到)
<PptMode />
./ns3 run zigbee-aps-data > aps-data.log 2>&1
# 3) 验证 3 跳路由(协调器→终端)
<PptMode />
./ns3 run zigbee-nwk-routing > routing.log 2>&1
# 4) 自研点对点 LED 工程(角色+端点+命令协议)
<PptMode />
./ns3 run zigbee-led-control > led.log 2>&1通过标准:入网全部 SUCCESS、组播组内端点全收到、路由表 ACTIVE、LED 命令 0x01/0x00 正确执行。
15.4 真机落地:硬件清单
| 器件 | 数量 | 角色 |
|---|---|---|
| CC2530 开发板(含射频) | 4~6 块 | 协调器 1 + 路由器 2 + 终端 2~3 |
| DHT11 温湿度模块 | 1 | 终端采集 |
| LED + 电阻 | 2 | 灯(终端/路由器) |
| 按键 | 1 | 开关 |
| SmartRF04EB 仿真器 | 1 | 烧录 |
| 串口线 | 1 | 协调器→PC 调试 |
15.5 开发流程(双轨制)
① ns-3 仿真验证协议行为(本栏目) ← 快、免费、可重复
② 按第14章迁移表写 Z-Stack 应用 ← 换 API 皮
③ 烧录真机验证功能 ← 最终验收
④ 抓包/串口联调 ← 查问题验收标准
仿真通过 ≠ 真机通过:真机还要验证射频距离、干扰、掉线重连、功耗。仿真负责「逻辑对」,真机负责「能用、耐用」。