【发布时间】:2022-08-10 18:12:16
【问题描述】:
正如标题所示,我用 Node.js 和 Noble 制作了一个简单的程序来扫描具有蓝牙 LE 的设备。我的最终目标是连接到我的白日梦视图控制器并从中接收信息。
我的问题是,每当我运行文件时,状态设置为 \"poweredOff\",即使我将其设置为 \"poweredOn\"。当状态设置为“poweroff”时,它会停止扫描,所以我永远无法找到设备。
这是我的代码:
const noble = require(\'noble\')
noble.on(\'stateChange\', function(state) {
console.log(\"[STATE] State changed to: \", state)
if (state === \'poweredOn\') {
console.log(\"[STATE] Powered on, now scanning\")
noble.startScanning();
} else {
console.log(\"[STATE] Powered off, stopped scanning\")
noble.stopScanning();
}
})
noble.state = \"poweredOn\"
// we found something
noble.on(\"discover\", function(peripheral){
console.log(peripheral)
})
这是我运行后得到的输出:
[STATE] State changed to: poweredOff
[STATE] Powered off, stopped scanning
我尝试了什么?
我检查了我是否具备 Noble 的所有先决条件。
我尝试运行 Noble 提供的示例。 (同样的事情发生)
我已经尝试在noble.on(\'stateChange\') 事件的上方和下方移动noble.state = \"poweredOn\"
我还发现问题不在于 Daydream 控制器,因为我在手机上下载了 LightBlue 应用程序,它可以检测并连接到 Daydream 控制器。我没有得到任何错误或任何东西。这对我来说很奇怪,我希望有人能帮助我。
提前致谢。
标签: node.js bluetooth-lowenergy daydream noble-count