ZigBee简介\应用协议\解决方案商介绍
本章目的:
学习、应用一个技术,很重要的一点是了解技术本身的发展情况,一方面我们知道技术发展到哪一步,让我们知道学习的内容是否是最新的而不是已经过时的;另一方面可以和行业的发展同步,知道行业发展得怎么样,从而少走弯路;本章主要做到以下几点即可:
- 了解ZigBee技术及其发展情况
- 了解现在主流的ZigBee解决方案商
- 了解Ti协议栈的发展情况
1 ZigBee发展历程
1.1 IEEE802.15.4
深层地讨论ZigBee技术自然绕不开IEEE 802.15.4,因为:ZigBee是基于IEEE 802.15.4的(我们会在深入篇深入学习这方面的内容),换句话说,ZigBee的MAC层或者我们直接叫”底层”就是IEEE802.15.4协议。
IEEE是一个组织,叫“电气和电子工程师协会”,802.15是这个组织里面的一个工作组,组里第4部门定了一个协议,就叫IEEE 802.15.4,这个协议是针对WPAN即low-rate wireless personal area network(低速无线个人区域网络),WPAN主要特点是:功耗低,数据传输速度慢,个域网。
1.2 ZigBee协议2004~2007Pro
ZigBee技术或者叫通信协议标准,是由一个联盟叫ZigBee联盟基于IEEE 802.15.4定义的;到现在为止总共发布了几个版本,分别是:ZigBee 2004,ZigBee 2006,ZigBee 2007,ZigBee 2007Pro,ZigBee RF4CE
ZigBee 2004: 这个版本也被称为ZigBee 1.0,主要是实现一些基础功能比如星形网络。
ZigBee 2006: 这个版本不兼容2004,也就是说ZigBee2004版本直接成为历史,2006版本支持树状和网状网络,引入Cluster Library(集群库)的概念。
ZigBee 2007: 这个版本其实是2006年发布的,设计初衷是使用在商业照明领域,设备数量少于300个,相比ZigBee 2006, 2007其实差不多,提升抗干扰能力,增加分包传输机制,增加新的一些集群库。
ZigBee 2007Pro: 这是目前为止用得较多的版本,2007年推出的,是商业化的分水岭,支持超过1000个节点的应用场景,完全支持网状网络,支持高安全加密模式,支持应用层分包传输模式。
ZigBee RF4CE: 2009发布了该版本,RF指的是射频,4指”for”,CE是指消费电子,全称Radio Frequency For Consumer Electronics,这个版本的应用之一是遥控器,特点是1对1,1对多通信,是ZigBee的一个特殊分支。
2 基于ZigBee的应用协议
ZigBee技术开发,一般都是做应用开发,现在ZigBee的框架可以简化为:
IEEE 802.15.4 -> ZigBee 2007Pro -> 应用协议
应用协议的发展大概可以归纳为3个阶段:
- 基于ZigBee 2007Pro协议的私有通信协议。
这个阶段注重的是数据包的收发,即能发送数据包出去也能接收;这里导致的问题是,公司A的产品没法和其他公司的产品兼容!
- 细分产品领域。
这个阶段对产品进行规范及统一,细分出了多个产品领域,比如:
面向家居自动化(Home Automation)领域的ZHA协议,
这个领域的产品有比如智能插座,常用的传感器比如门磁传感器,人体红外传感器,烟雾报警器等等!
面向智能照明(ZigBee Lighting)领域的ZLL协议,
面向智能能源(ZigBee Energy)领域的ZSE协议,
另外也有面向健康领域、建筑领域、零售领域、消费电子等等
领域”可以被称为Profile,比如家居自动化领域可称为ZHA Profile!
- 产品领域统一的ZigBee 3.0阶段。
这个阶段可以说是一个分水岭,ZIgBee 3.0是2016年5月份发布的,非常重要的一点是ZB 3.0统一众多应用层协议,解决了不同厂商ZigBee设备之间的互联互通问题,完善更多的产品类型和属性,增强安全性等等;简单而言是增加了互联互通性,但这是非常重要的一步!
3 ZigBee主要解决方案商介绍
方案商的竞争之殇
ZigBee初期阶段大概2004年左右,当时主流的技术方案提供商有:
Freescale、Chipcon、Ember、Jennic;
然而,随着一系列并购从组,方案商进行逐步壮大:
美国德州仪器公司(TI)在2005年年底并购了Chipcon!
2012年Silicon Labs并购了Ember!
2010年7月份,荷兰恩智浦半导体公司(NXP)收购Jennic,同样是NXP,2015年3月2号以118亿美元的现金加股票的方式收购Freescale半导体公司,从此飞思卡尔更名改姓远嫁NXP!
现如今,主流的ZigBee解决方案商有:
Texas Instruments - 美国德州仪器
NXP Semiconductors - 荷兰恩智浦半导体
Silicon Laboratories - 美国芯科实验室
其他非主流的ZigBee解决方案商我们只做简单的了解,因为技术解决方案的稳定性和可持续性是受市场份额影响的。非主流的解决方案商有Atmel、STmicroelectronics、Integration、NEC、OkI、Renesas等几家。采用非主流的解决方案除了会遇到方案本身不稳定的情况外,还可能面临技术支持不到位,芯片停产,甚至该公司ZigBee方案的直接停掉的风险。
从开发的角度,建议几大主流的解决方案都可以熟悉一遍,条件允许的话,最好都可以达到精通的程度,但从学习、理解原理上来讲,入门首选TI的方案!
4 Texas Instruments
Texas Instruments - 美国德州仪器,简称TI,公司简介(来着TI官网):
TI 是一家全球性半导体设计与制造公司,
• 业务覆盖超过 35 个国家
• 服务全球各地超过 10 万家客户
• 拥有 85 年 的创新历史
• 超过 10 万种模拟集成电路、嵌入式处理器 以及软件和工具
• 业界最大的销售和支持团队
官网: http://www.ti.com.cn/
TI的ZigBee方案主控芯片包括CC2530、CC2630、CC2538、MSP430+RF,
软件为Ti-ZStack。特点是资料开放程度高,对于学习ZigBee来说,倒是一个不错的选择;产品化阶段具备一定的价格优势,但是开发周期较长,不过从产品市场化角度还有严谨程度而言,Ti的方案的确不是最好的选择。
总的而言,学习ZigBee可以用TI的方案,毕竟资料齐全,入门容易;产品化的角度秉承着“因为简单所以高效”和“性价比”两个角度进行选型!
5 NXP Semiconductors
NXP Semiconductors - 荷兰恩智浦半导体,简称NXP,简介(来着百度百科):NXP 是一家新近独立的半导体公司,由飞利浦公司创立,已拥有五十年的悠久历史,主要提供工程师与设计人员各种半导体产品与软件,为移动通信、消费类电子、安全应用、非接触式付费与连线,以及车内娱乐与网络等产品带来更优质的感知体验。
官网: https://www.nxp.com/cn/
NXP的ZigBee方案主要是JN516(8)x+SDK。从产品化的角度,推荐使用NXP方案,因为NXP方案在开发上相对简单,市场化程度高(被大规模量产过)。2016年10月27日,美国芯片半导体巨头Qualcomm(高通)以470亿美金收购了NXP。
6 Silicon Laboratories
Silicon Laboratories - 美国芯科实验室,简称芯科,简介(来着百度百科):Silicon Laboratories(芯科实验室)成立于1996年,位于美国德州奥斯汀市,是一家专业研发设计类比电路及混合信号IC的公司(专门开发世界级的混合信号器件),为成长快速的通信产业设计等提供广大应用;今天,公司已成为营运、销售和设计活动遍及世界各地资本额约5亿美元的上市跨国公司,并且在各种混合信号产品领域居于领先地位。
官网: https://www.silabs.com/
芯科的ZigBee技术解决方案和储备其实是在收购Ember后才得到大大的提高,所以也有开发人员把这个方案称为Ember方案;方案也是基于Ember的Em35x系列+SDK,当然后期芯科也自己推出了芯片方案EFRxx系列+SDK的解决方案。在ZigBee产品选型上,芯科科技的解决方案也是重要的参考之一,毕竟稳定性保证还是有的,开发难度也不大。
7 小结
其实这三大解决方案都可以进行产品化,从入门初学者的角度考虑,更重要的是全面、深入的学习ZigBee技术,而不仅仅停留在应用层开发,基于这一点考虑,在开发平台上的选型本公司选用的是Ti的方案;后期也会提供另外两个平台的学习,目的其实很简单:让学者能够深入浅出,少走弯路,多方面掌握技术的开发及应用!
8 Ti协议栈发展历程
Ti的ZigBee协议栈(也称为TI-ZStack)主要由两部分构成,一个是内核,一个是应用,从这两方面可以较为完整的了解协议栈的发展变化过程。
9 内核
Ti协议栈内核,也称为TI-ZStack Core,从时间线上来看,有以下几个发行版本,更古老的版本就不做说明了:
内核版本号 |
发布时间 |
ZStack Core 0.1 |
最古老的版本 |
....... |
|
ZStack Core 2.2.0 |
年代久远 |
ZStack Core 2.3.0 |
|
ZStack Core 2.4.0 |
|
ZStack Core 2.5.1a |
2012年4月25日 |
ZStack Core 2.6.3 |
2015年10月16日 |
ZStack Core 2.7.1 |
2017年5月10日 |
大部分基于TI-ZStack的ZigBee产品使用的是ZStack Core2.6.3这个内核及其后续的版本,换句话说,基于2.6.3及最新的2.7.1是用得最多的;不过随着2.7.1的发布,未来的好一段时间估计都会转移到这个版本的内核上去。2.6.3及之前的版本注定成为历史!
10 应用
应用在现在来说,我们可以称为Z-Stack(协议栈);应用是建立在内核之上的,在基于2.5.1a及之前的内核版本中,Z-Stack版本的命名方式几乎就是内核版本的命名方式。我们仅列出历史不是很古老的版本:
Z-Stack版本号 |
发布时间 |
基于哪个内核 |
ZStack-CC2530-2.3.0-1.4.0 |
年代久远 |
ZStack Core 2.3.0 |
ZStack-CC2530-2.4.0-1.4.0 |
ZStack Core 2.4.0 |
|
ZStack-CC2530-2.5.1a |
2012年 |
ZStack Core 2.5.1a |
Z-Stack HomeAutomation 1.2.2a Z-Stack Lighting 1.0.2 Z-Stack Energy 1.0.1 Z-Stack Mesh 1.0.0 ...... |
2015年 |
ZStack Core 2.6.x |
Z-Stack 3.0.1 |
2017年5月 |
ZStack Core 2.7.1 |
补充说明一下, 基于ZStack Core 2.6.x这个版本的内核,已经出现了应用细分的现象,比如针对家居自动化的Z-Stack HomeAutomation 1.2.2a,针对智能照明的Z-Stack Lighting 1.0.2,针对能源照明的Z-Stack Energy 1.0.1等等;而Z-Stack Mesh 1.0.0是一个不针对特定领域而是私有协议的应用(由用户自行实现应用)。基于ZStack Core 2.7.1这个内核版本的协议栈Z-Stack 3.0.1其实是ZigBee联盟提出并定义了3.0概念的落地,整合了多个领域!
11 小结
从上面两小结来看,总结下来其实就一句话:用Z-Stack 3.0.1这个版本来学习和开发,准没错!
后续我们会有一个专门的项目篇,会从项目经理的角度来学习如何管理项目,这里我们仅从项目管理的两个基本概念:Bug, Feature来看待Z-Stack的版本发布的情况,每一个新的版本,都会涉及到两个工作:1. 修复Bug 2. 增加新的Feature;Z-Stack增加新的Feature很大一部分是根据ZigBee联盟对ZigBee协议完善过程中增加新的东西或者优化某些功能而定的,比如ZigBee 2007Pro中有了Mesh路由,那么这就会成为一个新的Feature被实现并且在下个版本进行发布。
不管是Z-Stack Core还是Z-Stack的版本更新换代,我们能做的是保证教学的资料和内容紧贴最新版本的Z-Stack,从而保证学者可以与最新的开发环境保持同步;而TI的最新版本开发环境又是和ZigBee联盟高度同步,也就是和ZigBee这个技术及行业保持高度的同步;那么最终学者和行业的发展是一致的,不会落伍。学习一个技术不仅仅只是搞个小功能,实现一个简单的原理比如点亮一个灯什么的,更重要的是和行业、和最新的开发模式做同步,全面细致并且深入浅出的学习!
============================================================================================================================================================
如果觉得对您有帮助并想进一步深入学习交流可以扫描以下微信二维码或加入QQ群:928840648
欢迎共同学习成长,有一群爱学习的小伙伴一起勉励!!一起加油!!也可点击
ZigBee简介\应用协议\解决方案商介绍相关推荐
- 三种近距离技术ZigBee、蓝牙(Bluetooth)和WiFi介绍
为了满足人们对无线通信技术的需求,现对工作于2.4 GHz(ISM)频段常用的短距离无线通信中ZigBee.蓝牙(Bluetooth).WiFi三者的技术优势.缺点及总的市场趋势做了详细分析 目前常用 ...
- 原理简介_消息通信的利器MQTT协议简介及协议原理
- 没用过但是必须得知道系列 - 前言: 相比于 XMPP, MQTT 的简单轻量受到了不少工程师的喜爱,从物联网到传统的消息服务,简单可依赖的 MQTT 到底为何让人如此着迷呢? MQTT 协议-M ...
- JDBC简介及原理和使用介绍
JDBC简介及原理和使用介绍 JDBC简介 jdbc概述 Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据 ...
- 主流的分布式调度框架、Elastic-job简介、功能和常用介绍
主流的分布式调度框架.Elastic-job简介.功能和常用介绍 主流的分布式调度框架 Elastic-job简介 功能 常用 主流的分布式调度框架 elastic-job:由当当网基于quartz ...
- 时间同步——TSN(Time Sensitive Network-时间敏感网络)协议802.1AS介绍
前言 之前的主题TSN的发展历史和协议族现状介绍了TSN技术的缘起,最近一期的主题TSN协议导读从定时与同步.延时.可靠性.资源管理四个方面,帮助大家了解TSN协议族包含哪些子协议,以及这些子协议的作 ...
- XMPP协议实现原理介绍
原文地址为: XMPP协议实现原理介绍 本文介绍XMPP协议原理及相关信息. XMPP协议简介 XMPP(Extensible Messageing and Presence Protocol:可 ...
- http协议编程java_Java与Http协议的详细介绍
搜索热词 Java与Http协议的详细介绍 引言 http(超文本传输协议)是一个基于请求与响应模式的.无状态的.应用层的协议,常基于TCP的连接方式.HTTP协议的主要特点是: 1.支持客户/服务器 ...
- 智能手环---MQTT协议简介及协议原理
更新记录链接:STM32系统学习-目录_嵌入式学习_force的博客-CSDN博客 文章目录 MQTT协议 MQTT协议简介 MQTT通信模型 MQTT客户端的功能: MQTT客户服务器功能: 消息主 ...
- SIP协议及其简单介绍
SIP协议及其简单介绍 概述 流程 SIP流程 两台设备建立会话 原理 使用场景 概述 SIP(Session Initiation Protocol,会话初始化协议)是一个应用层协议,用于在互联网上 ...
最新文章
- AD rodc扩展报错
- iOS开发火了九年,这些错误你还在犯嘛?
- 四、HTTP响应报文格式
- margin的简单应用
- 中国工程院2021年院士增选有效候选人都来自哪些单位?
- Go语言之父带你重新认识字符串、字节、rune和字符
- Opencv中的图像深、浅拷贝
- Go语言结构应用实例
- k8s dashboard_ASP.NET Core on K8S深入学习(2)部署过程解析与部署Dashboard
- 12.微服务设计 --- 总结
- 移植UE4的Spline与SplineMesh组件到Unity5
- elasticsearch 批量插入
- 台服海岛纪元显示无法连接服务器,打开海岛纪元提示网络异常或者连接不上
- ARM 交叉编译器命名规则
- Mac 安装Gradle教程
- 色彩的搭配,象征,以及web标准色
- 苹果MFI bluetooth认证开发过程:iDevice和accessory
- androidnbsp;网络联接nbsp;CMWAPnbsp;CTWAP
- 长沙计算机学院欧阳登轶,我校学生在2020年湖南省第十六届“强智杯”大学生计算机程序设计竞赛中喜获一等奖...
- STM32F429 13. SPI 通讯(code)