4549
- 收藏
- 点赞
- 分享
- 举报
Zigbee入门的一点儿建议(转自飞比论坛)
假设要学这个的同学们具备了基本的硬件基础和C语言基础,如果这两点不具备,我个人认为还是先找普通的51啊,Atmega啊,MSP430这样的单片机先玩玩,起码要对寄存器啊,指令啊这些有认识,还要对定时器啊,串口啊,GPIO啊,中断啊,flash啊,RAM啊这些有清晰的认识才行,否则很难和大家沟通了。在C语言方面,起码要具备能为51这些处理器写应用程序,知道如何初始化硬件,如果写中断ISR,如何去弄GPIO这些,最好还要写过起码千行左右的单片机应用程序吧,要不然想弄明白协议栈中几百个文件之间的关系,并且能够按照需要改动相关定义和函数是有困难的。
好的,假设大家有了我上面的基础,并且自我感觉还比较良好的话,那么入门zigbee应该按照下面步骤进行:
先科普一下zigbee,先搞清楚zigbee网络中的一些名词
zigbee都有哪些网络拓扑结构?星形网、网状网、树形网。
什么是协调器coordinator? 什么是路由器router? 什么是终端设备end device?
什么是绑定?什么是设备发现?什么是。。。。。
关于这个入门的文档呢,我个人认为还是看论坛学习资料共享区的
葵花宝典--Newnes.ZigBee.Wireless.Networks.and.Transceivers.Sep.2008.eBook-DDU
不过新手同志们要注意的是,这本书前面几章主要是在讲zigbee入门的事情,后面就开始讲Transceivers,也就是无线收发器和天线哪些东西,新手目前可以无视之,不看就行了,看完了如果你基础不好,只能让你更迷茫,这就跟练习乾坤大挪移心法一样,没有九阳神功,就别修炼第四层以后的,否者就要像阳顶天那样走火入魔了。哈哈。
相信耐着性子看完几章之后,同学们对zigbee的大致情况有了初步认识,可能想要摩拳擦掌搞代码了。这个时候,是你应该下手买一套开发板的时候了,当然了,如果你功底可以,也可以自己做,不过我相信能自己做的同学也不需要看我这个文档了。所以呢,还是买一套吧,买什么样的?我的建议是:
一定要有一个仿真器,最好3以上个带射频模块的开发板(有的开发板是射频模块和外扩电路在一起,有的是底板和RF板分离的,具体那种无所谓)。但是要注意,最好还是买有几个按钮和LED以及一个串口接口的板子,否则会让你进一步的试验程序带来问题。为什么要3个呢?因为有3个,你将来才有机会做路由器的实验,呵呵。
好了,开发板有了,还需要什么?你需要开发环境,2430处理器用iar 7.30B,2530的2.3.1-1.4.0版本协议栈用iar7.51,最新的TI协议栈2.4.0-1.4.0貌似需要用7.60版本了。新手同学们一定切记,TI的zstack协议栈是比较紧密地捆绑iar的,用低版本编译高版本协议栈肯定不行,反之也不一定行,所以一定要按照推荐的编译器来进行。还有的同学习惯了keil之类软件,妄图不用iar,把zstack弄到非iar编译器下进行。如果有这个想法,我劝你尽早打消念头,否则会死的很惨。
安装了编译器之后,你还需要协议栈啊,协议栈哪里有?TI网站有,不过TI这个公司吧,新版本出来老版本就不能下载了,相信大家都会上网,自己想办法搞吧,还是很容易的。并且如果你买了开发板,对应版本的iar和协议栈都应该有了。安装协议栈,默认路径就OK。
准备工作都OK以后,按照你板子光盘例子打开来一个看看吧。嘿嘿,到这里,有的同学买的板子,尤其是那种很小的,根本带的就不是完整协议栈(我第一个板子就是这样,我估计卖板子的当时也没整明白,可是我当时更不明白),那你就打开安装的完整协议栈的一个例子吧。。。。。
我相信打开之后新手同学们立马儿会晕掉。。。。。,这么多文件夹,这么多文件,main在哪里?相互之间什么关系?
行了,打开就打开了,别想着现在就去改程序或者做实验(做实验的话,有的开发板带的例子比较好,按照说明一步一步操作down到板子上就能有效果,不过你也只能是照葫芦画葫芦,根本就啥也不知道呢)。这个时候,你需要到论坛原创区或网上找找关于协议栈结构的文章和帖子,先大体了解每一个文件夹是做什么的,你也可以试着在iar中打开文件夹里面的文件先过过眼瘾。这段时间,你可能要花十天半月地去读论坛原创区帖子,一边读一边照着帖子,打开iar,去看看帖子写的那些东西的程序代码,先混一个脸熟。看完那么多帖子了,我想你对协议栈那些个文件大体上知道个皮毛了,可以找找基本实验的帖子做实验了,试着改动一下试验发送的数据内容,试着让你的几个节点都能和协调器通信。。。。
如果上面这件事儿你做的挺好,会信心大增的,不过别高兴太早了,这个时候其实连入门都算不上。我没有打击你,真的不能算入门(我现在都怀疑我还没入门,因为一直只是再看资料,很少动手做)。
在这个阶段,会有的同学试图去演示一下TI的协议栈例子,结果发现TI的板子和你的板子根本就不一样(outman的板子尽量靠近TI,除了液晶不太一样,其余的基本一致,至于别家的板子,可能就差别大了,不过也可能和TI完全一样,那么恭喜你,买到TI正版了,呵呵),down例子程序到板子上,连一个灯都不亮,呵呵,改改程序吧?咋改?这是一个问题。到这里,你还是要看论坛帖子!等你能改LED了,又是一个进步。但是想用协议栈,还是有很长的路。这时候,碰到问题要多看帖子,尤其是ti协议栈安装后的documents文件夹里面的pdf文档,会帮你解决很多问题,有时间多看看那些文档,同时比对程序代码,加深认识。
随着学习的深入,我想你可以改LED了,改KEY了,改UART了,也可以改配置了,改编译选项了。甚至于可以改协议栈app层代码实现自己的一点儿小功能了。到这个时候,我认为可以基本算是入门了吧。
之后可能你还有自己做板子的冲动,毕竟买的开发板是无法满足实际要求的。那么这个时候,你就要找些原理图看看(板图很难找,呵呵。尤其是天线部分,你可以去TI网站下载一些关于天线的资料来看。如果硬件基础好,这个基本技能是应该有的。
在之后,做了自己的板子,能自己修改协议栈相关代码,能实现自己的难度不大的网络,实现数据交换,入门啦。以后的事情,不用我说了,你比我明白了。
另外,在理解协议栈工作机制的过程中,另外一本书:
Zigbee wirless networking(Drew Gislason)
这本书是写的freescale处理器的,但是zigbee是相通的,很值得一看,作者写的很好,很清楚。
好了,这些都干完了,你也该入门了吧?如果你还想提高,这个时候就要去研读协议栈规范了,数百页吧。新同学千万别上来就看协议栈规范,我保证你看不懂,并且能看吐了。
行了,写这么多吧,收工了。
补充一下:如果你C基础不好(如果你说你考过了大学计算机二级C,但是没具体编过硬件程序,我认为你C基础几乎是0),硬件基础也不好(如果你说你学过MCS51单片机那门课,但是没有实际做过应用,开发过软硬件,我认为你单片机基础也是0),那么最好先别弄协议栈,先把单片机玩熟悉一种再来吧。
再有就是总有人在群里要中文资料,毫不客气的说,如果你不能看英文资料,你不适合学习zigbee。
在这里鄙视一下国内大多数翻译TI文档就出书的写手们,对zigbee毫无认识,就敢出来写zigbee的书,写出来的东西狗屁不通,完全就是害人的。所以,还是老老实实看英文文档,那才是一个硬件工程师应该具备的基本技能,什么都想找中文的,等神马都是中文的了,你学这个就是浮云了。
好的,假设大家有了我上面的基础,并且自我感觉还比较良好的话,那么入门zigbee应该按照下面步骤进行:
先科普一下zigbee,先搞清楚zigbee网络中的一些名词
zigbee都有哪些网络拓扑结构?星形网、网状网、树形网。
什么是协调器coordinator? 什么是路由器router? 什么是终端设备end device?
什么是绑定?什么是设备发现?什么是。。。。。
关于这个入门的文档呢,我个人认为还是看论坛学习资料共享区的
葵花宝典--Newnes.ZigBee.Wireless.Networks.and.Transceivers.Sep.2008.eBook-DDU
不过新手同志们要注意的是,这本书前面几章主要是在讲zigbee入门的事情,后面就开始讲Transceivers,也就是无线收发器和天线哪些东西,新手目前可以无视之,不看就行了,看完了如果你基础不好,只能让你更迷茫,这就跟练习乾坤大挪移心法一样,没有九阳神功,就别修炼第四层以后的,否者就要像阳顶天那样走火入魔了。哈哈。
相信耐着性子看完几章之后,同学们对zigbee的大致情况有了初步认识,可能想要摩拳擦掌搞代码了。这个时候,是你应该下手买一套开发板的时候了,当然了,如果你功底可以,也可以自己做,不过我相信能自己做的同学也不需要看我这个文档了。所以呢,还是买一套吧,买什么样的?我的建议是:
一定要有一个仿真器,最好3以上个带射频模块的开发板(有的开发板是射频模块和外扩电路在一起,有的是底板和RF板分离的,具体那种无所谓)。但是要注意,最好还是买有几个按钮和LED以及一个串口接口的板子,否则会让你进一步的试验程序带来问题。为什么要3个呢?因为有3个,你将来才有机会做路由器的实验,呵呵。
好了,开发板有了,还需要什么?你需要开发环境,2430处理器用iar 7.30B,2530的2.3.1-1.4.0版本协议栈用iar7.51,最新的TI协议栈2.4.0-1.4.0貌似需要用7.60版本了。新手同学们一定切记,TI的zstack协议栈是比较紧密地捆绑iar的,用低版本编译高版本协议栈肯定不行,反之也不一定行,所以一定要按照推荐的编译器来进行。还有的同学习惯了keil之类软件,妄图不用iar,把zstack弄到非iar编译器下进行。如果有这个想法,我劝你尽早打消念头,否则会死的很惨。
安装了编译器之后,你还需要协议栈啊,协议栈哪里有?TI网站有,不过TI这个公司吧,新版本出来老版本就不能下载了,相信大家都会上网,自己想办法搞吧,还是很容易的。并且如果你买了开发板,对应版本的iar和协议栈都应该有了。安装协议栈,默认路径就OK。
准备工作都OK以后,按照你板子光盘例子打开来一个看看吧。嘿嘿,到这里,有的同学买的板子,尤其是那种很小的,根本带的就不是完整协议栈(我第一个板子就是这样,我估计卖板子的当时也没整明白,可是我当时更不明白),那你就打开安装的完整协议栈的一个例子吧。。。。。
我相信打开之后新手同学们立马儿会晕掉。。。。。,这么多文件夹,这么多文件,main在哪里?相互之间什么关系?
行了,打开就打开了,别想着现在就去改程序或者做实验(做实验的话,有的开发板带的例子比较好,按照说明一步一步操作down到板子上就能有效果,不过你也只能是照葫芦画葫芦,根本就啥也不知道呢)。这个时候,你需要到论坛原创区或网上找找关于协议栈结构的文章和帖子,先大体了解每一个文件夹是做什么的,你也可以试着在iar中打开文件夹里面的文件先过过眼瘾。这段时间,你可能要花十天半月地去读论坛原创区帖子,一边读一边照着帖子,打开iar,去看看帖子写的那些东西的程序代码,先混一个脸熟。看完那么多帖子了,我想你对协议栈那些个文件大体上知道个皮毛了,可以找找基本实验的帖子做实验了,试着改动一下试验发送的数据内容,试着让你的几个节点都能和协调器通信。。。。
如果上面这件事儿你做的挺好,会信心大增的,不过别高兴太早了,这个时候其实连入门都算不上。我没有打击你,真的不能算入门(我现在都怀疑我还没入门,因为一直只是再看资料,很少动手做)。
在这个阶段,会有的同学试图去演示一下TI的协议栈例子,结果发现TI的板子和你的板子根本就不一样(outman的板子尽量靠近TI,除了液晶不太一样,其余的基本一致,至于别家的板子,可能就差别大了,不过也可能和TI完全一样,那么恭喜你,买到TI正版了,呵呵),down例子程序到板子上,连一个灯都不亮,呵呵,改改程序吧?咋改?这是一个问题。到这里,你还是要看论坛帖子!等你能改LED了,又是一个进步。但是想用协议栈,还是有很长的路。这时候,碰到问题要多看帖子,尤其是ti协议栈安装后的documents文件夹里面的pdf文档,会帮你解决很多问题,有时间多看看那些文档,同时比对程序代码,加深认识。
随着学习的深入,我想你可以改LED了,改KEY了,改UART了,也可以改配置了,改编译选项了。甚至于可以改协议栈app层代码实现自己的一点儿小功能了。到这个时候,我认为可以基本算是入门了吧。
之后可能你还有自己做板子的冲动,毕竟买的开发板是无法满足实际要求的。那么这个时候,你就要找些原理图看看(板图很难找,呵呵。尤其是天线部分,你可以去TI网站下载一些关于天线的资料来看。如果硬件基础好,这个基本技能是应该有的。
在之后,做了自己的板子,能自己修改协议栈相关代码,能实现自己的难度不大的网络,实现数据交换,入门啦。以后的事情,不用我说了,你比我明白了。
另外,在理解协议栈工作机制的过程中,另外一本书:
Zigbee wirless networking(Drew Gislason)
这本书是写的freescale处理器的,但是zigbee是相通的,很值得一看,作者写的很好,很清楚。
好了,这些都干完了,你也该入门了吧?如果你还想提高,这个时候就要去研读协议栈规范了,数百页吧。新同学千万别上来就看协议栈规范,我保证你看不懂,并且能看吐了。
行了,写这么多吧,收工了。
补充一下:如果你C基础不好(如果你说你考过了大学计算机二级C,但是没具体编过硬件程序,我认为你C基础几乎是0),硬件基础也不好(如果你说你学过MCS51单片机那门课,但是没有实际做过应用,开发过软硬件,我认为你单片机基础也是0),那么最好先别弄协议栈,先把单片机玩熟悉一种再来吧。
再有就是总有人在群里要中文资料,毫不客气的说,如果你不能看英文资料,你不适合学习zigbee。
在这里鄙视一下国内大多数翻译TI文档就出书的写手们,对zigbee毫无认识,就敢出来写zigbee的书,写出来的东西狗屁不通,完全就是害人的。所以,还是老老实实看英文文档,那才是一个硬件工程师应该具备的基本技能,什么都想找中文的,等神马都是中文的了,你学这个就是浮云了。
我来回答
回答0个
时间排序
认可量排序
暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2018-02-05 15:04:18
-
2018-12-20 10:32:17
-
2018-12-08 11:59:33
-
2013-11-16 11:22:01
-
2017-12-11 10:47:49
-
2017-02-22 11:37:06
-
2018-12-13 13:59:17
-
2013-08-29 15:02:43
-
2016-09-01 22:39:49
-
2018-12-18 17:37:21
-
2013-08-28 14:01:40
-
2013-11-19 11:53:24
-
2019-01-22 17:19:16
-
2013-08-28 12:17:38
-
2015-05-08 23:22:05
-
2013-08-29 23:46:29
-
2015-06-12 15:11:53
-
2013-11-28 22:29:07
-
2020-01-13 11:39:59
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认