嗨,对话框中,
我对Notification MTU的大小有点困惑。在这篇文章中:
http://support.dialog-semiconductor.com/whats-disadvantage-increase-mtu-..。
但是,似乎可以编辑MTU大小,并使用单个特征发送60个字节
它将发送超过3个通知,但应用程序将只需要编写一次特征。
然而在这篇文章中
http://support.dialog-semiconductor.com/sending-more-20-bytes-notification
建议使用20字节的通知。
我需要发送400字节给客户端。我想增加MTU的大小,以便堆栈处理
组块的部分?
另外,如果我想从客户端获得400个字节,我是否需要担心任何事情或
默认设置是否有效?
谢谢
设备:
穆。
你可能想看看我在:http://support.dialog-semiconductor.com/ble-42-packet-length-extension
我使用一个20字节的特性运行1KB传输,具有良好的数据速率,不需要改变MTU。不过,我确实减少了连接间隔。
问候,马克斯
你好,马克斯,
我被这个项目的其他部分困住了,所以不能给你回复。感谢您的及时回复。我已经读了整篇文章。所以基本上你只是使用一个20字节的特征来发送1KB的数据。如何确定是否已到达最后一个包裹?
如果我创建一个1KB的特征,会有什么问题?
穆,
我只是计算了我的Android应用程序接收的数据包数量,所以当我收到50个数据包时,我就有了1kb的数据。
在DA端,我有一个类似的计数器,用于20字节数据包的数量。我为数据分配了一个大数组,并只是将一个指针指向下一个数据包数据的来源。
我的理解是,如果你有一个超出你可以放入标准BLE数据PDU的字节数的特征,它无论如何都会被分割成多个数据包。我只使用了20个字节,因为在我用作工作基础的ble_app_peripheral示例中,它很方便地这样定义。从您读到的讨论中可以看出,我使用20字节特性获得了非常令人满意的性能,认为使用更大的特性没有任何好处。我还没有尝试过更大的特征所以我不知道会有什么问题。
问候,马克斯
你好,马克斯,
再次感谢您的及时回复。我喜欢你的流程控制的想法,它看起来简单而有效。
我肯定会尝试定义一个大的特征,看看它是否与使用单个20字节特征一样有效。
还有一件事,你的转机时间是什么时候?你是怎么计算转账的时间的?
问候,
穆
穆,
祝你有更大的个性。注意BLE属性协议(ATT)将最大大小限制为512字节。
我使用Android app来计时数据传输如下:
public static long startTime;
public static long stopTime;
public static long elapsedTime;
.
.
开始时间= System.currentTimeMillis ();
stopTime = System.currentTimeMillis ();
elapsedTime = stopTime - startTime;
我的开始时间是当我通过一个命令从应用程序启动数据传输。停止时间是当所有50包收到。:)
马克斯