读取制造商数据BLE设备react-native-ble-plx

时间:2020-11-04 10:35:55

标签: android ios react-native bluetooth bluetooth-lowenergy

嗨,我需要使用React-native进行BLE集成。

我正在使用此软件包:https://polidea.github.io/react-native-ble-plx/

我已经成功搜索了BLE设备,我需要读取其制造商数据并检查一些值

问题:我正在获取字符串(Base64)格式的制造商数据,并使用以下代码将其转换为字节数组。

convertStringToByteArray(str) {
        String.prototype.encodeHex = function () {
            var bytes = [];
            for (var i = 0; i < this.length; ++i) {
                bytes.push(this.charCodeAt(i));
            }
            return bytes;
        };
    
        var byteArray = str.encodeHex();
        return byteArray
    }

结果如下。

[xx, xx, xx, xx, xx, xx, xx, xx]

我不确定该如何处理。

在本机iOS中,我获得了Apple本身提供的DATA格式的输出。不确定如何处理

要求 我需要将该子范围2 .. <3转换为Uint8并检查Uint8结果是否包含整数?

任何人都可以帮我解析这些数据吗?

2 个答案:

答案 0 :(得分:1)

使用 buffer js 库,可以使用以下代码片段来实现:

var Buffer = require('buffer/').Buffer


const strval = "base-64-encoded-string";
const buffer = new Buffer(strval, 'base64');
const bufStr = buffer.toString('hex'); //make sure to encode it as 'hex' and not 'string'

答案 1 :(得分:0)

找到的解决方案字符串为base64 ENCODED,我必须先对字符串进行解码,然后再转换为字节数组