Bleno :如何将消息发送回发件人?
Bleno : How to send a message back to the sender?
我对 BLE 环境有点陌生,我的代码工作得很好,购买我无法获得某种响应,
我会告诉你代码,我会告诉你更多关于我的 objective
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 depedencies:Bleno 和 Node-wifi
当我的代码运行时,我的设备会出现,我可以通过 nRF Connect(Android 应用程序)向它发送数据
如你所见,我有一个条件,如果为真,它returns一条成功消息...
但是当它失败时,我想向发送方设备发回一条消息(在我的例子中,phone)
编辑:不要介意 exec + sudo 行,这是对我的 Rpi 遇到的特定问题的临时修复
对于Write Requests,BLE标准只定义了可以返回一个error code。没有其他的。错误代码也必须是允许的代码之一。如果需要,您可以发送带有一些错误文本的通知,或者将最后一条错误消息放在可以读取的特征中。
我对 BLE 环境有点陌生,我的代码工作得很好,购买我无法获得某种响应,
我会告诉你代码,我会告诉你更多关于我的 objective
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 depedencies:Bleno 和 Node-wifi
当我的代码运行时,我的设备会出现,我可以通过 nRF Connect(Android 应用程序)向它发送数据
如你所见,我有一个条件,如果为真,它returns一条成功消息...
但是当它失败时,我想向发送方设备发回一条消息(在我的例子中,phone)
编辑:不要介意 exec + sudo 行,这是对我的 Rpi 遇到的特定问题的临时修复
对于Write Requests,BLE标准只定义了可以返回一个error code。没有其他的。错误代码也必须是允许的代码之一。如果需要,您可以发送带有一些错误文本的通知,或者将最后一条错误消息放在可以读取的特征中。