zoukankan      html  css  js  c++  java
  • 实验十 ZStack 网状网络实验

    实验 ZStack 网状网络实验
    【实验目的】
    1. 了解 ZigBee 网状网络结构
    2. 掌握构建网状网络的方法
    【实验设备】
    1. 装有 IAR 开发工具的 PC 机一台
    2. 实验箱一台
    3. CCDebugger(以及 USB A-B 延长线)一个
    4. USB Mini 延长线一根
    【实验要求】
    1. 编程要求:使用协议栈提供的 API 函数编写应用程序。
    2. 实现功能:构建网状网络进行数据通信。
    3. 实验现象:协调器和路由器通信指示灯(D9)闪烁,其他节点通信指示灯(D9)熄灭,说明
    有节点通过路由器向协调器发送数据,网状网络构建 成功。
    【实验原理】
    通过设置网络中各个节点的网络拓扑参数为网状网组网方式,使协调器建立一个 ZigBee 网络,其
    他终端节点连接到网络时,以协调器节点或者路由器节点作为父节点,构成树状网络拓扑结构。并通过“ZigBee 调试助手”查看现象。

    实验流程图

    1.打开NWK中的nwk_globals.h,看到网络拓扑形状是由如图 2.161 所示的

    “ NWK_MODE_STAR ”(星型网)、“ NWK_MODE_TREE ” ( 树 状 网 ) 、

    “NWK_MODE_MESH”(网状网)3 个宏定义作为网络参数确定的;

    2.修改Zigbee节点组网的拓扑结构参数,

    改为拓扑结构为网状连接方式;

    3. 使用实验箱上的旋钮选中协调器节点,并选择编译协调器的代码,将代码烧进节点,调试并退出;

    4.选择路由器节点,转换节点,将此节点指定为路由器节点,将代码烧进节点,调试并退出,重复第4步骤可对指定路由器节点,这里我指定了两个路由器节点;

    5.选择终端节点,转换另一个节点,打开“SAPP_Device.h”文件,取消火焰传感器的注释,将火焰传感器的代码烧进此节点,指定为火焰传感器,调试并退出;

    6.转换另一个节点,打开“SAPP_Device.h”文件,取消温湿度传感器的注释,将温湿度传感器的代码烧进此节点,指定为温湿度传感器,调试并退出;

    7.打开Zigbee调试助手,用USB连接PC机和实验箱,点击Zigbee助手的“打开”按钮,(在PC机上的设备管理器选择端口为COM5);

    可以看到如上图的网络拓扑结构图。

    实验感想:

    通过这次实验了解了 ZigBee 网状网络结构,掌握了构建网状网络的方法。实验过程中,出现了一些小困难,但是通过按部就班,一步一步顺着实验步骤做下来,排除故障,最终把拓扑图弄出来了,在过程中掌握了关于Zigbee网络结构的构建方法,通过实践出真理。

    实验代码

    火焰传感器

    #ifndef _SAPP_DEVICE_H_

    #define _SAPP_DEVICE_H_

    #include "SAPP_FrameWork.h"

    #ifdef __cplusplus

    extern "C"

    {

    #endif

    enum {

      DevFire,                        // 火焰};

    #if !defined( ZDO_COORDINATOR ) && !defined( RTR_NWK )

    #define HAS_FIRE                  // 火焰传感器

    #ifdef __cplusplus

    }

    #endif

    #endif//_SAPP_DEVICE_H_

    温湿度传感器

    #ifndef _SAPP_DEVICE_H_

    #define _SAPP_DEVICE_H_

    #include "SAPP_FrameWork.h"

    #ifdef __cplusplus

    extern "C"

    {

    #endif

    enum {

        DevTemp = 1,                    // 空气温度

        DevHumm,                        // 空气湿度

    };

    #if !defined( ZDO_COORDINATOR ) && !defined( RTR_NWK )

    #define HAS_TEMP                  // 温度传感器

    #define HAS_HUMM                  // 湿度传感器

    #ifdef __cplusplus

    }

    #endif

    #endif//_SAPP_DEVICE_H_

  • 相关阅读:
    关于这个 blog
    P6499 [COCI2016-2017#2] Burza 题解
    CF1172F Nauuo and Bug 题解
    CF1479D Odd Mineral Resource 题解
    CF1442E Black, White and Grey Tree 题解
    CF1442D Sum 题解
    CF1025D Recovering BST 题解
    CF1056E Check Transcription 题解
    CF1025F Disjoint Triangles 题解
    红包算法的PHP实现
  • 原文地址:https://www.cnblogs.com/LeonNchu/p/10695813.html
Copyright © 2011-2022 走看看