Amazon Alexa、IoT、Lambdaを使用して自分のラズベリーを制御しようとしています。私がこれまで働いて得たもの :ラムダとノードJを使用してIoTトピックにパブリッシュするときに助けが必要
- はのIoTデバイスとしてラズベリーを設定し、(IOTクライアントを使用して精巣)をトピックにパブリッシュおよびサブスクライブすることができるという
- テスト・ラムダのNode.jsスクリプトの設定
私のラムダスクリプトで意図をトリガーテストAlexaのスキルを設定する
switch(event.request.intent.name) {
case "testone":
var config = {};
config.IOT_BROKER_ENDPOINT = "restAPILinkFromIoT".toLowerCase();
config.IOT_BROKER_REGION = "us-east-1";
//Loading AWS SDK libraries
var AWS = require('aws-sdk');
AWS.config.region = config.IOT_BROKER_REGION;
var iotData = new AWS.IotData({endpoint: config.IOT_BROKER_ENDPOINT});
var topic = "/test";
var output = "test output without publish"
var params = {
topic: topic,
payload: "foo bar baz",
qos:0
};
iotData.publish(params, (err, data) => {
if (!err){
output = "publish without error"
this.emit(':tell', tell);
} else {
output = err
}
});
context.succeed(
generateResponse(
buildSpeechletResponse(output, true),
{}
)
)
break;
...
基本的に、スクリプトは「エラーなしで公開」またはエラーメッセージを返す必要があります。問題は常に「公開せずにテスト出力」を返します。パブリッシュ関数(または少なくともコールバック関数)は決してトリガーされないようです。トピックにメッセージが表示されません。
何か間違っていますか?
ありがとうございます!
ありがとうございました!これは問題を解決しました –