1

Amazon Echo Alexa を使用して赤外線送信機を制御できるデモ プロジェクトの作成に成功しました。

私のプロジェクトを進めていくと、パフォーマンスと最も重要なセキュリティに関してベスト プラクティスがどうなるかわかりません。以下のプロジェクトについて説明し、問題について詳しく説明します。

  1. ポート1234で実行されているRaspberry piにnodejsサーバーをインストールしました
  2. LIRC への nodejs api インターフェイスを持つことができるように web_lirc をインストールしました
  3. 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!");
        }
    };
    

私が見ている問題ですが、対処方法がわかりません:

  1. AWS から Raspberry Web サービスを制御するための最良かつ最も安全な方法。外部ハードウェアを制御するための最良のオプションは何ですか?それは Web サービスを使用しており、保護はどうですか?
  2. 現在、ルーターでポートを開く必要があるため、基本的に、IP にアクセスできるすべての人が、JSON POST/GET コマンドを使用してラズベリーを制御できます。パスワード保護を備えたオーバーレイ Web インターフェイスを追加することは、潜在的な解決策となるでしょうか?
  3. AWS Lambda を介さずに、Alexa が LAN 上のハードウェアと直接通信することは可能ですか?

全体として、Alexaがローカルnodejsサーバーにアクセスできるようにするためのベストプラクティス(技術的/セキュリティ)を求めていると思います。

さらに詳しく説明する必要がある場合はお知らせください。

/トーマス

4

0 に答える 0