如上所述,订阅主题后,我们的AWS IoT终端节点会自动断开连接。我们将Node.js用于连接和断开连接服务,该服务更新了相应的lambda函数以发布消息。此问题仅在树莓派重启后发生。而且我正在使用 crontab 安排端点的自动运行命令。在这方面的任何帮助都会对我有很大帮助。提前致谢。
下面给出了 disconnect lambda函数,供参考。
const AWS = require('aws-sdk');
const iotdata = new AWS.IotData({
endpoint: '**********-ats.iot.us-east-1.amazonaws.com'
});
exports.handler = function (event, context) {
const clientID = event.clientId;
console.log("Client id is " + clientID);
const params = {
topic: '$aws/things/' + clientID + '/shadow/update',
payload: JSON.stringify({
"state": {
"reported": {
"connected": false
}
}
}),
qos: 0
};
iotdata.publish(params, function (err, data) {
if (err) {
console.log(err);
} else {
console.log('Disconnected message published to \"' + params.topic + '\" as: ' + params.payload);
}
});
};