从WebBluetooth特性读取float值readValue

问题描述

我在RaspBerry pi上有一个蓝牙模块,可为电路板的cpu温度供电。我使用{% extends "layout.html"%} {% block content%} <h1>about</h1> <iframe name="iframe1" src="#"></iframe> <a href="/sendsmile" target="iframe1">Start A.I.</a> {% endblock content %} 制作了一个从蓝牙模块读取该信息的网页,例如,温度是一个浮点值“ 45.257”,问题是当我尝试读取该值时,我不会不知道如何从WebBluetooth函数的答案中得出结论,我的代码如下:

readValue()

我得到的答案是 async function onButtonClick() { let device = await navigator.bluetooth.requestDevice({ acceptAllDevices: true,}); let server = await device.gatt.connect(); console.log(server); let services = await server.getPrimaryServices(); console.log(services); let characteristics = await services[0].getcharacteristics(); let value = await characteristics[0].readValue(); console.log(value); } DataView

ArrayBuffer

所以我不知道如何检索“ 45.257”之类的数据。

预先感谢

解决方法

我使用TextDecoder类有一个解决方案:

        const textDecoder = new TextDecoder('ascii');
        const value = textDecoder.decode(value.buffer);
        console.log(value);