附录:环境与示例速查
用途
本页是仿真篇的「工具书」:环境命令、官方示例、自研工程、日志清单,随时回来查。
A.1 环境速查
| 项 | 值 |
|---|---|
| 操作系统 | WSL2 + Ubuntu 24.04 |
| ns-3 版本 | 3.48(源码目录 ns-3.48/) |
| 官方 zigbee 示例 | src/zigbee/examples/ |
| 编译 | ./ns3 build |
| 运行示例 | ./ns3 run <示例名> |
| 带参数运行 | ./ns3 run "<示例名> --layout=2" |
| 存日志 | ./ns3 run <示例名> > out.log 2>&1 |
A.2 官方 5 个示例
| 示例 | 用途 |
|---|---|
zigbee-aps-data | 单播/组播应用数据收发(组播路由) |
zigbee-nwk-routing | 路由发现 + 路由表 |
zigbee-nwk-routing-grid | 网格拓扑路由 |
zigbee-nwk-association-join | 建网 + 关联入网 |
zigbee-nwk-direct-join | 直接入网 |
A.3 自研配套工程(仿真篇配套)
| 工程 | 源码位置 | 验证内容 |
|---|---|---|
| 点对点 LED 控制 | led-control/zigbee-led-control.cc | 角色+端点+命令协议+LED 执行 |
| 网状带终端 | mesh-network/zigbee-mesh-with-ze.cc | 3 路由器 + 终端组网 |
| 协议栈分层 | stack-layers/zigbee-stack-layers.cc | 29 字节帧逐层封装 |
A.4 日志文件清单(章节数据来源)
| 日志 | 对应章节 |
|---|---|
nwk-routing.log | 第7章(3 跳路径 00:00→52:c5→cf:e0→ad:6e) |
nwk-association-join.log | 第5章(建网 PAN 0x6ee6、16 信道扫描) |
aps-data.log | 第6/13章(GROUPCAST 端点 3 与 9 同收) |
stack-layers.log | 第2章(29 字节帧:MAC 9B+NWK 8B+APS 8B+载荷 2B+FCS 2B) |
zigbee-led-control.log | 第9章(LED 点亮/熄灭命令) |
star/tree/mesh 组网日志 | 第8/10章(三拓扑地址与时序) |
A.5 常见问题
Q:编译报错缺少 zigbee 模块? A:确认是 ns-3.48(首个内置 zigbee 的正式版);./ns3 build 后 ls build/src/zigbee 应存在。
Q:SetNwkLayerOnly() 运行崩溃? A:该接口会触发 APS→NWK 空指针断言,用完整 zh.Install(devs) 代替。
Q:ApsdeDataIndicationParams 字段名找不到? A:注意字段名:源端点 m_srcEndpoint、目的端点 m_dstEndPoint(大小写不同)。
Q:想复现本栏目日志? A:按 A.1 命令跑对应示例,输出内容(地址/时序可能随随机种子变化,机制不变)。