Zigbee系列(概览)
Zigbee技术特点
- 低速率: 数据传输速率只有20~250kb/s, 2.4GHZ提供250kb/s, 915MHz对应40kb/s, 868Mhz对应20kb/s
- 低功耗:睡眠模式设备使用电池供电,可使用6个月~几年。如传感器、门锁等。
- 低成本:协议简单,对硬件要求低,如TI使用8051单片机实现zigbee软件协议栈。
- 容量大:理论上最大可接入65000个设备,实际接入过200~1000设备。
- 时延短:指的是从睡眠状态转入工作状态接入网络,一般只需几十毫秒。蓝牙和wifi设备一般需要3~10s
- 近距离:10~100m之间点对点通信,大范围覆盖需要router设备中转实现。
- 安全高:提供三级安全模式。
- 传输可靠:CSMA/CA 冲突避免,MAC层需要接收方确认,重发机制(ARQ)APS层和应用层均可选确认机制。
Zigbee协议栈结构
来源: 《docs-05-3474-21-0csg-zigbee-specification.pdf》
Zigbee PHY
Zigbee的PHY和MAC层使用802.15.4标准。
物理层PHY包含的功能包括:
- 射频收发器控制
- 当前信道的能量检测
- 信道空闲检测与冲突避免CSMA-CA
- 信道频率选择
- 数据收发
标准定义了几种类型的PHY
2450MHz PHY 处理顺序:
…
O-QPSK 正交 4相移键控: 使用4个相位代表不同数据。
Zigbee MAC
MAC层由802.15.4标准制定,zigbee只需要支持部分标准。
- 同步网络、非同步网络(zigbee PRO仅支持非同步网络)
支持的服务列表:
Zigbee网络层
标准由 zigbee协议规范 指定
提供的服务包括:
- 设备配置: 包括形成网络、加入网络等
- 建立网络
- Join、rejoin、leave网络
- 地址分配
- 邻居发现
- 路由发现
- 报文路由
- 报文接收控制
Zigbee APS
标准由 zigbee协议规范 指定
提供的服务包括:
- 协议格式封装 (application layer PDU)
- Binding
- Group address filter
- 可靠传输:重传机制
- 重复报文识别:序号
- 报文分片、重组
- 安全管理
Zigbee 应用层框架
Device profile定义设备之间交互的方式。如Home Automation就是其中的一个profile
功能包括:
- 设备和服务发现
- End device bind
- Bind、unbind
- Binding table维护
- Network management
各种具体功能定义参考 zigbee-cluster-library-specification
如:灯、开关、窗帘。
Zigbee系列(概览)的更多相关文章
- Zigbee系列(end device)
End device设备分为睡眠和非睡眠两种(RxOnWhenIdle标记不同). 入网时的association请求,会使用这个标记. 共同特性 子节点多次发送数据失败(无回应),发送孤点扫描(re ...
- Zigbee系列(网络)
Zigbee设备类型 Coordinator:形成网络,选择信道.PANID.允许其他设备加入等. Router: 作为路由节点,转发报文. End Device: 终端节点,不转发报文. Zigbe ...
- Zigbee系列(路由机制)
参考文档: ug103-02-fundamentals-zigbee.pdf section4 zigbe routing concepts docs-05-3474-21-0csg-zigbee-s ...
- [ZigBee] 16、Zigbee协议栈应用(二)——基于OSAL的无线控制LED闪烁分析(下)
说在前面:上一篇介绍了无线LED闪烁实现的OSAL部分,本篇介绍如何实现无线数据收发及数据处理: 上一篇是用SI跟着流程查看源码,我个人认为以架构的思维去了解代码能让人更清晰 ::ZMain.c程序入 ...
- [ZigBee] 15、Zigbee协议栈应用(一)——Zigbee协议栈介绍及简单例子(长文,OSAL及Zigbee入门知识)
1.Zigbee协议栈简介 协议是一系列的通信标准,通信双方需要按照这一标准进行正常的数据发射和接收.协议栈是协议的具体实现形式,通俗讲协议栈就是协议和用户之间的一个接口,开发人员通过使用协议栈来使用 ...
- [ZigBee] 14、Zigbee无线通信前奏——BasicRF 简单无线点对点传输协议
本工程不带zigbee协议栈,作为过渡 实验现象: 一个EB2530(终端A)定义为发射模块,另一个EB2530(终端B)定义为接收模块. 按EB2530(终端A)上的按键,无线控制另一个EB2530 ...
- [ZigBee] 13、ZigBee基础阶段性回顾与加深理解——用定时器1产生PWM来控制LED亮度(七色灯)
引言:PWM对于很多软件工程师可能又熟悉又陌生,以PWM调节LED亮度为例,其本质是在每个周期都偷工减料一些,整体表现出LED欠压亮度不同的效果.像大家看到的七色彩灯其原理也类似,只是用3路PWM分别 ...
- [ZigBee] 12、ZigBee之看门狗定时器——饿了就咬人的GOOD DOG
引言:硬件中的看门狗,不是门卫的意思,而是一只很凶的狗!如果你不按时喂它,它就会让系统重启!这反而是我们想要的功能~ 1.看门狗概述 看门狗定时器(WDT,Watch Dog Timer)是单片机的一 ...
- [ZigBee] 11、ZigBee之睡眠定时器二
1.前言 上一节讲了Zigbee的睡眠定时器利用外部按键使系统从休眠态唤醒到工作态,其核心在于: 61 void SysPowerMode(uchar mode) 62 { 63 if(mode &g ...
随机推荐
- LayIM.AspNetCore Middleware 开发日记(六)嵌入资源的使用,layim.config的封装
前言 距离上一篇博客竟然已经10多天了...工作上的事,个人原因,种种吧.不多说废话,本文将会重点介绍layim的入口配置. LayIM配置 其实在开发者文档里面已经描述的很清楚了.除了几个重要的接口 ...
- ubuntu查询命令行安装的软件的安装路径
which git // 查询git的安装路径
- PAT——1053. 住房空置率
在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断.判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值e,则该住房为“可能空置”: 若观察期超过某 ...
- 一次傻叉的安装ubuntu虚拟机记录
因为最近要做一些开发工作,涉及到游戏前后端到的开发,在将代码上传到github之前,所有开发版本的源文件都保存在我的虚拟机svn仓库.所以,就装了两台虚拟机,一台用作svn仓库以及git同步与更新,另 ...
- 内核调试工具——strace
简介 strace常用来跟踪进程执行时的系统调用和所接收的信号. 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核 ...
- Objective-C 方法交换实践(三) - Aspects 源码解析
一.类与变量 AspectOptions typedef NS_OPTIONS(NSUInteger, AspectOptions) { AspectPositionAfter = 0, /// 原方 ...
- 使用属性Props完成一张卡片
一:我们先安装bootstrap,为了使我们的样式好看些 cnpm install bootstrap --save 二:我们在index.js中引入bootstap Import ‘bootst ...
- Vue如何循环渲染图片
Vue如何把服务器返回的图片数据渲染出来 首先,一般来说,当请求图片的接口时,会返回一个数组,这个数组里会是一些图片的名字,比如1.jpg,2.jpg. 我的做法是先在data里定义一个数组,来存储服 ...
- node.js 基于cheerio的爬虫工具,需要登录权限的爬虫工具
公司有过一个需求,需要拿一个网页的的表格数据,数据量达到30w左右:为了提高工作效率. 结合自身经验和网上资料.写了一套符合自己需求的nodejs爬虫工具.也许也会适合你的. 先上代码.在做讲解 'u ...
- svn造成桌面图标显示问号
(1)在使用svn客户端的时候桌面的所有图标上面都加了一个“?”.而且在桌面上新建的文件夹或文件都会打个问号,下面是笔者搜集的方法:在桌面创建记事本文件,把这句话复制进去for /r . %%a in ...