1.问题
在客户环境,zigbee设备可能会有离线,离网,控制失败,响应不及时等各种问题。
要分析这类问题,往往需要用ubiqua等抓包软件抓取空中报文,这样就需要技服和用户约定时间,带着抓包设备到达现场进行抓包。
这样往往费时费力,效率很低,拉长问题排查周期,降低用户满意度,甚至影响产品最终能否成功交付。
2.方案
远程抓包,就是解决这个问题的,只要在应用服务器下发抓包命令,网关就会开始抓取空中报文,等抓包完成后,抓包文件自动上传到服务器供相关人员分析排查,避免上门出差,极大缩短问题排查周期。据统计,上门抓包一般时间需要3-5天(从开始协调用户时间,到订票出差,最后抓包完成返回公司),而远程抓包一般只需3-5分钟。
整体框图

具体抓包流程
1).技服在服务器上点击开始抓包。可以选择抓取全部报文,也可以指定只抓取某个终端设备的报文
2).协调器收到抓包指令后,根据设备地址、报文类型等,把收发的空中报文进行处理,然后上报网关
3).网关收到zigbee空中报文后,记录到本地,直到抓包结束。
4).用户点击结束抓包后,网关把暂存的抓包文件上传到服务器,相关人员下载分析。
3.抓包效果对比
1)ubiqua抓包结果

2)远程抓包结果

甚至远程抓包,还能比ubiqua抓包更详细,因为空中碰撞,ubiqua抓包可能还会丢失一些包
比如ubiqua抓包,就漏掉了beacon request和beacon

对应的远程抓包,则把beacon request和beacon抓了出来

4.注意事项
1)目前该方案只适用于silicon 芯片
2)目前只能在SOC工程里进行扩展
3)NCP里的扩展方案后续会推出