Я пробовал AWS IoT с моей малиной Pi, используя Node.js и aws-iot-device-sdk. Он подключается нормально, но на .subscribe
он не вызывает функцию обратного вызова. и публикация не публикуется. Пожалуйста, если вы можете указать мне в правильном направлении. Я также создал правило для AWS IoT, где все данные от topic3
переизданы до topic2
.Приключение к теме на AWS IoT
var awsIot = require('aws-iot-device-sdk');
var device = awsIot.device({
"host": "A3SXXXXXXXXXXX.iot.us-west-2.amazonaws.com",
"port": 8883,
"clientId": "MyClientId",
"thingName": "MyThingName",
"caCert": "./certs/root-CA.crt",
"clientCert": "./certs/certificate.pem.crt",
"privateKey": "./certs/private.pem.key"
});
device
.on('connect', function() {
console.log('connected');
device.subscribe({'topic3':0}, function(error, result) {
\t console.log(error);
console.log(result);
});
device.publish('topic2', JSON.stringify({ test_data: 2}));
});
Его хорошие парни, я нашел то, чего не хватало. Правило в моем AWS IoT не было настроено на повторную публикацию в теме, а именно на запись в журнал. Тупая ошибка, но это происходит. Теперь все в порядке и работает хорошо. Но все же путают, почему функция обратного вызова при подписке не вызывается. Возможно, для этого нет обратного вызова. Я буду копаться в документации mqtt.js для этого –
Привет @Sandeep Randhawa .. У меня есть 2 вопроса, если вы можете помочь. 1). Как запустить программу nodeJS в фоновом режиме. как, например, Я использую узел «test.js» для запуска программы. Теперь, если я закрою сеанс SSH, сервер также будет убит. Как мы должны запускать его в фоновом режиме. 2). Как мы можем сделать переключатель, основанный на результатах, полученных нами от ответа. –
@Ankit Khanna вы можете использовать forever или pm2 для управления процессом узла. Однако я бы рекомендовал использовать «nohup», например, «nohup node index.js &». И я не получил ваш второй вопрос, можете ли вы рассказать о том, чего вы хотите достичь здесь. –