Node.js 布莱诺:如何将信息发送回发件人?

Node.js 布莱诺:如何将信息发送回发件人?,node.js,bluetooth,bleno,Node.js,Bluetooth,Bleno,我对BLE环境有点陌生,我的代码运行得很好,但我无法获得某种响应 我会给你看代码,我会告诉你更多关于我的目标 WriteReadCharacteristic.prototype.onWriteRequest = function(data, offset, withoutResponse, callback) { const output = Buffer.from(data, 'hex'); let payload = ""; if (hasJson

我对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 Connect(Android应用程序)向它发送数据

如你所见,我有一个条件,如果为真,它将返回一条成功消息

但当它失败时,我想向发送方设备(在我的情况下,是手机)发回一条消息


编辑:不要介意exec+sudo行,这是我在Rpi中遇到的一个特定问题的临时修复。对于写入请求,BLE标准只定义可以返回错误代码。没有别的了。错误代码也必须是允许的错误代码之一。如果需要,您可以发送带有错误文本的通知,或者将最后一条错误消息放在可以读取的特征中。

对于写入请求,BLE标准仅定义可以返回错误代码。没有别的了。错误代码也必须是允许的错误代码之一。如果需要,您可以发送带有错误文本的通知,或者将最后一条错误消息放在可以读取的特征中