zigbee初学者疑惑

zigbee初学者疑惑,第1张

我给你一些建议,我学习zigbee已有半年有余,当时连什么是zigbee都不知道。要学好zigbee必须理论实践相结合,从最基础入手。单片机基础非常重要,c语言同样如此。只有掌握以上两种技能你才能看懂代码是写的什么东西。如果你以前利用c开发过单片机,那你入门将会快很多。协议栈里所用到c,几乎包括c所有的知识点,我相信在大学里面老师只会点到为止,c必须精通才行。
网上有几个好的论坛,其中飞比是我经常去的地方,里面有蛮多牛人,不懂可以问他,当然非常简单的东西就不要问了,没什么意义,里面牛人有毛毛老师,outman,相信你在网上很定看到他们的学习笔记,我都是一篇篇看过来的。另外,zigbeeqq群最好加一个,可以随时交流。
另外网上有关于zigbee学习的视频,锋硕电子出版的,将得蛮好。
zstack协议栈里面实例,最好从基础实验做前,从最基础的中断,定时器,adc到绑定,组网,一步步来。有些东西第一遍没弄明白,多看几遍就会明白。
等你实验做的差不多,osal *** 作系统工作流程弄懂,按键流程,串口流程,弄懂。你就可以在别人的代码基础上做自己的应用。

zigbee可以组三种类型的网络——星型、树状、网状。
组网过程大体一致,路由过程存在很大的差别
zigbee组网首先都是由协调器发起组网,扫描环境是否存在其他干扰,选择较好的信道和独一的PANID进行组网
路由节点加入网络:星型网路由直接加入协调器就OVER了;树状网路由节点会找一个较好的父节点,以后通信只和父节点进行,以此类推;网状网路由节点会随机加入网络,但路由是AODV方式,即按需路由,源节点有信息时才发起路由发现,其余时间只是周期性维护下邻居表。当然地址分配也会存在差别,其他的也有一些差别,这里长话短说,仅仅说下组网过程的差别
对应最后一个问题,协议栈与协议的关系
协议通俗的说就是一些算法的集合
协议栈通俗地说就是协议的语言实现,例如zigbee协议栈就是用C语言实现了一些必要的协议算法
希望对你有帮助,欢迎追问!!!

先要区别ZIGBEE协议和协议栈。
协议栈是用代码来实现ZIGBEE协议。协议栈是对应ZIGBEE协议的。
你能不学ZIGBEE协议能看懂协议栈的代码,特别是应用层的话,那也可以了。
当然ZIGBEE协议内容很多,搞ZIGBEE开发更多是搞应用,就是修改协议栈的应用层代码,时间紧缺的话可以直接看协议栈的教程,我当初是这样的。
但是总觉得自己还在ZIGBEE外围,因为没系统学过ZIGBEE协议。

(1)OSAL(Operating System Abstraction Layer),即“ *** 作系统抽象层”。
Zigbee协议栈里面的OSAL是基于时间片轮询机制的,也就是说系统以固定的周期不断的查询是否有事件发生,如果有事件发生则判断相应事件的处理任务,由事件对应的处理任务完成事件的处理,完成对事件的整个处理过程。
(2)关于状态机的一个极度确切的描述是它是一个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而“运行”。每个事件都在属于“当前” 节点的转移函数的控制范围内,其中函数的范围是节点的一个子集。函数返回“下一个”(也许是同一个)节点。这些节点中至少有一个必须是终态。当到达终态, 状态机停止。
协议栈中的OSAL和状态机只是实现事件处理的两种调度方式,其本质都是基于事件驱动的。
(3)关于设计一个协议栈
协议栈即某种协议的代码实现,中间涉及硬件实现以及软件实现两部分。对于初学者首先学会如何使用协议栈才是关键,可以不用考虑协议栈采用哪种调度方式 。

希望我的回答对你有帮助!

组网是用到协议栈的,你只是用2530与另一个单片机进行串口通信,那就不是组网了,就是两个单片机之间的串口通信了;不知道你是想完成zigbee通信呢,还是只是想做单片机实验;单片机实验的的话用2530真是浪费,而且不好用,因为cc2530虽然是8051内核,但是他的很多功能都跟普通单片机不同,要仔细看过他的数据手册才好 *** 作,那手册有250多页,做几个简单的单片机实验没必要这么麻烦……想做通信的话,最好是买个开发板,有便宜的,我买的35块一个,一般买俩个或三个就行了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12833426.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存