我已经成功创建了演示项目,我可以使用Amazon Echo Alexa控制红外发射器。
继续我的项目,我不确定与性能相关的最佳实践是什么,而且最重要的是安全性。我将在下面解释这个项目并详细说明问题:
使用我自己的简单" hack"基于HelloWorld nodejs模板创建了一个AWS-lambda技能。工作但不漂亮:)请参阅下面的代码片段:
var http = require('http');
var host = '12.34.56.78'; // (no http/https !)
var port = 3000;
var cmd = '';
function performMacroRequest(endpoint, data)
{
cmd = '/macros/' + endpoint;
//console.log('cmd: ' + cmd);
var options = {
host : host,
port : port,
path : cmd, // the rest of the url with parameters if needed
method : 'POST'
};
http.request(options, function(res)
{
console.log('performMacroRequest - STATUS: ' + res.statusCode);
res.on('data', function (chunk)
{
console.log(cmd + ': '+ chunk);
});
}).end();
}
//
var APP_ID = "protected by me"; // Amazon Alexa hardware ID
HelloWorld.prototype.intentHandlers = {
// register custom intent handlers
"HelloWorldIntent": function (intent, session, response)
{
response.tellWithCard("Hello World!", "Hello World", "Hello World!");
},
"IRIntent": function (intent, session, response)
{
performMacroRequest('TESTTV','');
},
"AMAZON.HelpIntent": function (intent, session, response) {
response.ask("You can say hello or cake to me!", "You can say hello or cake to me!");
}
};
我看到的问题,但不确定如何解决:
总的来说,我认为我要求让Alexa访问本地nodejs服务器的最佳实践(技术/安全性)。
如果有任何事情必须详细阐述或详细解释,请告诉我。
/托马斯