最近换了家新公司,花了两个月从不懂ZigBee到解决了不少遗留偶发BUG,有了不少心得体会,下面分享下自己定位思路,以及分析问题的方法。

刚进公司,接手了另一个工程师做的ZigBee项目(采用CC2530方案),遗留不少问题BUG,前两周看代码,熟悉ZigBee协议,当前遗留了有不少BUG,其中丢包率高、经常性的掉线并且不能自恢复、入网速度慢、入网后概率性的掉线这几个问题最为急切解决,我选择了一个相对简单解决的问题入手----丢包率高。

首先大概分析了一下,丢包率高有几个可能性的问题:1、外界干扰;2、防冲突机制以及CCA阈值;3、软件BUG。

其中1是没办法的,只能通过修改信道,错开WIFI干扰区间,如下图

由以前的18、25、26信道,改为11、15、20、26信道,大致测试了一下,相对稍微改善一下,但依旧没有得到质的提升。

采取2方法,因为CC2530防冲突机制底层封装成库了,无法进行改善,既然底层无法改善,那就修改参数,于是乎,修改了CCACTRL0寄存器里的CCA_THR寄存器,经过反复尝试,选择到一个最佳的值(详细步骤就不说了),但是依旧没有得到预期效果。

采取3方法,怀疑程序有BUG,但是看代码没有问题,因此根据之前经验,有线的有问题就抓波形,无线有问题就抓包,开始认真研读802.15协议以及ZigBee协议,通过抓包分析,后来突发奇想,既然发送数据错误,就看看错误原因,于是在

在AF_DataRequest函数返回值进行仿真,查看ret的结果值,无意间尝试,把协调器断电,设备发数据,理论上应该得到错误值,但是这个值确是0,我怀疑数据有没有发出去,通过抓包,发现

一直在发数据,没有收到ACK,才知道,判断发送是否成功的地点出错,程序BUG,通过调试,发现在

这里面才是有无收到ACK状态返回,断开网关,返回值在0xe9,信道繁忙,返回值是0xe1,定义在zcomdef.h定义,通过修改,解决了丢包率高的一系列问题,当然还有关联时间过长等问题,稍后分享

Zigbee疑难问题定位以及思路方法分享 (一)相关推荐

  1. Zigbee疑难问题定位以及思路方法分享 (四)

    接着上回继续分析公司遗留的问题四,问题四的需求就是,假如其中一个网关坏了,拿了一个新的网关,能够替换接管旧网关下面的所有设备,由于搞ZigBee也有两个月了,802.15协议以及ZigBee协议也蛮熟 ...

  2. Foxmail 本地邮箱密码破解思路方法分享

    本文主要以POP3为例讲解, 其他邮件协议可以参考思路, 自行尝试解决. 最近发生了一件比较尴尬的事, 公司邮箱密码忘记了, 又不想麻烦IT部门更改, 就想尝试下自己破解下本地的密码. (反正密码已经 ...

  3. python selenium定位元素方法,python + selenium 练习篇 - 定位元素的方法

    1.利用ID定位元素(能直接通过ID来定位的元素比较少) # coding=utf-8 from selenium import webdriver driver = webdriver.Chrome ...

  4. SAP UI5 应用开发教程之三十九 - SAP UI5 应用出现白屏的一些常见错误和分析方法分享试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  5. ios8 定位问题解决思路

    ios8 定位问题解决思路: 1.plist文件新加两条变量: a.NSLocationAlwaysUsageDescription=YES;    b.NSLocationWhenInUseUsag ...

  6. 资源丨MySQL故障排查思路方法PPT视频24问答

    昨晚,墨天轮邀请到MySQL技术顾问崔虎龙做了题为<一小时掌握MySQL故障排查思路方法>的直播分享,引起了大家的广泛关注,直播后很多小伙伴来找小编询问PPT.思维导图.视频等,在这里小编 ...

  7. 张宏 :移动机器人全局定位技术与方法是啥?道翰天琼认知智能机器人平台API接口大脑为您揭秘。

    张宏 :移动机器人全局定位技术与方法是啥?道翰天琼认知智能机器人平台API接口大脑为您揭秘. 人工智能不仅要复现人类的大脑,还要构建容纳智能大脑的身体,机器人将是人工智能的完全体.8月7日-8月9日, ...

  8. 张宏 :移动机器人全局定位技术与方法是啥?道翰天琼认知智能机器人平台API接口大脑为您揭秘-1。

    人工智能不仅要复现人类的大脑,还要构建容纳智能大脑的身体,机器人将是人工智能的完全体.8月7日-8月9日,2020年全球人工智能和机器人峰会(简称"CCF-GAIR 2020")在 ...

  9. 楚留香获取服务器信息未响应,楚留香手游后期输出乏力解决方法分享

    楚留香手游后期输出乏力解决方法分享,很多小伙伴对这个游戏中的后期输出乏力不是很清楚,不知道他是干嘛的.小编就为大家详细的介绍下这个游戏中的后期输出乏力,还不知道的小伙伴千万不要错过! 楚留香武当后期输 ...

最新文章

  1. 在.net下使用WebBrower控件时屏蔽弹出新窗口
  2. Sasha and Sticks
  3. 基于tensorflow2.0利用CNN与线性回归两种方法实现手写数字识别
  4. 核能力将定手机浏览器HTML5之争成败
  5. Makefile函数使用
  6. java asynccontext,超时后的JavaEE 6 AsyncContext行为
  7. bean validation校验方法参数_Spring Boot 之使用 validation 验证参数
  8. Python使用Queue对象实现多线程同步小案例
  9. iOS之socket编程
  10. 转载:OpenStack从入门到放弃
  11. vue中v-model和v-bind区别
  12. CentOS7下Tomcat启动慢的原因及解决方案
  13. (有图)仿QQ侧滑菜单:RecyclerView侧滑菜单,长按拖拽,滑动删除
  14. Spring Cloud 微服务
  15. java并发圣经,差距不止一星半点!Github星标85K的性能优化法则圣经
  16. 【敏捷2.2】极限编程XP
  17. 4G物联网模块的通讯原理介绍
  18. 从此刻立志——我要做大牛
  19. ib课程北京国际学校哪里有?
  20. 回忆童年游戏之棋盘决奕

热门文章

  1. 把对象按照ASCII码排序
  2. 对自己大学的期望与目标
  3. WFU校赛题解 B、C、F
  4. 贴片电解电容正负极区分
  5. 粒子的散射模拟matlab程序,基于Matlab的α粒子的散射实验模拟.pdf
  6. 企业数据中心“云化”转型解决方案
  7. 笔记本重装系统(Win10)
  8. 谷歌学术+SCI-HUB一键下载SCI文献
  9. 美国计算机科学专业申请条件,美国CS计算机科学专业申请条件有哪些?
  10. 干5年外包,突然失业了。。。