申明:
这是我自己学习zigbee的一个学习历程,因为公司要做zigbee产品,而公司又没人做zigbee的,我又刚好没有被安排别的事情做,所以就安排我去了解(说得好听点就是预研)一下zigbee的基本知识。我一个做纯软件的家伙,不懂多少单片机或者硬件的东西,所以我这里肯定不会涉及很多硬件的东西,那些裸机操作IO之类的,我这里也很少会提及,我的目标就是用这个协议栈去做我想做的东西,因为TI弄好了,你如果是想去了解这些IO的话,那么你倒不如找本书好好看,如果你想协议协议栈是如何实现的那建议你别搞zstack,搞tinnyOS吧!
相信初学zstack协议栈的时候都有一个很模糊的概念,就是zigbee和zstack不是一样的么?可以肯定的告诉你,这是不一样的哦!zigbee是一种无线技术,而zstack是其中一种基于这种无线技术的一个无线协议栈。还不明白的话,那再说白点,Tcp/IP协议知道是什么东西吧?windows有实现TCP/IP的协议栈吧,那linux也有这个TCP/IP的协议栈啊,这个两个协议栈是不一样的,可是他们是同样是遵循TCP/IP协议的,只是windows的是不开源的,linux的是开源的而已。恍然大悟了吧。呵呵~~~~~那么呢,zigbee就像是tcp/ip协议,zstack和tinnyOS就好比windows和linux的tcp/ip协议栈(当然在技术层面上不能够这么比),zstack从ZDO层以上是开源的,从ZDO以下是不开源的,tinnyOS是完全开源的,当然他们的很多机制是不一样的,别想着tinnyOS也会有ZDO,而且ZDO是什么东西也先别问。好吧,我这样子说吧,zstack从应用子层以上是开源的,什么网络层一下是不开源的。当然对于802.15.4这些协议你自己google,baidu去,再说就废话了。
现在我们说说的是如何安装zstack协议栈,对于有兴趣研究tinnyOS的自己上网找资料吧。其实说安装总有点别扭,为什么呢,下面说了你也会觉得别扭。
首先去TI的官网http://www.ti.com下载我们要用的zstack协议栈的安装文件,就是一个.exe文件,没别的东西。
下载完成之后,解压得到.exe文件,进行安装,路径你可以选择默认,同样你也可以选择你想要安装的位置,你爱怎么弄就怎么弄。
很多人就困惑了,装完之后不是应该有个桌面图标的么?图标在哪???在哪运行这个协议栈???是否你也困惑过呢?
上面说这个叫安装让人觉得很别扭就别扭在这里,其实ti的所谓的安装协议栈和解压没什么两样,都是把一些文件解压到你安装的目录下,当然这个是协议栈,不是一个应用程序,就别想着点击运行看看结果了,别做梦了。
好了,协议栈是安装好了,可是怎么用它呢?装了肯定要用啊是吧,别急,我们先来看看这个协议栈的目录
我们来看看这几个目录是干嘛的
Components,顾名思义这个是放我们的库的文件夹,里面放了一些我们用到的ZDO,driver,hal,zcl等库的代码
Documents,这个不用说大家都知道是放TI的开发文档的,你能够把这些鸟文的文档一个个看懂,你对这个协议栈已经是了如指掌了。里面很多都是讲述协议栈的API的必须读
Projects,这个文件夹放的是TI协议栈的例子程序,一个个例子程序都是以一个个project的形式给我们的,学好这些例子程序里面的一两个,基本你能做事情了。
Tools,这个文件夹是放TI的例子程序的一些上位机之类的程序,作为工具使用。
好了,基本明白了基本架构之后,你应该知道怎么弄了吧?当然了,你如果不想在这里玩zstack,你完全可以把这些文件夹拷贝到别的地方去玩,不过记住了,这些文件夹的相对位置是不可以变的,只要为什么?我只可以告诉你,现在你还不会变,因为project里面设置了一些路径之类的东西,如果你改变了相对位置,那么他可能找不到某个文件了
好了,协议栈的介绍到此结束,要学zigbee还是自己买套板子吧,至少要有三个板子吧,买什么板子都好,问清楚是不是支持最新协议栈的,是否一共datasheet和原理图的,技术支持怎么样啊。这些都非常重要。