订阅后AWS IoT事物会自动断开连接

时间:2019-02-18 06:18:26

标签: node.js amazon-web-services cron raspberry-pi3 aws-iot

enter image description here

如上所述,订阅主题后,我们的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);
    }
  });
};

0 个答案:

没有答案