首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bleno BLE库未按预期传输特征值

Bleno BLE库未按预期传输特征值
EN

Stack Overflow用户
提问于 2018-05-25 19:20:58
回答 1查看 320关注 0票数 0

我正在为一个发送BLE数据的IOT外设开发Android/iOS应用程序。这两个应用程序实际上都能很好地与物理外围设备(使用德州仪器的BLE库)协同工作。

现在,实际的外围设备可以正常工作了,我正在尝试用Bleno编写一个仿真器,以便开发团队能够更高效地工作,但是在传输特征的静态字符串值时遇到了问题。

我这样设置我的特征:

代码语言:javascript
复制
var bleCharacteristic = function() {
  bleCharacteristic.super_.call(this, {
    uuid: '0321',
    properties: ['read'],
    value: new Buffer('12345'),
  }); 
};

Bleno说我必须使用node.js缓冲区来发送字符串数据,但在安卓和IOS上,接收到的数据都不是12345,而是类似这样的数据:

代码语言:javascript
复制
{
  value: '3031333031383133303630303864666234643030323030333065303332656530313330313831333036303,
}

对于为什么会发生这种情况,你有什么想法?是否还有一些我忘记在模拟器中设置的广告数据,这样值就会像预期的那样返回?

下面是我如何读取有效负载值的一个示例。这是来自我们的Android应用程序:

代码语言:javascript
复制
@Override
public void onCharacteristicRead(final BluetoothGatt gatt, final BluetoothGattCharacteristic characteristic, int status) {
    ...
    String payload = bytesToHex(characteristic.getValue());
    ...
}

注意:如果有任何其他相关代码可以发布,请让我知道。

EN

回答 1

Stack Overflow用户

发布于 2018-06-30 08:23:26

您的特征设置看起来很好。虽然我对Android一无所知,但在iOS中,你应该可以通过调用以下代码来获取值。

代码语言:javascript
复制
peripheral.readValue(for: yourCharacteristic)

你也可以使用像LightBlue这样的BLE实用程序来探索你的特征。

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

https://stackoverflow.com/questions/50528059

复制
相关文章

相似问题

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