首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过BLE封装20字节块

通过BLE封装20字节块
EN

Stack Overflow用户
提问于 2014-12-13 14:27:47
回答 1查看 832关注 0票数 0

我以前从没和蓝牙合作过。我必须通过BLE发送数据,并且我已经找到了每块20个字节的限制。

发送者是Arduino,接收者可能是个人电脑上的Android或Node.js应用程序。

我必须发送9个值,存储在浮点值中,所以4个字节*9=36个字节。我需要通过BLE获得所有数据的2块。接收部分需要两个块来处理它们。如果有些数据丢失了,我不在乎。

我不是网络协议方面的专家,我认为我必须给每条消息一个递增的时间戳,以便接收方可以用相同的时间戳将两个块粘合在一起,或者如果新的时间戳较高,则丢弃最后一个。但我不知道如何做一个校验和,如果我真的需要它,如果我真的需要它,或者如果--对于我的系统的一个简单的测试版--我可以忽略所有这些问题。

有人能给我一些建议吗?比如用BLE通讯处理类似情况的例子?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-15 20:13:51

您可以使用ATT的"Read请求“绕过大小限制。它允许您读取属性并提供偏移量。因此,您可以使用它读取偏移量为0的属性,如果有超过ATT_MTU字节的值,而不是ATT_MTU*1上的偏移量,或者还有更多的ATT_MTU*2等等.(您可以在蓝牙v4.1规范的3.4.4.5中阅读它;它也在4.0规范中,但我现在还没有看到它)

如果请求之间的值发生了变化,我不知道您如何检测到这样的更改。在发生更改时,可以让属性发送通知来中断进程,以防在读取过程中值发生变化。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27459852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档