有几个问题请各位专家解答一下:
1、使用zstack协议栈发送数据时的最大数据包是多少?我现在发送数据使用的最大包是90个字节,单包发送数据的多少对发送成功率有影响吗?我使用的是AF_DataRequest函数;
2、mac层的自动重发次数能不能清零,需要使用哪个变量?
3、测试的时候发现信号不稳定,测试的RSSI大约有10多个到20几个dBm的浮动,需要采取什么措施控制优化
VV:
你好,
1,在应用层,单包最大的payload,在加密情况下是79个字节,不加密的话93个字节。如果你发的数据超过最大的payload,那么应用层会自动化做分包处理。
我测试过发送1000字节的数据包没有问题,大概要1s钟时间。当然是单跳情况下。我也是使用AF_Datarequest
2, 可以的,在
/* The maximum number of retries allowed after a transmission failure */-DAPSC_MAX_FRAME_RETRIES=3
3,RSSI本身受环境干扰是比较大,如果在+- 3dBm区间,也算正常
Zhifeng Bai:
回复 VV:
1、那我们现在的做法就是没有问题了,我们现在没有使用加密,在应用层做的分包处理,确保每包数据不超过90字节,两个节点之间不加中继效果也很好,加一个路由中继也还可以,但加2-4个路由中继的时候就很不稳定了,效果好的时候800个字节也能通讯,效果不好的时候几十个字节都会通讯失败,现在就是找有没有好的解决办法;
2、把-DAPSC_MAX_FRAME_RETRIES设为0就可以了是吗?我们现在使用的是默认的3次,这个地方不是应用层的那个重试次数吗?
3、我这里测试RSSI的变化比较大,波动大的时候能够到+-10个dBm,这个值低的时候通讯就会失败,值高的时候通讯就正常了,两个节点的距离大概有30米,中间隔了一块玻璃墙,我们用频谱仪看射频输出的时候,一直都很稳定的,但是使用矢量信号源测试接收灵敏度的时候发现有个别信道偶尔出现接收灵敏度偏低的现象,这个如何解决啊?