Zigbee是一种新兴的短距离、低速率、低功耗无线网络技术,他是一种介于无线标记技术和蓝牙之间的技术提案。他此前被称作“HomeRF Lite”或“FireFly”无线技术,主要用于近距离无线连接。他有自己的无线电标准,在数千个微小的传感器之间相互协调实现通信。这些传感器只需要非常低的功耗,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,因此他们的通信效率非常高。最后,这些数据就能进入计算机用于分析或被另外一种无线技术如WiMax收集。 Zigbee的基础是IEEE802.15.4这是IEEE无线个人区域网(Personal Area Network,PAN)工作组的一项标准,被称作IEEE802.15.4(Zigbee)技术标准。
Zigbee不仅只是802.15.4的名字。IEEE仅处理低级MAC层和物理层协议,因此Zigbee联盟对其网络层协议和API进行了标准化(如下图2所示)。完全协议用于一次可直接连接到一个设备的基本节点的4K字节或作为Hub或路由器的协调器的32K字节。每个协调器可连接多达255个节点,而几个协调器则可形成一个网络,对路由传输的数目则没有限制。Zigbee联盟还研发了安全层,以确保这种便携设备不会意外泄漏其标识,而且这种利用网络的远距离传输不会被其他节点获得。 Zigbee技术的主要特点包括以下几个部分:
*数据传输速率低:只有10k字节/秒到250k字节/秒,专注于低传输应用;
*功耗低:在低耗电待机模式下,两节普通5号干电池可使用6个月到2年,免去了充电或频繁更换电池的麻烦。这也是Zigbee的支持者所一直引以为豪的独特优势;
*成本低:因为Zigbee数据传输速率低,协议简单,所以大大降低了成本。且Zigbee协议免收专利费。
*时延短:通常时延都在15毫秒至30毫秒之间;
*安全:Zigbee提供了数据完整性检查和鉴权功能,加密算法采用AES-128,同时能灵活确定其安全属性;
*网络容量大:每个Zigbee网络最多可支持255个设备,也就是说,每个Zigbee设备能和另外254台设备相连接;
*优良的网络拓扑能力:ZigBee具有星、树和丛网络结构的能力。ZigBee设备实际上具有无线网路自愈能力,能简单地覆盖广阔围;
*有效范围小:有效覆盖范围10~75米之间,具体依据实际发射功率的大小和各种不同的应用模式而定,基本上能够覆盖普通的家庭或办公室环境;
* 工作频段灵活:使用的频段分别为2.4GHz(全球)、868MHz(欧洲)及915MHz(美国),均为免执照频段。
按键的定义是在文件hal_board_cfg.h中
比如:
/* S1 */
#define PUSH1_BV BV(1)
#define PUSH1_SBIT P0_1
#define PUSH1_POLARITY ACTIVE_LOW
具体什么意思你看看这个文件其他代码,
在文件hal_key.c中,使用了函数void HalKeyPoll (void)中定义了按键的轮询,当然是按键采用的是轮询的模式,不是中断的模式,里面会有类似这样的判断
if (!(HAL_KEY_SW_6_PORT & HAL_KEY_SW_6_BIT)) /* Key is active low */
{
keys |= HAL_KEY_SW_6;
}
HAL_KEY_SW_n是在这里用的,同时产生按键事件到应用层,GenericApp_HandleKeys()
判断是那个按键,从而执行什么样的操作。
至于你说的导航键的判断,还是在void HalKeyPoll (void)中会判断导航键的采样,不同的方向采样值是不一样的,所以可以当做4个方向按键,同时导航键中间也连接了一个I/O口,就有5个了。
希望对你有所帮助!
现在比较火的解决方案是TI的。比较典型的IC就是CC2430。集成了CC2410 RF射频芯片加增强型51内核。有51单片机的底子就行了。其实,按照我自己的经验,学2430其实是学Z-STACK,最后真正用的其实也是Z-STACK。不知道LZ有没有过嵌入式操作系统的开发经验。如果有就轻松很多。现在市面上的很多学习板,说是什么配有各种CC2430实验材料,其实个人认为实际意义不大。因为那些实验本质上是把2430简单地当做一个带RF模块的增强型51MCU来用了,ZIGBEE的协议啊、网络特性啊什么的完全没涉及。IN SUM,个人认为学Z-STACK才是学ZIGBEE、CC2430的精髓。好好研究API文档。装一个Z-STACK,然后根目录下有个DOCUMENT文件夹,里面各种PDF,好好研究一下。
不过说句实话,我个人觉得,zigbee推出了也时间不短了,一直是雷声大雨点小。从自己开发的经验来看,这个技术吹乎的挺厉害,实际比较鸡肋。说是低成本解决方案,实际上也现在5、6刀的成本也不算低了。2430的片上资源又有限的很,Z-STACK、IAR还有这样那样的版本问题。不能说很难,但让人不爽。总之现在并不很看好它。
Zigbee是一种新兴的短距离、低速率、低功耗无线网络技术,它是一种介于无线标记技术和蓝牙之间的技术提案。
它此前被称作“HomeRF Lite”或“FireFly”无线技术,主要用于近距离无线连接。它有自己的无线电标准,在数千个微小的传感器之间相互协调实现通信。
这些传感器只需要很低的功耗,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,因此它们的通信效率非常高。最后,这些数据就可以进入计算机用于分析或者被另外一种无线技术如WiMax收集。
Zigbee的基础是IEEE802.15.4,这是IEEE无线个人区域网(Personal Area Network,PAN)工作组的一项标准,被称做IEEE802.15.4(Zigbee)技术标准。Zigbee不仅只是802.15.4的名字。
IEEE仅处理低级MAC层和物理层协议,因此Zigbee联盟对其网络层协议和API进行了标准化(如下图2所示)。完全协议用于一次可直接连接到一个设备的基本节点的4K字节或者作为Hub或路由器的协调器的32K字节。
每个协调器可连接多达255个节点,而几个协调器则可形成一个网络,对路由传输的数目则没有限制。Zigbee联盟还开发了安全层,以保证这种便携设备不会意外泄漏其标识,而且这种利用网络的远距离传输不会被其它节点获得。
Zigbee联盟(http://www.zigbee.org)成立于2001年8月。2002年下半年,英国Invensys公司、日本三菱电气公司、美国摩托罗拉公司以及荷兰飞利浦半导体公司四大巨头共同宣布,它们将加盟“Zigbee联盟”,以研发名为“Zigbee”的下一代无线通信标准,这一事件成为该项技术发展过程中的里程碑。
到目前为止,除了Invensys、三菱电子、摩托罗拉和飞利浦等国际知名的大公司外,该联盟大约已有20多家成员企业,并在迅速发展壮大。其中涵盖了半导体生产商、IP服务提供商、消费类电子厂商及OEM商等,例如Honeywell、Eaton和Invensys Metering Systems等工业控制和家用自动化公司,甚至还有像Mattel之类的玩具公司。
所有这些公司都参加了负责开发Zigbee物理和媒体控制层技术标准的IEEE 802.15.4工作组。 根据Zigbee联盟目前的设想,Zigbee的目标市场主要有PC外设(鼠标、键盘、游戏操控杆)、消费类电子设备(TV、VCR、CD、VCD、DVD等设备上的遥控装置)、家庭内智能控制(照明、煤气计量控制及报警等)、玩具(电子宠物)、医护(监视器和传感器)、工控(监视器、传感器和自动控制设备)等非常广阔的领域。
政府的计划给了Zigbee更多的空间,显示了对其无比的信心。据报道,美国能源部已经决定雇佣Honeywell International Inc.公司,希望通过使用Zigbee传感器能够在钢铁、铝以及其他六个行业中将这些能源的成本降低15%。
通过安装在Alcoa,Dow Chemical,以及ExxonMobil等公司管道系统中传感器,实时追踪监测产品生产过程中的气体使用情况。 Zigbee技术的主要特点包括以下几个部分: *数据传输速率低:只有10k字节/秒到250k字节/秒,专注于低传输应用; *功耗低:在低耗电待机模式下,两节普通5号干电池可使用6个月到2年,免去了充电或者频繁更换电池的麻烦。
这也是Zigbee的支持者所一直引以为豪的独特优势; *成本低:因为Zigbee数据传输速率低,协议简单,所以大大降低了成本。且Zigbee协议免收专利费。
*时延短:通常时延都在15毫秒至30毫秒之间; *安全:Zigbee提供了数据完整性检查和鉴权功能,加密算法采用AES-128,同时可以灵活确定其安全属性; *网络容量大:每个Zigbee网络最多可支持255个设备,也就是说,每个Zigbee设备可以与另外254台设备相连接; *优良的网络拓扑能力:ZigBee具有星、树和丛网络结构的能力。ZigBee设备实际上具有无线网路自愈能力,能简单地覆盖广阔围; *有效范围小:有效覆盖范围10~75米之间,具体依据实际发射功率的大小和各种不同的应用模式而定,基本上能够覆盖普通的家庭或办公室环境; * 工作频段灵活:使用的频段分别为2.4GHz(全球)、868MHz(欧洲)及915MHz(美国),均为免执照频段。
更重要的是,预测未来6到7年内,家庭用户将占有Zigbee2/3的市场。在可以预期的将来,Zigbee无线传感将切实改变你我的生活。
呵呵~ 你找个明白的人给你讲讲 我就是这样 讲第一次是一下午 回去搞了几天 把不会的地方总结了一些 又问了一次 基本就全搞定了 能这样的首要因素是 首先你要有比较雄厚的嵌入式开发经验 比如MCS-51单片机 FPGA的SOPC 之类的 有“操作系统”的概念 了解API、中断、消息队列、任务调度等等 不是在书本上的知识哦!是要真的理解 基本能用伪代码写得出来 还要有,良好的代码规范和协作开发经验 因为zigbee是一个团队开发的 里面使用了很多宏定义 没有经验是看不懂的 即使能看懂也不知道怎么回事、为什么这么写 另外,去学学宏定义、编译器指令的作用 了解HAL和BSP等等知识 射频收发包原理懂不懂都可以~ 如果我说的以上术语有3个以上不知道是啥 先补基础 我QQ 395932583 我的ZigBee可能也就是个三脚猫功夫~ 开发个通信什么的还够用 另外… 书上的理论啊~ 学点就行了~ 很多是没啥用的~因为那些知识从来不告诉你怎么写程序 在你学会了基础开发之后 有些知识才会派上用场 让你提高对ZigBee的理解。
先学C语言吧,C语言如果不懂,什么都做不了。再学单片机,看你做zigbee开发用什么芯片了,推荐8051位核心的单片机(就是TI公司的,CC2430\CC2530),当然学单片机也不是一两天能学会的,学单片机最好是从汇编学起,这样对内部资源才会比较熟悉。然后就可以开始开发zigbee了,下面说说开发步骤:
先看一些ZIGBEE入门的知识,网上都是有的,最好是买几个模块学习学习,不然云里雾里,很难学会,实践出真知,花点钱是很值得的。软件平台使用的是IAR的workbench,网上有的,自己找个破解版的就OK了。
其实只要肯花时间进去,zigbee用用其实不难,就像平时使用单片机是一样一样的。但是想要清楚的了解他的协议栈,就比较复杂了,至少目前为止,我还没摸透,祝你早日学会,呵呵!
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:2.693秒