Zigbee无线技术学习经验总结:(三)提高实战篇

 时间:2024-10-11 18:49:04

1、Zigbee开发套件内提供了组网学习的实验例程。根据每个实验例程实现的功能,建议对每个例程的程序流程进行分析,包括应用程序和协议栈。熟悉每一个功能用到了哪些API函数和预编译选项,例如:协调器是如何组网的?路由器和终端节点是如何入网的?设备是如何绑定和解绑的?等等内容。学习过程中建议对协议栈中重要的API函数和应用程序进行注释和做好笔记,画出关键事件执行的流程图,例如组网、入网、绑定、按键执行等事件,这样能方便后续返回查找和追溯之前的学习内容,就在这种的学习和复习的循环中加深对程序的理解。

Zigbee无线技术学习经验总结:(三)提高实战篇

2、在分析和阅读程序的过程中必然会遇到许多问题,这个时候可以上网查询解决办法,但是要特别注意的是网上的有些说法和解答是不完整或者是不正确的,大家要注意甄别,每一个问题的解决办法必须自己修改程序后烧写到开发板上进行验证。而且平时也可以多看看其他网友的发帖,如果后续自己也遇到类似的问题也能很快找到方向,提高了解决问题的效率。

Zigbee无线技术学习经验总结:(三)提高实战篇

3、对协议栈有深入的了解后,你可以想象出一个应用场景,或者上网查询一些Zigbee产品,通过其说明书了解其功能,思考如果是自己做这些产品该如何将Zigbee技术运用其中。确定目标后,将这个产品和应用场景的需求,分解为很多个可以用Zigbee技术实现的功能,再思考每个功能在程序中的具体实现方式,也就是编写和调试程序的过程。例如现在有很多厂家都有的Zigbee串口透传模块、Zigbee智能家居套件等,都是很好的应用场景。

Zigbee无线技术学习经验总结:(三)提高实战篇

4、如果向更深入一些,有条件的可以购买一些醍祈喊廴市面上的Zigbee产品回来进行分析和测试,包括产品功能、硬件指标等项目。除功能测试外,还可以进行传输距离测试、数据传输率测试、抗干扰测试、功耗测试等。然后思考如何在开发板上修改、编写和调试程序达到这些量化指标。例如我之前解决的一个问题:如何实现终端节点的低功耗,具体量化指标就是CC2530进入PM3模式下的休眠电流能够达到1uA。如果终端节点已经入网,这个指标是很好实现的,但是节点在没有入网的情况下要能够到达1uA的电流,又能够在网络建立后能迅速加入网络就不是那么好控制了。这些都需要反复的修改、调试和测试程序。

Zigbee无线技术学习经验总结:(三)提高实战篇

5、设计自己的Zigbee PCB板,修改程序以适配自己的硬件。对于软件来讲,之所以这么做,是因为之前我们调试的程序都是在开发板上完成的。实际产品的硬件(包括按键、LED灯和ADC等外设)都与开发竣淠仝螃板硬件不相同。而协议栈底层的硬件驱动都是基于开发板硬件编写的,所以我们要掌握如何根据自己的硬件来修改协议栈的底层驱动,这样做就更接近实际的产品开发。对于硬件来讲,实际的射频电路的PCB布局布线和阻抗匹配,会对Zigbee性能有很大影响,影响最大的就是传输距离。所以自己设计PCB板并结合软件进行测试,更能反应产品的真实情况,更有利于及早地发现和解决问题。

Zigbee无线技术学习经验总结:(三)提高实战篇

6、学会将自己的应用程序移植到新版协议栈。新版协议栈相对旧版协议栈新增了部分功能,解决了部分bug。移植的时候可能出现应用程序与新版协议栈之间有冲突和功能重复的情况。例如之前旧版协议栈没有解决的bug用户就只能在自己的应用程序中解决,新版协议栈解决这个bug后,应用程序就应该做相应修改避免重复,修改后还必须进行回归测试和全功能测试。

Zigbee无线技术学习经验总结:(三)提高实战篇

7、Zigbee无线技术学习经验总结,到这里就全部结束了,可能有不完善和缺漏的地方,大家可以联系我一起讨论。

Zigbee无线技术学习经验总结:(三)提高实战篇
  • Matlab2016 中如何改变编辑器以及桌面字体大小
  • 用Protel 99 SE绘制原理图前做什么准备?
  • Matlab2012a软件安装教程(二)
  • Matlab中使用plot作图
  • 如何在matlab中读写二进制数据?
  • 热门搜索
    廉洁手抄报资料 手抄报简单 小学垃圾分类手抄报 数学园地手抄报 大学生手抄报 绿色环保手抄报资料 科学手抄报的资料 关于手抄报的边框 六年级上册手抄报 格列佛游记手抄报