ZigBee作为一种个人网络的短程无线通信协议,已经日益为大家所熟知,它最大的特点就是低功耗,和可组网。对于紧张的能源需求,zigBee有它自己的优势,用无线替代有线,可以节约电缆成本,而低功耗又可以节约电力的需求,这都符合当今的潮流趋势。带有路由的可组网功能可以使它覆盖的通讯面积更大,相对于蓝牙,红外的点对点通信,和WLAN的星状通信,ZigBee RS232;ZigBee RS485; ZigBee Ethernet各种衍生产品可以实现网络内的任何两个点之间的通信传输,这就使它具有更广的应用范围,比如在工业控制,无线传感器监测,人员无线定位等地方都有很好的实际应用。
但是相对其它点对点的协议,ZigBee的协议就要复杂得多了。那么我们开发ZigBee智能家居产品时究竟是该选择ZigBee芯片去自己开发协议呢,还是直接选择已经带有了ZigBee协议的模块直接应用呢?
玩转芯片的代价:开发时间周期长;人力和技术储备雄厚。
首先现在市场上的ZigBee射频收发“芯片”实际上只是一个符合物理层标准的芯片,它只负责调制解调无线通讯信号,所以必须结合单片机才能完成对数据的接收发送,和协议的实现。而单芯片也只是把射频部分和单片机部分集成在了一起,不需要额外的一个单片机,它的好处是节约成本,简化设计电路,但这种单芯片也并没有包含ZigBee协议在里面。
这两种情况都需要用户根据单片机的结构和寄存器的设置并参照物理层部分的IEEE802.15.4协议和网络层部分的ZigBee协议自己去开发所有的软件部分。这个工程量对于做实际应用的用户来讲是很大的,开发周期,测试周期也是非常之长的,更由于是2.4Ghz的无线通讯产品它的产品质量也不是很容易得到保障的。
即便现在许多ZigBee公司都提供自家芯片的ZigBee协议栈,但这只是提供一种协议的功能,而并不代表它具有真正的可应用性和可操作性,因为它并没有提供一个对用户的数据接口的详细描述,用户怎么才能不顾及芯片内部的程序而很简单轻松的就把自己的数据通过芯片发送出去,甚至组成路由获取传送更远方产品的数据,这都不是只包括了ZigBee协议栈的芯片就能简单实现的,ZigBee协议栈只是说它有了协议的所有组成部分,而究竟怎么把每部分结合并有条不紊的运转起来,并怎么实现和用户自己数据的协议通讯?一个只包含了ZigBee协议栈的芯片是不可能实现得了的。
直白点讲,这些需要用户根据完整的协议代码和自己上层的通讯协议,再去一点一点每个部分的去修改协议栈中的内容,才能完成简单的数据无线收发,而要完成一条路由,甚至整个网络的通信,那调试测试的时间则会需要更长的。
那么对于做实际应用的用户来讲将会大大耽误开发周期,并且这种具有复杂协议的无线产品会具有更多的不定因素,更易受到外界环境条件的影响,在实际开发中遇到的问题将会五花八门,难于应付。