搜档网
当前位置:搜档网 › zigbee自组网技术

zigbee自组网技术

zigbee自组网技术
zigbee自组网技术

ZigBee的自组网及动态路由

①ZigBee技术所采用的自组织网是怎么回事?

举一个简单的例子就可以说明这个问题,当一队伞兵空降后,每人持有一个ZigBee网络模块终端,降落到地面后,只要他们彼此间在网络模块的通信范围内,通过彼此自动寻找,很快就可以形成一个互联互通的ZigBee网络。而且,由于人员的移动,彼此间的联络还会发生变化。因而,F8913D模块还可以通过重新寻找通信对象,确定彼此间的联络,对原有网络进行刷新。这就是自组织网。

②、ZigBee技术为什么要使用自组织网来通信?

网状网通信实际上就是多通道通信,在实际工业现场,由于各种原因,往往并不能保证每一个无线通道都能够始终畅通,就像城市的街道一样,可能因为车祸,道路维修等,使得某条道路的交通出现暂时中断,此时由于我们有多个通道,车辆(相当于我们的控制数据)仍然可以通过其他道路到达目的地。而这一点对工业现场控制而言则非常重要。

③、为什么自组织网要采用动态路由的方式?

所谓动态路由是指厦门四信Zigbee 网络中数据传输的路径并不是预先设定的,而是传输数据前,通过对网络当时可利用的所有路径进行搜索,分析它们的位置关系以及远近,然后选择其中的一条路径进行数据传输。在我们的网络管理软件中,路径的选择

使用的是“梯度法”,即先选择路径最近的一条通道进行传输,如传不通,再使用另外

一条稍远一点的通路进行传输,以此类推,直到数据送达目的地为止。在实际工业现场,预先确定的传输路径随时都可能发生变化,或者因各种原因路径被中断了,或者

过于繁忙不能进行及时传送。动态路由结合网状拓扑结构,就可以很好解决这个问题,从而保证数据的可靠传输。

Zigbee组网流程——理论

星形网络和树型网络可以看成是网状网络的一个特殊子集,所以接下来分析如何组建一个Zigbee网状网络。组建一个完整的Zigbee网络分为两步:第一步是协调器初始化一个网络;第二步是路由器或终端加入网络。加入网络又有两种方法,一种是子设备通过使用MAC层的连接进程加入网络,另一种是子设备通过与一个先前指定的父设备直接加入网络。 一、协调器初始化网络 协调器建立一个新网络的流程如图1所示。 图1 协调器建立一个新网络 1、检测协调器 建立一个新的网络是通过原语NLME_NETWORK_FORMATION.request发起的,但发起NLME_NETWORK_FORMATION.request原语的节点必须具备两个条件,一是这个节点具有ZigBee协调器功能,二是这个节点没有加入到其它网络中。任何不满足这两个条件的节点发起建立一个新网络的进程都会被网络层管理实体终止,网络层管理实体将通过参数值为INVALID_REQUEST的NLME_NETWORK_FORMATION.confirm的原语来通知上层这是一个非法请求。 2、信道扫描 协调器发起建立一个新网络的进程后,网络层管理实体将请求MAC子层对信道进行扫描。 信道扫描包括能量扫描和主动扫描两个过程。首先对用户指定的信道或物理层所有默认的信道进行一个能量扫描,以排除干扰。网络层管理实体将根据信道能量测量值对信道进行一个递增排序,并且抛弃能量值超过了可允许能量值的信道,保留可允许能量值内

的信道等待进一步处理。接着在可允许能量值内的信道执行主动扫描,网络层管理实体通过审查返回的PAN描述符列表,确定一个用于建立新网络的信道,该信道中现有的网络数目是最少的,网络层管理实体将优先选择没有网络的信道。如果没有扫描到一个合适的信道,进程将被终止,网络层管理实体通过参数仠为STARTUP_FAILURE的NLME_NETWORK_FORMATION.confirm的原语来通知上层初始化启动网络失败。 3、配置网络参数 如果扫描到一个合适的信道,网络层管理实体将为新网络选择一个PAN描述符,该PAN 描述符可以是由设备随机选择的,也可以是在NLME_NETWORK_FORMATION.request里指定的,但必须满足PAN描述符小于或等于0x3fff,不等于0xffff,并且在所选信道内是唯一的PAN描述符,没有任何其它PAN描述符与之是重复的。如果没有符合条件的PAN 描述符可选择,进程将被终止,网络层管理实体通过参数值为STARTUP_FAILURE的NLME_NETWORK_FORMATION.confirm的原语来通知上层初始化启动网络失败。确定好PAN 描述符后,网络层管理实体为协调器选择16位网络地址0x0000,MAC子层的macPANID 参数将被设置为PAN描述符的值,macShortAddress PIB参数设置为协调器的网络地址。 4、运行新网络 网络参数配置好后,网络层管理实体通过MLME_START.request原语通知MAC层启动并运行新网络,启动状态通过MLME_START.confirm原语通知网络层,网络层管理实体再通过NLME_NETWORK_FORMATION.confirm原语通知上层协调器初始化的状态。 5、允许设备加入网络 只有ZigBee协调器或路由器才能通过NLME_PERMIT_JOINING.request原语来设置节点处于允许设备加入网络的状态。当发起这个进程时,如果PermitDuration参数值为0x00,网络层管理实体将通过MLME_SET.request原语把MAC层的macAssociationPermit PIB 属性设置为FALSE,禁止节点处于允许设备加入网络的状态;如果PermitDuration参数值介于0x01和0xfe之间,网络层管理实体将通过MLME_SET.request原语把macAssociationPermit PIB属性设置为TRUE,并开启一个定时器,定时时间为PermitDuration,在这段时间内节点处于允许设备加入网络的状态,定时时间结束,网络层管理实体把MAC层的macAssociationPermit PIB属性设置为FALSE;如果PermitDuration参数的值为0xff,网络层管理实体将通过MLME_SET.request原语把macAssociationPermit PIB属性设置为TRUE,表示节点无限期处于允许设备加入网络的状态,除非有另外一个NLME_PERMIT_JOINING.request原语被发出。允许设备加入网络的流程如图2所示。

Zigbee组网实验之Sample App

Zigbee组网实验之Sample App https://www.sodocs.net/doc/f310109230.html,/ 佳杰科技开发套件,最便宜、最详细、最好的Zigbee开发套件。 1.实验设备: Q2530SB开发底板(V1.1以上版本)2块 RF2530N射频板2块 天线(非必要,影响传输距离)2根 SmartRF04EB仿真器带USB线和仿真器接头线1个 电池盒有电池一个(负责供电) 2.硬件连接说明 射频板RF2530N分别连接底板Q2530SB 仿真器USB线连接电脑和其中一块底板 电池盒连接另外一块底板、保证系统都正常供电 3.实验步骤及效果 1.打开实验代码:在路径Texas Instruments\ZStack-CC2530- 2. 3.0-1. 4.0\Projects\zstack\ Samples\SampleApp\CC2530DB下鼠标双击打开文件SampleApp.eww 2.在应用层APP文件夹中找到SampleApp.c文件,找到函数SampleApp_HandleKeys并双 击打开。 3.将函数中的代码做以下修改 if ( keys & HAL_KEY_SW_1 ) { /* This key sends the Flash Command is sent to Group 1. * This device will not receive the Flash Command from this * device (even if it belongs to group 1). */ SampleApp_SendFlashMessage( SAMPLEAPP_FLASH_DURATION ); } 改为 if ( keys==0x20 ) { /* This key sends the Flash Command is sent to Group 1. * This device will not receive the Flash Command from this * device (even if it belongs to group 1).

zigbee的系统结构和组网方式

简介 ZigBee是一种新兴的短距离、低功耗、低数据传输速率的无线网络技术,它是一种介于无线标记技术和蓝牙之间的技术方案。ZigBee是建立在IEEE802.15.4标准之上,它确定了可以在不同制造商之间共享的应用纲要。IEEE802.15.4标准定义了ZigBee协议的PHY层和MAC层。PHY层规范确定了在2.4GHz(全球通用的ISM频段)以250kb/s的基准传输率工作的低功耗展频无线电以及另有一些以更低数据传输率工作的915MHz(北美的ISM频段)和868MHz(欧洲的ISM频段)的实体层规范。MAC层规范定义了在同一区域工作的多个IEEE802.15.4无线电信号如何共享空中通道。 为了促进ZigBee技术的发展,2001年8月成立了ZigBee联盟,2002年下半年,英国Invensys公司、日本三菱电子公司、美国摩托罗拉公司以及荷兰飞利浦半导体公司四大巨头共同宣布,它们将加入“ZigBee联盟”,目前该联盟已经有150多家成员,以研发名为ZigBee的下一代无线通信标准。 正如前面所述,ZigBee不仅仅只是802.15.4的名字,IEEE802.15.4仅处理低级MAC层和PHY层协议,所以ZigBee联盟对其网络层协议和API进行了标准化,还开发了安全层,以保证这种便携设备不会意外泄漏其标识。 ZigBee的组成和构网方式 1.FFD和RFD 利用zigbee技术组件的无线个人区域网(WPAN)是一种低速率的无线个人区域网(LR WPAN),这种低速率个人区域网的网络结构简单、成本低廉,具有有限的功率和灵活的吞 吐量。 在一个LR WPAN网络中,可同时存在两种不同类型的设备,一种是具有完整功能的设备(FFD),另一种是简化功能的设备(RFD)。 在网络中,FFD通常有3中工作状态:(1)作为个人区域网络(PAN)的主协调器;(2) 作为一个普通协调器;(3)作为一个终端设备。FFD可以同时和多个RFD或其他FFD通信。 而RFD则只用一种工作状态即作为一个终端设备,并且一个RFD只能和一个FFD通信。2.ZigBee的体系结构 ZigBee体系结构主要有物理(PHY)层、媒体接入控制(MAC)层、网络/安全层以及应用框架层构成,如下图所示:

Zigbee组网流程

1、网络形成 组网开始时,网络层首先向MAC层请求分配协议所规定的信道,或者由PHY层进行有效信道扫描,网络层管理实体等待信道扫描结果,然后根据扫描结果选择可允许能量水平的信道。找到合适的信道后,为这个新的网络选择一个个域网标识符(PANID)。PANID可由网络形成请求时指定,也可以随机选择一个PANID(除广播PANID固定为0xFFFF外),PANID 在所选信道中应该是唯一的。PANID一旦选定,无线网关将选择16位网络地址0x0000作为自身短地址,同时进行相关设置。完成设置后,通过MAC层发出网络启动请求,返回网络形成状态。 2、网络维护 网络维护网络维护主要包括设备加入网络和离开网络过程。当网络形成后,通过网络管理实体设定MAC层连接许可标志来判断是否允许其他设备加设备初始化为协调器入网络。加入方式有联合方式和直接方式,在协议实现中采取直接加入网络方式。这种方式下由待加入的设备发送请求加入信标帧,网关接收到后,网络管理实体首先判断这个设备是否已存在于网络。存在,则使其加入网络;若不存在,则向设备发送信标帧,为这个设备分配一个网络中唯一的16位的短地址。这里的信标帧是由网关无线协议MAC层生成作为PHY层载荷,它包含PANID、加入时隙分配等信息。网内设备也可以请求断开网络。当网关收到设备断

开连接请求后,MAC层向网络层发送报告,开始执行断开流程,从设备列表中删除该设备相关信息。 网络层上层请求网络层发现当前在运行的网络: NLME NETWORK DISCOVERY.request(ScanChannels,ScanDuration) ScanChannels:高5为保留(b27~b31),低27为分别表示27个有效信道,该位为1,表示扫描;为0不扫描。 ScanDuration:扫描时间,aBaseSuperframeDuration*(2^n+1),n为ScanDuration值。 网络层在家收到该原语后,将通过检查ScanChannels参数发现网络,如果该设备为一个FFD 设备,则执行主动的扫描。如果为一个RFD设备,倘若设备实现主动扫描,那么他会执行主动的扫描,否则 一个合适的父节点需要满足三个条件:匹配的PAN标志符、链路成本最大为3、允许连接,为了寻找合适的父节点,NLME_JOIN.request原语请求网络层搜索它的邻居表,如果邻居表中不存在这样的父节点则通知上层,如果存在多个合适的父节点则选择具有最小深度的父节点,如果存在多个具有最小深度的合适的父节点则随机选择一个父节点。

ZigBee的工作原理

ZigBee 的工作原理_ZigBee 组网技术ZigBee 是一种高可靠的无线数传网络,类似于CDMA和GSM网络。ZigBee 数传模块类 似于移动网络基站。通讯距离从标准的75m到几百米、几公里,并且支持无限扩展。Zigbee 技术特点主要有低功耗、低成本、时延短、网络容量大、工作频段灵活、低速率、安全的数据传输等。其中低功耗是Zigbee 技术最重要的特点。由于Zigbee 的传输速率相对较低发射功率较小,使得Zig bee 设备很省电,这是Zigbee 技术能够广泛应用的基石。 ZigBee 协议适应无线传感器的低花费、低能量、高容错性等的要求。Zigbee 的基础是IEEE 802.15.4 。但IEEE仅处理低级MAC层和物理层协议,因此Zigbee 联盟扩展了IEEE,对其网络层协议和API 进行了标准化。Zigbee 是一种新兴的短距离、低速率的无线网络技术。主要用于近距离无线连接。它有自己的协议标准,在数千个微小的传感器之间相互协调实现通信。 ZigBee 组网概述 组建一个完整的zigbee 网状网络包括两个步骤:网络初始化、节点加入网络。其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网。 ZigBee 网络初始化预备 Zigbee 网络的建立是由网络协调器发起的,任何一个zigbee 节点要组建一个网络必须要满足以下两点要求: (1)节点是FFD节点,具备zigbee 协调器的能力; (2)节点还没有与其他网络连接,当节点已经与其他网络连接时,此节点只能作为该网络的子节点,因为一个zigbee 网络中有且只有一个网络协调器。 FFD:Full Func TIon Device 全功能节点 RFD:Reduced Func TI onDevice 半功能节点

Zigbee组网程序

SappleApp.c #include "OSAL.h" #include "ZGlobals.h" #include "AF.h" #include "aps_groups.h" #include "ZDApp.h" #include "SampleApp.h" #include "SampleAppHw.h" #include "OnBoard.h" /* HAL */ #include "hal_lcd.h" #include "hal_led.h" #include "hal_key.h" #include "string.h" #include "MT_UART.h" //#include "Lcd128X64.h" #include "UtOled.h" #include "sensor.h" #include "HAL_ADC.h" #include "exsensor.h" #include "lcd128_64.h" const cId_t SampleApp_ClusterList[SAMPLEAPP_MAX_CLUSTERS] = { SAMPLEAPP_PERIODIC_CLUSTERID, SAMPLEAPP_FLASH_CLUSTERID }; const SimpleDescriptionFormat_t SampleApp_SimpleDesc = { SAMPLEAPP_ENDPOINT, // int Endpoint; SAMPLEAPP_PROFID, // uint16 AppProfId[2]; SAMPLEAPP_DEVICEID, // uint16 AppDeviceId[2]; SAMPLEAPP_DEVICE_VERSION, // int AppDevVer:4; SAMPLEAPP_FLAGS, // int AppFlags:4; SAMPLEAPP_MAX_CLUSTERS, // uint8 AppNumInClusters; (cId_t *)SampleApp_ClusterList, // uint8 *pAppInClusterList; SAMPLEAPP_MAX_CLUSTERS, // uint8 AppNumInClusters; (cId_t *)SampleApp_ClusterList // uint8 *pAppInClusterList; };

ZigBee的工作原理

ZigBee得工作原理_ZigBee组网技术ZigBee就是一种高可靠得无线数传网络,类似于CDMA与GSM网络。ZigBee数传模块类似于移动网络基站。通讯距离从标准得75m到几百米、几公里,并且支持无限扩展。Zig bee技术特点主要有低功耗、低成本、时延短、网络容量大、工作频段灵活、低速率、安全得数据传输等。其中低功耗就是Zigbee技术最重要得特点。由于 Zigbee得传输速率相对较低发射功率较小,使得Zig bee设备很省电,这就是 Zigbee技术能够广泛应用得基石。 ZigBee协议适应无线传感器得低花费、低能量、高容错性等得要求。Zigbee 得基础就是IEEE 802.15。4、但IEEE仅处理低级MAC层与物理层协议,因此Zigbee联盟扩展了IEEE,对其网络层协议与API进行了标准化。Zigbee就是一种新兴得短距离、低速率得无线网络技术。主要用于近距离无线连接。它有自己得协议标准,在数千个微小得传感器之间相互协调实现通信。 ZigBee组网概述 组建一个完整得zigbee网状网络包括两个步骤:网络初始化、节点加入网络。其中节点加入网络又包括两个步骤:通过与协调器连接入网与通过已有父节点入网。 ZigBee网络初始化预备 Zigbee网络得建立就是由网络协调器发起得,任何一个zigbee节点要组建一个网络必须要满足以下两点要求: (1)节点就是FFD节点,具备zigbee协调器得能力; (2)节点还没有与其她网络连接,当节点已经与其她网络连接时,此节点只能作为该网络得子节点,因为一个zigbee网络中有且只有一个网络协调器。 FFD:Full Func TI on Device 全功能节点 RFD:Reduced FuncTI onDevice半功能节点

ZigBee源码程序及解释

协议栈无线透传编程原理: 第一个功能:协调器的组网,终端设备和路由设备发现网络以及加入网络 //第一步:Z-Stack 由 main()函数开始执行,main()函数共做了 2 件事:一是系统初始化,另外一件是开始执行轮转查询式操作系统 int main( void ) { ....... // Initialize the operating system osal_init_system(); //第二步,操作系统初始化...... osal_start_system(); //初始化完系统任务事件后,正式开始执行操作系统 ...... } //第二步,进入 osal_init_system()函数,执行操作系统初始化 uint8 osal_init_system( void ) //初始化操作系统,其中最重要的是,初始化操作系统的任务 { // Initialize the Memory Allocation System osal_mem_init(); // Initialize the message queue osal_qHead = NULL; // Initialize the timers osalTimerInit(); // Initialize the Power Management System osal_pwrmgr_init(); // Initialize the system tasks. osalInitTasks(); //第三步,执行操作系统任务初始化函数 // Setup efficient search for the first free block of heap. osal_mem_kick(); return ( SUCCESS ); } //第三步,进入osalInitTasks()函数,执行操作系统任务初始化 void osalInitTasks( void ) //第三步,初始化操作系统任务 { uint8 taskID = 0; tasksEvents = (uint16 *)osal_mem_alloc( sizeof( uint16 ) * tasksCnt); osal_memset( tasksEvents, 0, (sizeof( uint16 ) * tasksCnt));

Zigbee网络设备启动流程—协调器(自启动模式)

使用的协议栈版本信息: ZigBee2006\ZStack-1.4.3-1.2.1 Zigbee网络设备启动流程—协调器(自启动模式)—以SampleApp的协调器为例. 1、协调器预编译信息 通过project->options->c/c++compiler->extraOptions可以看到协调器所带的配置文件为: -f $PROJ_DIR$\..\..\..\Tools\CC2430DB\f8wCoord.cfg -f $PROJ_DIR$\..\..\..\Tools\CC2430DB\f8wConfig.cfg 即编译了ZDO_COORDINATOR和RTR_NWK. 通过project->options->c/c++compiler->reprocessor->Defined symbols可以看到协调器预编译包含了: CC2430EB; ZTOOL_P1; MT_TASK; LCD_SUPPORTED=DEBUG; MANAGED_SCAN 没有编译HOLD_AUTO_START和SOFT_START. 2、具体流程 main()->osal_init_system()->osalInitTasks()->ZDApp_Init() 进入ZDApp_Init()函数: ************************************** void ZDApp_Init( byte task_id ) { uint8 capabilities; // Save the task ID ZDAppTaskID = task_id; // Initialize the ZDO global device short address storage ZDAppNwkAddr.addrMode = Addr16Bit; ZDAppNwkAddr.addr.shortAddr = INVALID_NODE_ADDR; //0xFFFE (void)NLME_GetExtAddr(); // Load the saveExtAddr pointer. // Check for manual"Hold Auto Start" //检测到有手工设置SW_1则会设置devState = DEV_HOLD,从而避开网络初始化 ZDAppCheckForHoldKey(); // Initialize ZDO items and setup the device - type of device to create. ZDO_Init(); //通过判断预编译来开启一些函数功能 // Register the endpoint description with the AF // This task doesn't have a Simple description, but we still need // to register the endpoint. afRegister( (endPointDesc_t *)&ZDApp_epDesc ); #if defined( ZDO_USERDESC_RESPONSE ) ZDApp_InitUserDesc(); #endif // ZDO_USERDESC_RESPONSE // set broadcast address mask to support broadcast filtering NLME_GetRequest(nwkCapabilityInfo, 0, &capabilities); NLME_SetBroadcastFilter( capabilities ); // Start the device? if ( devState != DEV_HOLD ) { ZDOInitDevice( 0 ); }

zigbee网络建立过程简介(G1)知识讲解

z i g b e e网络建立过程 简介(G1)

星形网络和树型网络可以看成是网状网络的一个特殊子集,所以接下来分析如何组建一个Zigbee网状网络。组建一个完整的Zigbee网络分为两步:第一步是协调器初始化一个网络;第二步是路由器或终端加入网络。加入网络又有两种方法,一种是子设备通过使用MAC层的连接进程加入网络,另一种是子设备通过与一个先前指定的父设备直接加入网络。 一、协调器初始化网络 协调器建立一个新网络的流程如图1所示。 图1 协调器建立一个新网络 1、检测协调器 建立一个新的网络是通过原语NLME_NETWORK_FORMATION.request发起的,但发起 NLME_NETWORK_FORMATION.request原语的节点必须具备两个条件,一是这个节点具有ZigBee协调器功能,二是这个节点没有加入到其它网络中。任何不满足这两个条件的节点发起建立一个新网络的进程都会被网络层管理实体终止,网络层管理实体将通过参数值为INVALID_REQUEST的 NLME_NETWORK_FORMATION.confirm的原语来通知上层这是一个非法请求。 2、信道扫描 协调器发起建立一个新网络的进程后,网络层管理实体将请求MAC子层对信道进行扫描。信道扫描包括能量扫描和主动扫描两个过程。首先对用户指定的信道或物理层所有默认的信道进行一个能量扫描,以排除干扰。网络层管理实体将根据信道能量测量值对信道进行一个递增排序,并且抛弃能量值超过了可允许能量值的信道,保留可允许能量值内的信道等待进一步处理。接着在可允许能量值内的信道执行主动扫描,网络层管理实体通过审查返回的PAN描述符列表,确定一个用于建立新网络的信道,该信道中现有的网络数目是最少的,网络层管理实体将优先选择没有网络的信道。如果没有扫描到一个合适的信道,进程将被终止,网络层管理实体通过参数仠为STARTUP_FAILURE的NLME_NETWORK_FORMATION.confirm的原语来通知上层初始化启动网络失败。 3、配置网络参数

Zigbee组网实验报告

Zigbee组网实验 一.实验目的 1.了解zigbee网络 2.掌握zigbee节点程序下载方式 3.掌握如何组建zigbee星状网络 二.实验意义 通过实验了解zibee网络的特点,体会其组网及通信过程 三.实验环境 PC机一台(内安装IAR环境) 智能网关一个 ZigBee节点 ZigBee仿真器一套 四.实验原理 每一个星状网络中只有一个协调器,当协调器被激活后,它就会建立一个自己的网络。其它位于协调器附近的zigbee节点,如果与该协调器处于同一信道,则会自动加入到该网络当中。 五.实验步骤 一、认识实验设备以及下载设备连接 连接线路如图所示: 二、Zigbee网络组建

1、协调器下载 协调器在本套智能家居系统中担任信息收集与传输的工作,它和每个ZigBee模块进行无线通讯,并将信息传送给智能网关,同时也将网关的控制指令发送给各个模块。 我们首先将一个ZigBee模块下载成协调器,具体步骤如下: (1)打开“\实验程序\协调器\Projects\zstack\Samples\collector SimpleApp 1.25\ CC2430DB\SimpleApp.eww”。如图1-6所示: (2)不同的实验小组选择自己所分配的信道。点击左侧的文件导航栏,找到tools文件夹,打开其中的文件f8wConfig.cfg,找到自己小组的信道,将行的注释去掉,并且确认其他各个信道代码均为注释状态。 更改完信道之后,在菜单栏中选择Project\Rebuild All进行编译,编译完成后生成的HEX 文件保存在\实验程序\协调器 \Projects\zstack\Samples\collectorSimpleApp1.25\CC2430DB\SimpleCollectorEB\Exe 中。 (3)更改完信道之后,在菜单栏中选择Project\Rebuild All进行编译,编译完成后生成的HEX文件保存在\实验程序\协调器 \Projects\zstack\Samples\collectorSimpleApp1.25\CC2430DB\SimpleCollec torEB\Exe中; (4)打开smartRF下载软件,如图所示,按照图将下载设备的各个线连接好,之后按一下下载器(也就是白色盒子)上面的黑色按钮,则下载界面中将会识别到要与下载器相连接的zigbee模块芯片,如图所示,对相关条件进行勾选; 2.其它zigbee终端节点的下载 Zigbee终端节点在上电后自动加入到处于同一信道的zigbee协调器所组建的zigbee网络当中。

Zigbee整理培训资料

第一章 1. Zigbee的定义: Zigbee是一种近距离、低复杂度、低功耗、低成本的双向无线通信技术。 2. Zigbee的基础是IEEE802.15.4,但是IEEE802.15.4仅处理低级的MAC(媒体接入控制协议)层和物理层协议,Zigbee联盟对网络层协议和应用层协议进行了标准化。 3. Zigbee芯片为CC243X系列、MC1322X系列和CC253X系列 常见的CC2420、CC2430、CC2431、CC2530 4.无线传感器网络与Zigbee的关系 *从协议标准来讲,目前大多数无线传感器网络的物理层和MAC层都采用IEEE802.15.4的协议标准. IEEE802.15.4描述了低速率无线个人局域网的物理层和媒体接入控制(MAC)层协议,属于 IEEE802.15.4工作组,而Zigbee技术是基于IEEE802.15.4标准的无线技术。 *从应用上来讲,Zigbee适用于通信数据量不大、数据传输速率相对较低,成本较低的携带或移动设备。这些设备只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另外一个传感器,并能实现传感器之间的组网,实现无线传感器网络分布式、自组织和低功耗的特点。 5. Zigbee的技术特点:低功耗、低成本、大容量、可靠、延时短、灵活的网络拓扑结构 6. Zigbee支持星型、树型和网状型拓扑结构,既可以单跳,又可以通过路由实现多跳的数据传输。 7. CC253X系列芯片大致由三部分组成:CPU和内存相关模块、外设、时钟和电源管理相关模块,无线电相关模块。 8.32/64/125/256KB闪存块 9.常见的Zigbee协议栈分为3种:非开源的协议栈、半开源的协议栈和开源的协议栈。第二章

ZigBee协议栈初始化网络启动流程

ZigBee协议栈初始化网络启动流程 ZigBee的基本流程:由协调器的组网(创建PAN ID),终端设备和路由设备发现网络以及加入网络。 基本流程:main()->osal_init_system()->osalInitTasks()->ZDApp_Init(),进协议栈初始化函数ZDApp_Init()。 进入程序入口main()。 中 C++ Code int main( void ) { */ WatchDogEnable( WDTIMX ); #endif osal_start_system(); } ZDO_Init(); afRegister( (endPointDesc_t *)&ZDApp_epDesc ); #if defined( ZDO_USERDESC_RESPONSE ) ZDApp_InitUserDesc(); #endif zgInitItems( FALSE ); } ZDConfig_InitDescriptors(); zgWriteStartupOptions( ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE );

} #if defined ( NV_RESTORE ) if ( HalKeyRead() == SW_BYPASS_NV ) networkStateNV = ZDO_INITDEV_NEW_NETWORK_STATE; else { On these devices or routers that have If the zgDefaultChannelList = MAX_CHANNELS_24GHZ; } #endif If the PAN is not found, an scan should be completed // When devices rejoin the network and the PAN is not found from zgDefaultChannelList = MAX_CHANNELS_24GHZ; } #endif // ZIGBEE_COMMISSIONING #endif } else if ( startMode == MODE_RESUME ) { if ( logicalType == NODETYPE_ROUTER )

第8讲 ZigBee组网流程报告

ZigBee网络关键技术研究 0 引言 20世纪六七十年代,计算资源放在计算中心,计算机的体积庞大;80年代,个人计算机普及,借助网络通信,实现资源共享、信息互通;90年代随着无线电话的普及,无线通信技术得到发展。现在常见的几种近距离无线通信技术: (1)WiFi:即IEEE802.11x,提供无线局域网的接入 (2)蓝牙:工作在2.4GHz的频段 (3)红外线数据通信IrDA:利用红外线进行点对点通信 (4)ZigBee:近距离无线通信技术,以2.4GHz为主要频段,采用扩频技术 Zigbee是IEEE 802.15.4协议的代名词,是一种短距离、低功耗的无线通信技术。其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。 Zigbee是一个由可多到65000个无线数传模块组成的一个无线数传网络平台,十分类似现有的移动通信的CDMA网或GSM网,每一个Zigbee网络数传模块类似移动网络的一个基站,在整个网络范围内,它们之间可以进行相互通信;每个网络节点间的距离可以从标准的75米,到扩展后的几百米,甚至几公里。 1 ZigBee网络拓扑结构 Zigbee协议标准中定义了三种网络拓扑结构形式:星状结构,树状结构,网状结构。星形网络和树型网络可以看成是网状网络的一个特殊子集,网络拓扑结构是最常用的结构形式。如图1所示,

图1 ZigBee网络拓扑结构图 Zigbee网络只支持2种物理设备;全功能设备(FFD,Full Function Device)和精简功能设备(RFD,Reduced FunctionDevice), 其中FFD设备可提供全部服务,可充当任何Zigbee节点,不仅可以发送和接收数据,还具有路由功能,因此可以接收子节点;而RFD设备只提供部分服务,只能充当终端节点,不能充当协调器和路由节点,它只负责将采集的数据信息发送给协调器和路由节点,并不具备路由功能,因此不能接收子节点,并且RFD之间的通信必须通过FFD才能完成。Z igbee 标准在此基础上定义了三种节点:Zigbee协调点(Coordinator)、路由节点(Router)和终端节点(EndDevice)。 总结起来,可为协调点、路由节点必须为FFD设备,终端节点可为FFD设备也可为RFD 设备。 2 ZigBee模块的组网 Zigbee网络具有三种网络形态节点:Coordinator(中心协调器),Router(路由器),End Device(终端节点)。 Coordinator(中心协调器),用来创建一个Zigbee网络,当有节点加入时,分配地址给子节点,Coordinator通常定义为不能掉电的设备,没有低功耗状。每个Zigbee网络需要且仅需要一个Coordinator,不同网络的PAN ID(网络ID号)应该不一样,如果在同一空间存在二个Coordinator,如果它们初始的PAN ID一样,则后上电的Coordinator的PAN ID会自动加一,以免引起PAN ID冲突。

zigbee网络建立过程

芦苇地带 https://www.sodocs.net/doc/f310109230.html,/ Blog Subject - 分 类 首页 相册 标签 FPGA 学习(12) 个人生活(16) C 语言(0) 网络转载(6) PCB(6) Verilog(1) ZigBee(18) STM32(2) New Log - 日 志 师兄毕业了,工作一帆风顺~ 为什么51系列单片机常用11.059 项目日志——ZigBee 通信模块测试 项目日志——ZigBee 天线研究【转 闲话生活——2011年开始了 闲话生活——平安夜不平安 项目日志——ZigBee 测试结果 闲话生活——年底了,该做总结了 STM32学习——Q-OS 的画图板应闲话生活——记录俺调试的CCD 板子和 Log Reply - 回 复 Re:闲话生活——年底了,该做总结了 Re:自学单片机四个月感想 Re:【转】FPGA 学习的一些误区 Re:【转】FPGA 学习的一些误区 Re:【转】FPGA 学习的一些误区 请教几个问题 Re:闲话生活——最近很喜欢的一 首歌 Re:闲话生活——最近很喜欢的一首歌 Re:[转]对FPGA 认识、学习和进 Re:[转]对FPGA 认识、学习和进 Blog Links - 链 接 项目日志——Z-STACK 网络建立过程 芦苇 发表于 - 2010-10-13 12:11:00 先看看Packet Sniffer 抓取的网络建立过程的图片,这里有一个Coordinator 和一个Router 。 从上面可以看到建立网络的整个过程如下 1.Coordinator 首先上电,完成网络的初始化,选择一个合适的信道,并且为自择一个PAN_ID(网络标识符),然后周期的向周围发生beacon request 的包。 2.这时间将Router 上电,这样Router 会首先向周围的环境做一个信道能量扫描选量比较合适的信道进行网络搜寻。这里需要注意的是信道能量是有一个等级的K 里面会有一个门限值,当这个能量低于这个门限会被认为没有网络,在这不我久。当信道选择好之后,Router 也会周期性的向周围发送beacon request 的包来dinator 的回复。 3.当Coordinator 接受到Router 的beacon request 包之后会发送一个包含自己IE 址的超帧。主要目的是为了将自己的MAC 地址(64位)交给Router ,以便后续的 4.Router 接受到超帧之后,将Coordinator 的MAC 地址保存,并利用这个地址向C 发生 个A i ti R t 的包 这个包目的是寻求加入网络 收到 C

ZigBee组网小实验1

ZigBee组网小实验1 (实验所用程序在SampleApp基础上修改) 终端经路由器入网: 首先把协调器和两个终端的天线拔掉,以大幅减小传输距离,把两个终端放到稍远或障碍物多的地方,使协调器数据传输不到终端。测试,两个终端入不了网。 然后把路由器放到协调器和终端中间某一处。启动协调器,启动路由器,最后再启动两终端,测试,两个终端入网成功,网络地址分别为0x1430和0x1431,路由器网络地址为0x0001,协调器串口广播发送数据,路由器和两个终端成功接收到。 最后,再把路由器关闭,数据发送不成功,并且两终端的灯已经一闪一闪,与网络断开了。 各串口依次为:协调器/路由器/其中一个终端(路由器执行两次扫描入网) 左那只:路由器右边两只:终端协调器:天线拔掉

终端未经路由器入网: 节点保持原来位置,但把协调器和两个终端的天线重新安上,以增加传输距离。 启动协调器,启动路由器,最后再启动两终端,测试,两终端入网成功,网络地址分别为0x796F和0x79 70,路由器网络地址为0x0001,协调器串口广播发送数据,路由器和两个终端成功接收到。 把路由器关闭,协调器串口广播发送数据,两终端同样成功接收。 各串口依次为:协调器/路由器/其中一个终端(路由器执行两次扫描入网)

用无线龙的网络监控软件来查看拓扑图,不过因为电脑上串口的原因,监控软件只有com1~com9,而我这小电脑上经常是com10+,因此调整下相应模块的节点类型,然后下载与其配套的的SampleApp例子再次组网,以下拓扑图不代表上面两种网络。协调器和绿色网络线连接的那个路由器都是无线龙的两块老板子,明显很扛的!~ 图1:两个终端经过路由器入网(把模块的天线拔了,信号强度明显下降,网络线呈红色)

ZigBee组网实验

ZigBee组网实验 修订记录 版本修订说明修订者修订日期V1.0 初稿xux 2014-03-26 南京未来星传感技术有限公司 2014年3月

实验二十一节点无线聊天实验 前言:节点无线聊天即传统的串口透传,这个名词相信大家在看ZigBee相关资料时经常会看到,透传到底是什么呢?电脑A和电脑B通过串口相连,相互发送信息,现在我们将电脑A和B连接Zigbee模块,再用串口收发信息,ZigBee的作用就相当于把有线信号转化成无线信号。这样我们电脑前面操作一样的,但是已经变成无线传输了,这就是串口透传!如图所示: 实验平台:未来星CC2530模块及功能底板个两块(一个协调器,一个终端) 实验现象:两台不同的PC机通过串口连接到未来星开发板,打开串口调试助手,设置好波特率等参数。相互收发信息。没有2台电脑也可以同一台电脑的不同串口进行试验。 实验讲解:试验使用我们熟悉的SampleApp.eww工行来进行。在前面我们曾做过串口实验和数据无线传输,这次试验是这两个试验的一个结合。不过协议栈的串口接收有特定的格式,我们得了解一下它的传输机制。先理清我们要实现这个功能的流程:由于2台PC机所带的模块地位是相等的,所以两个模块的程序流程也一样: 1、zigBee模块接收到从PC机发送信息,然后无线发送出去 2、ZigBee模块接收到其它ZigBee模块发来的信息,然后发送给PC机 我们打开Z-stack目录Projects\zstack\Samples\SampleApp\CC2530DB 里面的SampleApp.eww工程。这次试验我们基于协议栈的SampleApp来进行。

zigbee组网过程

int main( void ) { // Initialize the operating system osal_init_system(); //初始化操作系统 ... } OSAL.c uint8 osal_init_system( void ) { // Initialize the system tasks. osalInitTasks(); // 初始化任务 } OSAL_SampleLight.c void osalInitTasks( void ) { uint8 taskID = 0; ZDApp_Init( taskID++ ); zcl_Init( taskID++ ); zclSampleLight_Init( taskID++ ); } ZDApp.c void ZDApp_Init( uint8 task_id ) { ZDAppTaskID = task_id; ZDAppNwkAddr.addrMode = Addr16Bit;//地址模式为16bit短地址 ZDAppNwkAddr.addr.shortAddr = INVALID_NODE_ADDR;//短地址=0xFFFE (void)NLME_GetExtAddr(); //API函数,用于得到64bit IEEE地址 afRegister( (endPointDesc_t *)&ZDApp_epDesc ); //为设备注册端点0描述符 ZDO_Init(); //初始化ZDO 物件,并且设置设备 if ( devState != DEV_HOLD ) // 无HOLD_AUTO_START此项预编译,所以devState = DEV_INIT { ZDOInitDevice( 0 ); } ZDApp_RegisterCBs(); //注册ZDO 消息,只有注册了的消息才能以ZDO_CB_MSG 消息的形式发送给指定的任务}

相关主题