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。没有其他的。错误代码也必须是允许的代码之一。如果需要,您可以发送带有一些错误文本的通知,或者将最后一条错误消息放在可以读取的特征中。