Web 支持连接ble 蓝牙协议。今天生病在家,买了一块Led 的柔性显示屏,可以通过App 修改展示的画面。
准备尝试逆向一下,用RN 重新改下。
但试了很久,RN 的环境报错,准备放弃了,忽然发现web 也支持连接蓝牙。于是和Ai 协作完成了这段代码。
能连接上,也能发送数据,但发送后没有变化。可能逆向还没完全成功,先记录下。
async function connectAndSendHi() { // 指定服务 UUID(全小写格式) const SERVICE_UUID = '0000ae00-0000-1000-8000-00805f9b34fb'; // 写入特征 UUID(全小写格式) const WRITE_UUID = '0000ae01-0000-1000-8000-00805f9b34fb'; try { // 请求设备:仅筛选支持指定服务的设备 const device = await navigator.bluetooth.requestDevice({ filters: [{ services: [SERVICE_UUID] }] }); // 连接 GATT 服务器 const server = await device.gatt.connect(); // 获取服务 const service = await server.getPrimaryService(SERVICE_UUID); // 获取写入特征 const writeCharacteristic = await service.getCharacteristic(WRITE_UUID); // 将 "hi" 转换为 ArrayBuffer(使用 TextEncoder) const encoder = new TextEncoder(); const data = encoder.encode("hi"); // 写入数据到特征 await writeCharacteristic.writeValue(data); console.log("数据发送成功: hi"); // 如果不再需要连接,建议断开连接 // server.disconnect(); } catch (error) { console.error("连接或发送数据时出错:", error); } } // 调用函数 connectAndSendHi();