Zigbee技术

Zigbee由Zigbee联盟制定的无线网络协议,在IEEE 802.15.4标准的基础上设计,是一种自愈、安全和稳健的网状网协议,可扩展到更大范围内的数百个节点。主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用,核心市场包括消费类电子产品、能源管理和效率、医疗保健、家庭自动化、电信服务、楼宇自动化以及工业自动化等。

1)Zigbee工作频段

ZigBee工作在三种频段上,分别是用于欧洲的868MHz频段,用于美国的915MHz频段,以及全球通用的2.4GHz频段,它们各自的信道带宽分别是0.6MHz,2MHz和5MHz,分别有1个,10个和16个信道。Zigbee的数据速率并不高,对于2.4GHz频段只有250kb/s,而868MHz频段只有20kb/s,915MHz频段只有40kb/s。

目前国内Zigbee技术主要采用2.4GH频段。

2)Zigbee组网

Zigbee网络节点一般有三种,分别为协调器或中心节点(Coordinator)、路由节点(Router)、终端节点(End Device)。

中心节点:又指网络协调器,它包含所有的网络消息,是3种设备类型中最复杂的一种,发送网络信标、建立和维护一个网络、管理网络节点、寻找一对节点间的路由消息、不断地接收信息。即使Coordinator掉电,Router仍然在保持网络,所以Router与Router之间仍然能够通讯,当有新的节点加入时,仍然能够通过现有的Router组建网络,加入网络。

路由节点:可以担任网络协调者,维护整个网络的正常运行,形成网络,让其它的路由或者终端连接,起到数据的转发功能和自动寻找最捷径的路由表。也可用作终端设备,兼转发和终端功能。

终端节点:用有限的功能来控制成本和复杂性,网络中通常用作终端设备。通常定义为电池供电设备,可周期性唤醒并执行设定的任务,End Device周期性醒来时,问自己的父节点是否有传输给自己的数据,并执行设定的任务。具有低功耗特征。

虽然Zigbee网络中有三种类型节点,但每个节点的物理特性都是相同,仅仅是软件配置不同从而控制节点类型。

一个Zigbee网络中有且只能有一个中心节点,企业接入网关在Zigbee网络中充当中心节点,完成Zigbee网络管理和Zigbee数据与其他网络(如Internet)数据交互功能。

企业接入网关通过USB或UART接口连接Zigbee模块(内置Zigbee协议栈),实现对Zigbee协议支持。Zigbee模块通过USB连接企业网关时,Zigbee模块(或USB接口)被虚拟为一个COM口,网关通过读写COM口完成对Zigbee数据的收发。

Zigbee应用

1.同一个Zigbee网络内,所有节点必须具有相同的频道及PAN ID(网络ID)。

2. Zigbee网络是MESH结构网络(网状网),最大特点是自动路由及动态维护路由。

3. 在Zigbee协议内部,用户的96个字节为一个数据帧,最大发送数据包为269个字节,在Zigbee内部会分成3个数据帧,到达目标模块后,先还原成原始数据再从串口输出。所以,用户每次发送的数据包如果少于96字节,会获得最好的性能。

4. ZigBee 是基于 IEEE 802.15.4 定义的 MAC 层和物理层,在 IEEE 802.15.4 规范中定义 3 个工作频段 2.4GHz(全球)、868MHz(欧洲)和 915 MHz(美国),它们分别具有最高 250kbit/s、 40kbit/s和 20kbit/s的传输速率。在这三个频段上一共有27个可选择工作信道,其中在 2.4GHz 上有 16 个信道,在 915MHz 上有 10 个信道,在 868MHz 上有 1 个信道。国内 ZigBee 产品 工作在 2.4GHz 的频段上,可以有 16 个信道选择。在 AT 命令模式,可通过“AT+CHA=N”,其中 N=11-26,配置信道。推荐使用 15,20,25,26 信道,可减少同频段上 wifi 的干扰。

5.Zigbee透明传输指发送端发出的内容与接收端收到的内容完全一致。一般情况下,透明传输仅支持Coordinator与Router,或Coordinator与End Device间传输。因为广播仅适用于协调器。

主发从:广播,在Zigbee网络中,Coordinator发送的数据,同网络的所有Router和End Device都将收到相同的数据。

从发主:仅主收到,从网络中的某个Router或End Device发送数据,只有Coordinator收到相同数据。

6. 点对点传输指发送端在已知对方地址的情况下按照指定的格式将数据发送给同网络内其他某个节点(或在未知地址的情况下广播发送)。点对点传输支持网络内的任意节点间的数据传输。一般自定义协议格式。

7.Zigbee网络一般配置参数

配置信息

参数范围

功能说明

节点类型

0-2

0:Coordinator,1:Router,2:End Device

PanID

0x0000~0xFFFF

Zigbee局域网ID,节点用于判断自身所属网络的标识。

可互相通信的节点PanID必须相同。且必须保证同一工作区域内的相邻网络PanID不同。

信道

11-26

Zigbee的2.4G提供16个物理信道,必须在同一信道节点才可能互相通信。在同一工作区域内的相邻网络,建议使用不同的通道,以避免相互干扰导致通信效率降低。

推荐使用 15,20,25,26 信道,可减少同频段上 wifi 的干扰。

设备地址

0x0000~0xFFFF

透明传输时不用设置。

Zigbee市场方案

Zigbee网络中各个节点的物理特性相同,即每个节点可通过软件配置为任意节点类型。

目前市场上的Zigbee方案可分为两类:一是基于Zigbee芯片直接开发,包含硬件和软件协议栈(一般芯片厂商直接提供协议栈),市面上应用较多的芯片包括TI的CC2530和CC260,NXP的JN5168等;二是直接采用Zigbee透传模块,模块内置协议栈,只需要满足模块硬件要求即可保证数据透明传输。相较于基于芯片开发,显然基于模块开发更简单可行(规避了芯片电路设计陷阱和软件协议栈的设计)。本次企业网关开发直接选用内置Zigbee协议栈的模块进行开发。

Zigbee数据量少且速度不高,芯片或模块外置姐接口以UART居多,对企业网关UART接口不易连接且数量有限,选用外置USB接口的Zigbee模块方案更为合适。

不同厂商zigbee方案

TI SimpleLink MCUs

TI提供分别对Zigbee三代协议支持的芯片CC243x,CC253x和CC26x2/CC13x2。

NXP Zigbee方案

NXP提供JN 516x和JN517x两类Zigbee芯片,突出特点为超低功耗。支持Zigbee3.0协议支持。

小米的多功能网关采用的是基于NXP的JN5168芯片方案,参考:从小米智能套装分析同为2.4G的ZigBee与Wi-Fi如何相容

ZLG开发了FastZigbee协议,采用JN5168芯片方案。FastZigbee采用全透明传输方式,透明传输:即发送方和接收方数据的长度和内容完全一致,相当于一段无形的传输线。透明传输的优势在于,用户可以在这个基础上,创建自己需要的协议格式,使用户不局限于固定使用第三方协议。

参考:

  1. 通俗易懂介绍一下ZigBee的特性
  2. ZigBee是如何组网的?
  3. zigbee概述 几种无线通信技术性能比较
  4. What is ZigBee?
  5. https://www.zigbee.org/what-is-zigbee/
  6. LoRa与ZigBee有什么区别? 舜为互联
  7. https://item.taobao.com/item.htm?spm=a1z10.1-c.w5003-16306285895.4.fed839d2RXTYj5&id=552637896279&scene=taobao_shop
  8. http://www.dtkcn.com/download.html
  9. http://feibit.com/wangguanmokuai/mokuai-478.html
  10. https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-2601654064.13.7b6f3dddn9ygQB&id=39330273113
  11. http://www.four-faith.com/html/procenter/zigbee/
  12. http://www.kelanelec.com/

ZigBee基础的更多相关文章

  1. [ZigBee] 13、ZigBee基础阶段性回顾与加深理解——用定时器1产生PWM来控制LED亮度(七色灯)

    引言:PWM对于很多软件工程师可能又熟悉又陌生,以PWM调节LED亮度为例,其本质是在每个周期都偷工减料一些,整体表现出LED欠压亮度不同的效果.像大家看到的七色彩灯其原理也类似,只是用3路PWM分别 ...

  2. [ZigBee] 4、ZigBee基础实验——中断

    前言 上一篇介绍了CC2530的IO的基础知识,并用LED的控制来展示如何配置并控制GPIO的输出,用KEY状态的读取实验来展示如何读取GPIO的状态.从上一节的KEY状态读取的代码看出是采用轮训方式 ...

  3. [ZigBee] 6、ZigBee基础实验——定时器3和定时器4(8 位定时器)

    上一节讲了16位定时器1,本节讲8位定时器3和定时器4! 1.综述 Timer 3 and Timer 4 are two 8-bit timers(8位定时器). Each timer has tw ...

  4. [ZigBee] 5、ZigBee基础实验——图文与代码详解定时器1(16位定时器)(长文)

    1.定时器1概述 定时器1 是一个支持典型的定时/计数功能的独立16 位定时器,支持输入捕获,输出比较和PWM等功能.定时器有五个独立的捕获/比较通道.每个通道定时器要使用一个I/O 引脚.定时器用于 ...

  5. [ZigBee] 3、ZigBee基础实验——GPIO输出控制实验-控制Led亮灭

    1.CC2530的IO口概述 CC2530芯片有21 个数字输入/输出引脚,可以配置为通用数字I/O 或外设I/O 信号,配置为连接到ADC.定时器或USART外设.这些I/O 口的用途可以通过一系列 ...

  6. [zigbee]zigbee的一些基础

    --------------------------下面转自知乎 首先要区分协议跟协议栈.◇协议是一种规定.是一系列的通信标准,通信双方按照这一标准进行数据收发.◇协议栈是一系列代码,是协议的具体实现 ...

  7. [ZigBee] 16、Zigbee协议栈应用(二)——基于OSAL的无线控制LED闪烁分析(下)

    说在前面:上一篇介绍了无线LED闪烁实现的OSAL部分,本篇介绍如何实现无线数据收发及数据处理: 上一篇是用SI跟着流程查看源码,我个人认为以架构的思维去了解代码能让人更清晰 ::ZMain.c程序入 ...

  8. ZigBee 安全探究

    ZigBee 安全探究 0x02 ZigBee安全机制 (注:对于本节内容,可能在新版ZigBee协议标准中会有所变化,请以新版为准.) ZigBee主要提供有三个等级的安全模式: 1. 非安全模式: ...

  9. [ZigBee] 15、Zigbee协议栈应用(一)——Zigbee协议栈介绍及简单例子(长文,OSAL及Zigbee入门知识)

    1.Zigbee协议栈简介 协议是一系列的通信标准,通信双方需要按照这一标准进行正常的数据发射和接收.协议栈是协议的具体实现形式,通俗讲协议栈就是协议和用户之间的一个接口,开发人员通过使用协议栈来使用 ...

随机推荐

  1. 暴力破解ZIP文件密码

    Python 的标准库提供了 ZIP 文件的提取压缩模块 zipfile,现在让我们试着用这个模块,暴力破解出加密的 ZIP 文件!我们可以用 extractall()这个函数抽取文件,密码正确则返回 ...

  2. Hbuilder ios证书申请

      最近负责app开发上线,一些心的总结 1.需要先用 苹果操作系统的证书管理  生成 .csr (多次使用) 2.进入开发者帐号 - 证书与配置c&p + App store and AD ...

  3. 洛谷.3355.骑士共存问题(最小割ISAP)

    题目链接 一个很暴力的想法:每个点拆点,向不能同时存在的连边 但是这样边太多了,而且会有很多重复.我不会说我还写了还没过样例 我们实际就是在做一个最大匹配.考虑原图,同在黄/红格里的骑士是互不攻击的, ...

  4. webpack - HtmlWebpackPlugin理解

    该插件的两个主要作用: 为html文件中引入的外部资源如script.link动态添加每次compile后的hash,防止引用缓存的外部文件问题 可以生成创建html入口文件,比如单页面可以生成一个h ...

  5. Instruments

    链接: iOS性能优化:Instruments使用实战 iOS 使用Instruments的工具小结    

  6. nginx image_filter 配置记录

    nginx_image_filter http_image_filter_module 配置 ---------------------------------- 第一种: //官方配置 locati ...

  7. c# pictureBox1.Image的获得图片路径的三种方法 winform

    代码如下:c# pictureBox1.Image的获得图片路径的三种方法 winform 1.绝对路径:this.pictureBox2.Image=Image.FromFile("D:\ ...

  8. Introduction to pinatrace annotate version 2: a look into latches again

    https://fritshoogland.wordpress.com/2017/12/22/introduction-to-pinatrace-annotate-version-2-a-look-i ...

  9. 在iOS端如何使用Charles用作http调试

    转:http://blog.csdn.net/messageloop3/article/details/9966727 在iOS端如何使用Charles用作http调试 After noticing ...

  10. 斯坦福CS231n学习--初识

    课程主页:CS231n: Convolutional Neural Networks for Visual Recognition 关注其:Course Project主页 视频学习:云课堂 斯坦福C ...