【问题标题】:BLE Health Thermometer Characteristic 2A1C Notification value decoding - React NativeBLE Health Thermometer Characteristic 2A1C 通知值解码 - React Native
【发布时间】:2020-05-28 22:08:48
【问题描述】:

我正在使用模拟 BLE 数字温度计标准的 BLE 模拟器应用程序 - 连接到我在另一台设备上运行的 React Native 应用程序。我订阅了温度测量特性的通知。在设置的时间间隔后收到通知后,收到的_data.value 格式为 byteArray 示例:[0, 0, 0, 12, 132] - 温度读数为 35。

我不确定如何在我的 react 本机应用程序上将 byteArray [0, 0, 0, 12, 132] 转换为 35?关于如何使用 JS/React-Native 来解决这个问题和温度读数的任何想法。

【问题讨论】:

    标签: arrays reactjs react-native bluetooth-lowenergy


    【解决方案1】:

    [https://www.npmjs.com/package/convert-string][convert-string] 就是你在看的东西

    import { bytesToString } from 'convert-string';
    import { NativeModules, NativeEventEmitter } from 'react-native';
    
    bleManagerEmitter.addListener(
        'BleManagerDidUpdateValueForCharacteristic',
        ({ value, peripheral, characteristic, service }) => {
            // Convert bytes array to string
            const data = bytesToString(value);
            console.log(`Recieved ${data} for characteristic ${characteristic}`);
        }
      );
    

    【讨论】:

    • 我已经试过了。当我使用 bytesToString 函数将字节数组转换为字符串时,我得到的结果是两个未知字符,形式为 who 框。显示在此link
    • 我也尝试使用UTF8.bytesToString,这给了我一个错误 - URIError: URI malformed。 View Error ScreenShot
    猜你喜欢
    • 1970-01-01
    • 2015-06-23
    • 1970-01-01
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多