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&'。我没有得到你的第二个问题,请你详细说明你想在这里实现什么。 –