Google Cloud IoT sendCommandToDevice node.js отправляет команду, но обнаруживает ошибку

У меня есть это в Google App Engine (node.js). Мое устройство получает все команды, но я по-прежнему получаю команду Не удалось отправить. Устройство подключено? ошибка.

Кстати, это уже пробовали: Ждать функции до end() И тот же результат.

Попытка следовать этому примеру BTW:

https://cloud.google.com/nodejs/docs/reference/iot/0.2.x/v1.DeviceManagerClient#sendCommandToDevice

const express = require('express');
var bodyParser = require('body-parser');
const app = express();

var urlencodedParser = bodyParser.urlencoded({
extended: false
})

const iot = require('@google-cloud/iot');

app.get('/', urlencodedParser, (req, res) => {
    res.setHeader('Content-Type', 'application/json');
    const projectId = req.query.proyecto;
    const cloudRegion = req.query.region;
    const registryId = req.query.registro;
    const numSerie = req.query.numSerie;
    const command = req.query.command;

const client = new iot.v1.DeviceManagerClient();
if (client === undefined) {
    console.log('Did not instantiate client.');
} else {
    console.log('Did instantiate client.');
    sendCom();
}

async function sendCom() {
    const formattedName = client.devicePath(projectId, cloudRegion, registryId, numSerie)
    const binaryData = Buffer.from(command);
    const request = {
        name: formattedName,
        binaryData: binaryData,
    };
    return client.sendCommandToDevice(request).then(responses => res.status(200).end(JSON.stringify({
        data: OK
    }))).catch(err => res.status(404).end('Could not send command. Is the device connected?'));
}
});

const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
console.log(`App listening on port ${PORT}`);
console.log('Press Ctrl+C to quit.');
});

module.exports = app;

С моей стороны я должен получить статус 200 и OK, но этого не происходит.


person 1x2x3x4x    schedule 15.04.2020    source источник
comment
Не могли бы вы объяснить, что вы пытаетесь сделать более кратко? И с какими ошибками вы сталкиваетесь?   -  person Nibrass H    schedule 16.04.2020
comment
@NibrassH пытается отправить команду на устройство IoT через App Engine, используя node.   -  person 1x2x3x4x    schedule 16.04.2020
comment
Спасибо за ваш ответ. Не могли бы вы указать точную ошибку, которую вы видите в ведении журнала Stackdriver? И, пожалуйста, поделитесь также, если вы видите какие-либо другие ошибки до или после?   -  person Nibrass H    schedule 17.04.2020
comment
В ведении журнала Stackdriver нет ошибок. Код — это то, что вы видите в основном посте — устройство получает команду, однако я получаю сообщение «Не удалось отправить команду». Ошибка устройства подключена. Я начинаю думать, что в моем коде что-то не так, но почему-то я этого не вижу.   -  person 1x2x3x4x    schedule 18.04.2020
comment
Я понимаю ваши опасения. Не могли бы вы попробовать следовать этой официальной документации, чтобы отправить команду устройству. Пожалуйста, дайте мне знать, если вы смогли отправить его правильно, таким образом я сужу расследование до App Engine с Cloud Iot.   -  person Nibrass H    schedule 20.04.2020