Javascript 网络蓝牙:Can';t配对BLE设备与带有实时服务器和代码扩展的移动设备

Javascript 网络蓝牙:Can';t配对BLE设备与带有实时服务器和代码扩展的移动设备,javascript,google-chrome,visual-studio-code,web-bluetooth,nrf52,Javascript,Google Chrome,Visual Studio Code,Web Bluetooth,Nrf52,我是Web开发领域的初学者。我想通过网页将可移动设备(NRF52840 DK)与我的移动设备配对。我测试了一个Web Bluetooth示例,它在我的电脑上运行良好,如下图所示: 成功将我的电脑(Chrome)与可扩展设备配对 我是通过VS代码上流行的扩展Live服务器实现的。当我尝试使用我的IP和端口访问我的手机(Android)上的页面时,按下按钮,什么也没发生 将我的手机(Chrome)与不可移动的设备配对失败 有什么我没有考虑的吗 以下是HTML和JS代码: 可扩展Web应用程序

我是Web开发领域的初学者。我想通过网页将可移动设备(NRF52840 DK)与我的移动设备配对。我测试了一个Web Bluetooth示例,它在我的电脑上运行良好,如下图所示:

成功将我的电脑(Chrome)与可扩展设备配对

我是通过VS代码上流行的扩展Live服务器实现的。当我尝试使用我的IP和端口访问我的手机(Android)上的页面时,按下按钮,什么也没发生

将我的手机(Chrome)与不可移动的设备配对失败

有什么我没有考虑的吗

以下是HTML和JS代码:


可扩展Web应用程序
与可编程设备连接
var deviceName=‘北欧_HRM’
函数isWebBluetoothEnabled(){
如果(!navigator.bluetooth){
console.log('Web Bluetooth API在此浏览器中不可用!')
返回错误
}
返回真值
}
函数getDeviceInfo(){
让chosenHeartRateService=null;
console.log('正在请求蓝牙设备…')
bluetooth.requestDevice({filters:[{services:['Hearth_rate']}})
.then(device=>device.gatt.connect())
。然后(服务器=>{
console.log(“获取人力资源服务…”)
return server.getPrimaryService(“心率”);
})
。然后(服务=>{
chosenHeartRateService=服务;
回报你的承诺([
service.getCharacteristic(“心率测量”)
.然后(HandlehartRateMeasurementCharacteristic),
]);
})
}
功能手动率测量特征(特征){
返回特征.startNotifications()
.然后(char=>{
characteristic.addEventListener('characteristicvaluechanged',
衷心的(改变);
});
}
函数onHeartRateChanged(事件){
const characteristic=event.target;
log(parseHeartRate(characteristic.value));
}
函数解析心率(数据){
const flags=data.getUint8(0);
const rate16Bits=标志&0x1;
const result={};
设指数=1;
if(速率16位){
result.heartRate=data.getUint16(索引,/*littleEndian=*/true);
指数+=2;
}否则{
result.heartRate=data.getUint8(索引);
指数+=1;
}
const contactDetected=标志&0x2;
const contactSensorPresent=标志&0x4;
如果(触点传感器存在){
result.contactDetected=!!contactDetected;
}
const energyPresent=标志&0x8;
if(energyPresent){
result.energyExpend=data.getUint16(索引,/*littleEndian=*/true);
指数+=2;
}
constrIntervalPresent=标志&0x10;
如果(rIntervalPresent){
常数间隔=[];
对于(;索引+1
我认为你描述它的方式是不可能的。 Web Bluetooth仅适用于启用HTTPS的页面。出于测试目的,它也可以在本地主机上工作。由于您通过未启用HTTPS的IP地址访问web应用程序,因此web Bluetooth不可用

function isWebBluetoothEnabled() {
    if (!navigator.bluetooth) {
        console.log('Web Bluetooth API is not available in this browser!')
        document.getElementById('bluetoothState').innerText = 'Not available'
        return false
    }
    document.getElementById('bluetoothState').innerText = 'Available'
    return true
}

您可以通过向页面添加一个带有布尔值的文本或其他文本来测试这一点,这些文本将显示web bluetooth是否可用

function isWebBluetoothEnabled() {
    if (!navigator.bluetooth) {
        console.log('Web Bluetooth API is not available in this browser!')
        document.getElementById('bluetoothState').innerText = 'Not available'
        return false
    }
    document.getElementById('bluetoothState').innerText = 'Available'
    return true
}

你应该添加图片以使其可见,而不是链接。这是我的第一个问题,我没有足够的声誉来发布完整的图片。