Zigbee疑难问题定位以及思路方法分享 (一)
最近换了家新公司,花了两个月从不懂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疑难问题定位以及思路方法分享 (一)相关推荐
- Zigbee疑难问题定位以及思路方法分享 (四)
接着上回继续分析公司遗留的问题四,问题四的需求就是,假如其中一个网关坏了,拿了一个新的网关,能够替换接管旧网关下面的所有设备,由于搞ZigBee也有两个月了,802.15协议以及ZigBee协议也蛮熟 ...
- Foxmail 本地邮箱密码破解思路方法分享
本文主要以POP3为例讲解, 其他邮件协议可以参考思路, 自行尝试解决. 最近发生了一件比较尴尬的事, 公司邮箱密码忘记了, 又不想麻烦IT部门更改, 就想尝试下自己破解下本地的密码. (反正密码已经 ...
- python selenium定位元素方法,python + selenium 练习篇 - 定位元素的方法
1.利用ID定位元素(能直接通过ID来定位的元素比较少) # coding=utf-8 from selenium import webdriver driver = webdriver.Chrome ...
- SAP UI5 应用开发教程之三十九 - SAP UI5 应用出现白屏的一些常见错误和分析方法分享试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...
- ios8 定位问题解决思路
ios8 定位问题解决思路: 1.plist文件新加两条变量: a.NSLocationAlwaysUsageDescription=YES; b.NSLocationWhenInUseUsag ...
- 资源丨MySQL故障排查思路方法PPT视频24问答
昨晚,墨天轮邀请到MySQL技术顾问崔虎龙做了题为<一小时掌握MySQL故障排查思路方法>的直播分享,引起了大家的广泛关注,直播后很多小伙伴来找小编询问PPT.思维导图.视频等,在这里小编 ...
- 张宏 :移动机器人全局定位技术与方法是啥?道翰天琼认知智能机器人平台API接口大脑为您揭秘。
张宏 :移动机器人全局定位技术与方法是啥?道翰天琼认知智能机器人平台API接口大脑为您揭秘. 人工智能不仅要复现人类的大脑,还要构建容纳智能大脑的身体,机器人将是人工智能的完全体.8月7日-8月9日, ...
- 张宏 :移动机器人全局定位技术与方法是啥?道翰天琼认知智能机器人平台API接口大脑为您揭秘-1。
人工智能不仅要复现人类的大脑,还要构建容纳智能大脑的身体,机器人将是人工智能的完全体.8月7日-8月9日,2020年全球人工智能和机器人峰会(简称"CCF-GAIR 2020")在 ...
- 楚留香获取服务器信息未响应,楚留香手游后期输出乏力解决方法分享
楚留香手游后期输出乏力解决方法分享,很多小伙伴对这个游戏中的后期输出乏力不是很清楚,不知道他是干嘛的.小编就为大家详细的介绍下这个游戏中的后期输出乏力,还不知道的小伙伴千万不要错过! 楚留香武当后期输 ...
最新文章
- 在.net下使用WebBrower控件时屏蔽弹出新窗口
- Sasha and Sticks
- 基于tensorflow2.0利用CNN与线性回归两种方法实现手写数字识别
- 核能力将定手机浏览器HTML5之争成败
- Makefile函数使用
- java asynccontext,超时后的JavaEE 6 AsyncContext行为
- bean validation校验方法参数_Spring Boot 之使用 validation 验证参数
- Python使用Queue对象实现多线程同步小案例
- iOS之socket编程
- 转载:OpenStack从入门到放弃
- vue中v-model和v-bind区别
- CentOS7下Tomcat启动慢的原因及解决方案
- (有图)仿QQ侧滑菜单:RecyclerView侧滑菜单,长按拖拽,滑动删除
- Spring Cloud 微服务
- java并发圣经,差距不止一星半点!Github星标85K的性能优化法则圣经
- 【敏捷2.2】极限编程XP
- 4G物联网模块的通讯原理介绍
- 从此刻立志——我要做大牛
- ib课程北京国际学校哪里有?
- 回忆童年游戏之棋盘决奕