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_

  • 相关阅读:
    python 类
    python sys模块
    python os模块(2)
    python re模块
    python 最小公倍数
    python 最大公约数
    python datetime模块
    python 给定n,返回n以内的斐波那契数列
    python time模块
    python os模块(1)
  • 原文地址:https://www.cnblogs.com/LeonNchu/p/10695813.html
Copyright © 2011-2022 走看看