отправлять запросы от AWS lambda на устройство IOT и ждать ответа - PullRequest
0 голосов
/ 23 февраля 2019

Я создал умение alexa для умного дома.В настоящее время я отправляю запрос на мой Raspberry Pi от AWS лямбда для навыка, использующего MQTT.Затем лямбда-ответ генерирует ответ независимо от того, работает ли логика на pi или вообще работает.Я хотел бы отправить ответ для лямбда-функции для возврата из числа пи.

Я могу вызвать лямбда-функцию с помощью MQTT или шлюза API, но это бесполезно, так как необходимо иметь доступ к экземплярук функции, вызываемой alexa для возврата ответа.

Я мог бы сделать это, используя HTTP, но мне пришлось бы выставить порт для моего pi.У меня недостаточно знаний о проблеме безопасности, чтобы вам было удобно это делать.

Есть ли способ добиться этого с помощью MQTT, веб-сокетов или любым другим безопасным способом?

1 Ответ

0 голосов
/ 08 марта 2019

так что отправлять запрос на устройство IoT с помощью mqtt из AWS Lambda function.yes можно, создав лямбда-функцию, которая будет публиковать по теме и iot устройство получит ее

var AWS = require("aws-sdk");

exports.handler = (event, context, callback) => {

 var iotdata = new AWS.IotData({
 endpoint: 'akugdx70brb.iot.us-west-2.amazonaws.com:8883',
 apiVersion: '2015-05-28'
});

     var params = {
  topic: 'terminal2/test/',
  payload: new Buffer('...') || 'STRING_VALUE',
  qos:1
};
iotdata.publish(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

};`

Пожалуйста, дайте мне знать, это способ реализации.если нет, я предоставлю вам другой способ

...