首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Peripheral.setMTU(244),但只能获取20个字节

Peripheral.setMTU(244),但只能获取20个字节
EN

Stack Overflow用户
提问于 2019-11-25 17:24:40
回答 2查看 973关注 0票数 1

我想读取超过20个字节的数据,从蓝牙到树莓派3b+。我覆盖了DefaultDelegatehandleNotification(cHandle, data),并从handleNotification(cHandle, data)获取数据。然后我将数据类型从字节转换为十六进制,我只能得到20字节的数据。

下面是我的代码:

代码语言:javascript
复制
dev = btle.Peripheral(address, 'random')
dev.setMTU(244)

我的BLE外围设备是“北欧NRF52832”。如何获取超过20个字节的数据?

EN

回答 2

Stack Overflow用户

发布于 2019-11-28 10:20:07

我想我找到原因了。库bluepy支持BLE4.0,但不支持BLE4.2BLE4.0BLE4.1仅能获得20字节的有效载荷。

票数 0
EN

Stack Overflow用户

发布于 2020-12-03 21:41:03

添加延迟对我来说很有效:

代码语言:javascript
复制
dev = btle.Peripheral(address, 'random')
import time
time.sleep(1)
dev.setMTU(244)

来源:https://github.com/IanHarvey/bluepy/issues/325

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

https://stackoverflow.com/questions/59028590

复制
相关文章

相似问题

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