转载的,觉得作者学习的很有套路,也很细致。不论是言语还是学习方法都值得我学习。下面大家一起来看看吧:
要事先申明一下最好有单片机和C语言的基础,因为往下做就是编程序。
是一直菜鸟(PS:本人觉得作者很谦虚),但是就这一段时间的入门学习做一个总结吧,以方便后面zigbee入门的人看看。 1, 了解一下什么是zigbee无线网,了解一下基本的信息比如信道(要是有人带着学习,就可以上手更快了) 2, 开发环境搭建,也就是IAR和协议栈安装。 (1)这里用win7的同学要注意,必须下载IAR8.0以上的版本才可以;XP的就无所谓了。 (2)其次就是协议栈了: 协议栈可以有两种来源1,自己安装;2,直接从别人那里复制(个人觉得是比较好的方法)。因为这样的话基本不用配置就可以使用了。 (3)协议栈配置 project—options打开配置文件,或者用下图打开 [img]file:///C:/Users/huang/Desktop/OA%7BWZ1M%7B6EE%259HS]3~[6N]3.jpg[/img] 左边Link选项: 右边output选项卡 1勾选override default,下边该位.hex, 2other:output,file:intel-extended Format variant:none Module-local -include all Config选项卡 勾选override default,并将下边的路径该为本协议栈的文件f8w2530.xcl 路径(我用的是2530所以才这么选的,这里的配置文件按需要选)。 左边debugger 勾选最下方的override default,并将下边的路径该为IAR下cc2530.ddf的路径. 3, 下一步就是编程了,推荐看一下这本书《zigbee无线传感器网络设计与实现》,其实这本书讲的很范,但是总的来说作为入门使用还是可以的,可以帮助我们了解基本的程序修改。 看完数据传输实验,就具体的动手用板子做一下。不要直接全部将程序全部敲进去,只需要在APP下应用.c文件修改就好。之后就是针对修改的部分去查资料。弄明白的话基本就算是入门了。如果只做浅显的,这些显然就够用了。 4, 如果要进一步深入学习,就去了解一下一些基本概念,这样对学习很有帮助。在优酷上去搜索一套视频《zigbee学习版视频》,这个第一讲哪些基本概念将的比较清楚,后边也讲述的比较好。 在学习中遇到的问题: (1)信道的设置: f8wConfig.cfg ,通过如下编译器命令行选项来实现: -DDEFAULT_CHANLIST=0x00000800 该命令行选项在协议栈中定义了一个符号常量DEFAULT_CHANLIST该常量是一个32位二进制数,它的每一位对应一个物理信道(channel),bit 0对应868 MHz频段上的1个信道,bit 1-10对应915 MHz频段上的10个信道,bit 11-26对应2.4 GHz频段上的16个信道。编译程序时需将所要使用的信道对应的bit置为1,其它bit置为0,本例中表示使用2.4GHz频段上channel 11。如果存在多个信道对应的bit为1的情况,协议栈会按照信道从低到高对各个信道进行扫描,寻找空闲信道(网络协调器建立网络时)或寻找指定网络(路由器或终端设备加入网络时)。 (2) PAN ID的选择。在f8wConfig.cfg文件中,通过如下编译器命令行选项-DZDAPP_CONFIG_PAN_ID=0x1234 该命令行选项在协议栈中定义了一个符号常量ZDAPP_CONFIG_PAN_ID,该值由用户指定,可以设为0-0x3FFF之间的任何值,代表着网络标识号(PAN ID),通过给不同的网络设置不同的PAN ID值,就可以使它们工作在同一物理信道上。如果该值设为0xFFFF,则PAN ID由协议栈动态设置。对于网络协调器来说选择一个尚未被占用的值作为PAN ID来建立网络,而对于路由器或终端设备来说,则寻找指定物理信道内允许节点加入的网络,然后将其设置为该网络的PAN ID值。注意:同一个PAN ID只允许一个协调器存在,在做实验的时候,每组需要手动设置不同的值,否则网络无法正常工作。(通常默认我ffff,一般在附近有多个zigbee网络的时候修改) (3)固定网络中各个节点网络地址(记住网络的信息) 这个我觉得挺好用的,方法:在definded sumbols中增加一项NV_RESTORE=1,这样就可以了,这样不管是掉电还是网络重启,只要设备没有变化,它的网络地址就不会改变(可以用液晶或串口观察),
[img]file:///C:/Users/huang/Desktop/L8F3%25A[YXSVD@D9[]V)@B33.jpg[/img] 当然如果想要去掉记住网络状态,就选择Erase,擦掉记住的信息就好了,之后重新编译下载就好了。方法如下: file:///C:/Users/huang/Desktop/$FG_@2EIWK26L~2A4ZN]1NT.jpg 其中在zigbee学习中组播和绑定也比较好用,组播很简单,但是绑定这个就有的复杂,虽然网上资料比较多,但是都不是很深,协议栈中有一个自带的例子,但是修改起来就工作量巨大。对于绑定我还有的云里雾里。 (4)网络拓扑结构 这个我也没有弄明白,按照资料上的要求设置,但是总是失败 组不出想要的网络结构最好有单片机和C语言的基础,因为往下做就是编程序。 虽然我现在还
|