3
我如何使用Node.js和AWS-IOT-設備SDK嘗試AWS物聯網與我的樹莓派。它連接正常,但在.subscribe
它沒有調用回調函數。併發布不公佈。請如果你能指出我正確的方向。我還在AWS IoT上創建了一條規則,其中topic3
的所有數據都重新發布爲topic2
。設備subcription主題的AWS物聯網
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文檔 –
Hi @Sandeep Randhawa ..如果可以幫忙,我有兩個問題。 1)。你將如何在後臺運行nodeJS程序。像例如我正在使用節點「test.js」來運行程序。現在,如果我關閉SSH會話,服務器也會死亡。我們應該如何在後臺運行它。 2)。我們如何根據我們從響應中得到的結果進行切換。 –
@Ankit Khanna您可以永久使用或使用pm2進行節點流程管理。不過,我會推薦使用'nohup',例如'nohup node index.js&'。我沒有得到你的第二個問題,請你詳細說明你想在這裏實現什麼。 –