
zigbee学习
文章平均质量分 70
xiao11xiang123
这个作者很懒,什么都没留下…
展开
-
ZIGBEE事件
ZIGBEE事件有两类,系统定义事件和用户定义事件。系统类事件是协议栈已定义好的,用户类事件是我们用户层面来定义的。事件类号采用一个16bit的常量,使用独热码编码,独热码是只有一个bit为1,其他全为0的一种码制,采用独热码的优点是操作方便,可以使用简单的位操作指令实现,如:提取系统类事件用events & SYS_EVENT_MSG,清除系统类事件用events ^ SYS转载 2014-07-23 14:43:53 · 816 阅读 · 0 评论 -
ZSTACK 研究与应用:NV_RESTORE 的使用
转载自:在实际项目中,需要加入NV_RESTORE编译选项,可NV_RESTORE具体在哪里定义呢?分别用IAR和SourceInSinght找遍了所有可能的字符串也没找见NV_RESTORE的定义出,原本以为NV_RESTORE在某个地方被定义为0了,改为1就可以了,很遗憾没有找到,突然想起TI公司提供的ZSTACK并非完全提供源代码,其中一部分代码是封装起来的,我们是看不到转载 2014-07-01 16:05:58 · 897 阅读 · 0 评论 -
ZIGBEE获取本设备及父设备的IEEE64地址和短地址
转载自:第一种方法,利用NLME.h里面定义的专门API获取设备自身IEEE地址extern byte *NLME_GetExtAddr( void );获取设备自身网络地址extern uint16 NLME_GetShortAddr( void );获取父设备网络地址 extern uint16 NLME_GetCoordS转载 2014-06-27 17:47:23 · 676 阅读 · 0 评论 -
Z-Stack中宏定义技巧ST( )宏定义理解
这个宏定义如下(TI Z-Stack的hal_defs.h文件中):#define st(x) do { x } while (__LINE__ == -1)。这个宏定义被其它的宏定义用来构建一个完全有效的C声明。如果没有这个宏定义,那么在if/else条件语句中可能得不到预期的结果。例如,以下的应用#define SET_REGS() st( ioreg1 = 0; ioreg2 = 0转载 2014-06-06 16:12:04 · 1027 阅读 · 0 评论 -
zstack之应用层的发送函数及绑定(CC2530)
为了在网络中发送数据到一个设备,应用层一般用AF_DataRequest()函数。而被发送的目的设备的地址类型afAddrType_t被定义在“ZComDef.h”中:typedef struct{ union { uint16 shortAddr; ZLongAddr_t extAddr; } addr; byte addrMode;转载 2014-05-21 18:35:50 · 1240 阅读 · 0 评论 -
nwk_globals.h分析(可配置网络类型)
在nwk_globals.h中修改如下的代码:三种网络模式,星型,树型,和网状// Controls the operational mode of network#define NWK_MODE_STAR 0#define NWK_MODE_TREE 1#define NWK_MODE_MESH 2两种安全模式转载 2014-05-21 18:12:08 · 922 阅读 · 0 评论 -
Zigbee网络中单播、组播、广播通信
Zigbee网络中进行数据通信主要有三种类型:单播、组播、广播。那这三种方式如何设置呢,在哪里设置呢,还记得之前学习的 Zigbee协议栈进行数据发送是调用AF_DataRequest这个函数: afStatus_t AF_DataRequest( afAddrType_t *dstAddr, //目的地址指针 endPoi转载 2014-05-21 17:51:45 · 3214 阅读 · 0 评论 -
详解在程序中怎样区分协调器 路由器 终端[转载]
原文地址:路由器 终端[转载]" style="text-decoration:none; color:rgb(33,128,36)">详解在程序中怎样区分协调器 路由器 终端[转载]作者:阿元路由器 终端[转载]" title="[转载]详解在程序中怎样区分协调器 路由器 终端[转载]" style="margin:0px; padding:0px; border:0px; list转载 2014-05-21 17:34:57 · 1680 阅读 · 0 评论 -
Zigbee协议体系结构
完成三个实验后,终于到了Zigbee协议的学习了,挑战很大,继续BAXIA!!嚯嚯,先了解下Zigbee的整体架构吧!1、Zigbee协议体系结构 看了Zigbee的体系结构,联想到TCP/IP的体系结构,觉得似乎每个协议都是由OSI七层协议演化而来的,由图可以看出IEEE802.15.4定义了物理层和MAC层,而Zigbee联盟定义了网络层、应用层技术规范,每转载 2014-05-21 17:17:22 · 2673 阅读 · 0 评论 -
Zigbee协议栈ZStack构架(文件夹和协议栈各层的对应关系)
协议栈版本信息: ZigBee2006\ZStack-1.4.3-1.2.11、ZStack协议栈构架 Zigbee协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供一些应用层API,供用户调用。协议栈体系分层架构与协议栈代码文件夹对应表如下: 整个协议栈的构架,如图所示APP:应用层目录,这是用户创建各种不同工程的区域,在这转载 2014-05-21 17:14:02 · 7114 阅读 · 0 评论 -
Zigbee协议栈OSAL层API函数(译)
3.信息管理API3.1 概述这部分API提供了任务或处理单元与不同的处理环境之间的数据交换。这部分API函数能够为任务分配和收回消息缓冲区,发送命令消息给以外一个任务并且接收应答。3.2 osal_msg_allocate ( )概述:当一个任务调用这个函数时,将为消息分配缓冲区,函数会将消息加入缓冲区,并调用osal_msg_send()将消息发送到另一个任务。原型:转载 2014-05-21 15:38:27 · 755 阅读 · 0 评论 -
ZigBee协议栈TI Z-Stack分析
ZigBee术语一、属性属性Attribute是一个反映物理数量或状态的数据值,比如开关值(On/Off),温度值、百分比等。二、群集群集Cluster是包含一个或多个属性(attribute)的群组。简单的说,群集就是属性的集合。每个群集都被分配一个唯一的群集ID且每个群集最多有65536个属性。三、设备描述设备描述DeviceDescription是指一个大型目标应用的转载 2014-05-09 18:23:39 · 810 阅读 · 0 评论 -
Zigbee入门指导(一)基于CC2430的Zigbee开发环境的建立
Zigbee入门指导(一)基于CC2430的Zigbee开发环境的建立(转载)Zigbee入门指导(一)——基于CC2430的Zigbee开发环境的建立logiclimit写在前面的话:临近毕业,把之前做过的一些项目的内容加以整理,和大家一起分享,请高手指教,欢迎同辈间交流,希望后来者能少走一些弯路。Zigbee入门指导源于大三时的课程设计《无线心电采集系统》中的Z转载 2014-04-30 18:39:58 · 1053 阅读 · 0 评论 -
Z-STACK网络建立过程
Z-STACK网络建立过程 从上面可以看到建立网络的整个过程如下1.Coordinator首先上电,完成网络的初始化,选择一个合适的信道,并且为自己的网络选择一个PAN_ID(网络标识符),然后周期的向周围发生beacon request的包。2.这时间将Router上电,这样Router会首先向周围的环境做一个信道能量扫描选择一个能转载 2014-04-30 18:39:08 · 901 阅读 · 0 评论 -
OSAL机制的ZigBee低功耗管理(CC2530)
OSAL机制的ZigBee低功耗管理(CC2530)(转载)涉及文件OSAL_PwrMgr.h OSAL电源管理的API头文件OSAL_PwrMgr.C OSAL电源管理的API C文件hal_sleep.c 底层的电源管理文件 电源管理结构体typedef struct{转载 2014-04-30 18:38:14 · 1218 阅读 · 0 评论 -
【转】OSAL内存管理3
【转】OSAL内存管理3查找到合适的内存块之后, 就要决定是否对此内存块进行分割。如果内存块过大的话必然会造成内存的浪费。如果内存块的大小减去要申请的内存块的值大于OSALMEM_MIN_BLKSZ(4byre), 则分割此内存块。并初使化分割出来的内存分配控制块头。内存的释放:void osal_mem_free( void *ptr ); ptr是指向内存块的指转载 2014-04-30 18:37:05 · 623 阅读 · 0 评论 -
转】OSAL内存管理2
【转】OSAL内存管理2在可变长度中申请内存时, 它是从ff2(可变内存分配区域开始处)开始查找有没有处于非使用状态的内存块(即查找内存控制块头中的使用标记),如果找到了一个没有使用的内存块,则把它的大小和要申请的内存的大小相比较,如果要申请的内存块的大小 小于 此内存块的大小则先保留指向此内存块的指针,并跳出循环, 如果申请的内存块的大小 大于 此内存块的大小 , 则查询下一个内转载 2014-04-30 18:36:27 · 438 阅读 · 0 评论 -
【转】OSAL内存管理0
【转】OSAL内存管理0OSAL(operation system abstraction layer)内存管理相关OSAL的内存分配是在一个堆栈中来实现的。// Memory Allocation Heap.#if defined( EXTERNAL_RAM )static byte *theHeap = (byte *)EXT_RAM_BEG;转载 2014-04-30 18:35:26 · 812 阅读 · 0 评论 -
学习zigbee入门-10
【转】学习zigbee入门-10SimpleApp 例子解读-2 程序分析: 灯开关灯实验:开关设备通过发送命令切换控制设备的状态,并通过指示灯的状态变化反应操作是否成功。 在SimpleApp,SimpleController.c(灯管理器设备)按键处理函数zb_HandleKeys中,当SW1被按下,它将使设备作为协调器使用;期间按下S转载 2014-04-30 18:34:16 · 734 阅读 · 0 评论 -
学习zigbee入门-9
【转】学习zigbee入门-9SimpleApp 例子解读 1 :1、实验目的 --设置这些设备自动的进入网络 -- 创建从每一个开关到一个或多个灯的绑定 --从开关设备发送一个改变灯状态的命令 --为某个开关到不同的灯从新指派绑定 -- 之后增加新的灯或开关到该网络2、实验原理 关于详细的程序清单见 SAPI.C 文件。 初始化转载 2014-04-30 18:33:32 · 774 阅读 · 0 评论 -
学习zigbee入门-8
【转】学习zigbee入门-8刚入手的朋友,对 Z-Stack 非常迷糊的时期,如果能够跑通几个例子、看几个演示,那么可以大大提高学习兴趣;另外如果知道某个例子的大致功能及实现,那么在去看具体实现过程目的性就非常明确。 首先来看看 TI 究竟有哪些例子: 可以看出其例子是非常丰富的。 GenericApp(设备互相绑定传送信息-hellow world),Loca转载 2014-04-30 18:32:50 · 660 阅读 · 0 评论 -
学习zigbee入门-7
【转】学习zigbee入门-7--------------Z-Stack 指导 2 上节介绍了很大一部分 Z-Stack 的基础知识,这里接着忽悠。虽然说的不是很专业也不是很通俗,但是我尽力了,希望有人能看明白!本人英文水平有限,翻译的不好请谅解! 3、绑定 绑定是控制信息从一个应用层到另一个应用层流动的一种机制。在 zigbee06 版本中,转载 2014-04-30 18:31:49 · 649 阅读 · 0 评论 -
学习zigbee入门-6
【转】学习zigbee入门-6首先来看看 Z-Stack 的结构。第一次打开工程印象最深刻的就是左边一排文件夹,如图 所示。 其实这个还是很容易理解的: APP(Application Programming):应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议栈里面一般是以操作系统的任务实现的。 HAL(Hard转载 2014-04-30 18:31:21 · 675 阅读 · 0 评论 -
学习zigbee入门-5
【转】学习zigbee入门-5前面虽然写了不少,太技术化了,这个不是我的本意。不知道前面写的怎么样,技术含量肯定是不高的。这个本人是相当清楚,但是我最大的期望就是错误不要太多!突然想起来前面有个问题没有解决,我想很多人看到那里都很郁闷的。就是设备类型的选择,在 TI 原装系统上是通过板载跳线来选择的,但是我这里不是采用原装,那么就需要通过程序来修改其设备类型,然后编译下载。具体程序段如转载 2014-04-30 18:30:50 · 658 阅读 · 0 评论 -
TI Z-stack协议栈开发环境和工作流程
【转】TI Z-stack协议栈开发环境和工作流程TI Z-stack协议栈开发环境和工作流程 系统软件设计是在硬件设计的基础上进行的,良好的软件设计是实现系统功能的重要环节,也是提高系统性能的关键所在。节点设计基于通用性及便于开发的考虑,移植了TI公司的Z-Stack协议栈,其主要特点就是其兼容性,完全支持IEEE 802. 15. 4/ZigBe转载 2014-04-30 18:30:20 · 2442 阅读 · 0 评论 -
学习zigbee入门-4
【转】学习zigbee入门-4Sample Application 分析(下) 上节介绍了建立一个应用需要做的几个必须的事情,现在就来通过分析 SampleApplication 来具体看看需要做哪些事情,才能建立一个 ZIGBEE 应用功能。当然这里只是做点简单的必须的工作。 The Sample Application (SampleApp) 1、 介绍转载 2014-04-30 18:29:36 · 640 阅读 · 0 评论 -
学习zigbee入门-3
转】学习zigbee入门-3Sample Application 分析-上1、Z-Stack CC2430DB and CC2430EB Sample Application 1.1、介绍 该文档时介绍 TI 协议入门的一个例子 SampleApp 的,适用 EB开发板。 1.1.1、描述 这个例子是非常简单的演示,每个设备都可以发送转载 2014-04-30 18:27:57 · 554 阅读 · 0 评论 -
转】学习ZigBee入门-2
转】学习ZigBee入门-2Sample 例子演示 上节基本上初步认识了 Zstack 的一些情况,今天继续我的学习,打开 Sample例子看看,究竟 ZIGBEE 是怎么回事。 毫无疑问:如果是第一次打开这个例子工程,肯定很迷糊,因为此时我迷糊了。很多的文件夹,很多层,这么多文件夹,打开之后又有那么多文件,从何看起?不要着急,特别是有些人拿到之后,啥都不知道的人转载 2014-04-30 16:48:38 · 742 阅读 · 0 评论 -
对ZigBee地址的理解
对ZigBee地址的理解Zigbee网络中有三类地址,呵呵有人说只有两类哦,这里是我自己的理解,如果不同意可以发表见解哈第一类是IEEE地址,也叫做扩展地址。这是一个64位的地址,由设备商固化到设备中,地址由IEEE发配,当然我们现在买到的开发板芯片上的IEEE地址一般应该为全F,这是一个无效地址,就是说这个芯片还没有分配地址拉。可以用Ti的flash编程软件烧写一个IEE转载 2014-04-30 16:11:29 · 648 阅读 · 0 评论