我对BLE环境有点陌生,我的代码运行得很好,但我不能设法得到某种响应,
我将向您展示代码,并告诉您有关我的目标的更多信息
WriteReadCharacteristic.prototype.onWriteRequest = function(data, offset, withoutResponse, callback) {
const output = Buffer.from(data, 'hex');
let payload = "";
if (hasJsonStructure(String(output))) {
payload = JSON.parse(String(output));
}
wifi.scan((error, networks) => {
if (error) {
console.log(error);
} else {
exec('sudo iwlist scan && echo '+ password);
console.log(payload.ssid);
networks.forEach(network =>{
if(payload.ssid === network.ssid){
console.log("Success, wifi found")
}
else {
console.log("Failed, not found")
let data = new Buffer(31);
data.writeUInt32LE(this.RESULT_UNLIKELY_ERROR);
callback(data);
}
});
}
});
callback(this.RESULT_SUCCESS);
};我使用了两个npm驱动程序: Bleno和Node-wifi
当我的代码运行时,我的设备就会出现,我可以通过nRF连接(安卓应用)向它发送数据。
如您所见,我有一个条件,如果为真,它将返回一条成功消息...
但当失败时,我想向发送方设备(在我的情况下,是电话)发回一条消息
编辑:不要介意exec + sudo行,这是对我的Rpi遇到的特定问题的临时修复
发布于 2021-01-07 16:50:04
对于写请求,BLE标准仅定义可以返回错误代码。没别的了。错误代码也必须是允许的错误代码之一。如果需要,您可以发送带有一些错误文本的通知,或者将最后一个错误消息放在可读的特征中。
https://stackoverflow.com/questions/65603307
复制相似问题