Amazon web services 如何使用Amazon Echo显示技能显示图表
我在圣诞节有一个回声节目。现在我想尝试一下如何定制它。我已经创建了几个传感器,其指标存储在AWS DynamoDB中。现在我想知道我有什么可能显示由这些数据创建的图表。是否可以直接使用Alexa表示语言(APL)显示图表?有可能在APL中包含iFrame吗? 我没有找到关于这个话题的太多信息。也许你能给我指出正确的方向Amazon web services 如何使用Amazon Echo显示技能显示图表,amazon-web-services,amazon-dynamodb,alexa-skills-kit,Amazon Web Services,Amazon Dynamodb,Alexa Skills Kit,我在圣诞节有一个回声节目。现在我想尝试一下如何定制它。我已经创建了几个传感器,其指标存储在AWS DynamoDB中。现在我想知道我有什么可能显示由这些数据创建的图表。是否可以直接使用Alexa表示语言(APL)显示图表?有可能在APL中包含iFrame吗? 我没有找到关于这个话题的太多信息。也许你能给我指出正确的方向 提前非常感谢不确定这是否是您想要的,但您可以生成SVG图形并使用渲染器渲染这些图形 您将必须构建一个在调用时可以为您的度量提取数据并生成APL以呈现图形的模型 或者,如果您有一个
提前非常感谢不确定这是否是您想要的,但您可以生成SVG图形并使用渲染器渲染这些图形 您将必须构建一个在调用时可以为您的度量提取数据并生成APL以呈现图形的模型
或者,如果您有一个不同的服务器端渲染API用于可以光栅化的度量,您可以生成一个PNG并在Echo Show上进行渲染。作为参考,我将显示一个能够导航到URL的nodejs函数的代码:
const MetricsChoiceIntentHandler = {
canHandle(handlerInput) {
return Alexa.getIntentName(handlerInput.requestEnvelope) === 'MetricsChoiceIntent';
},
handle(handlerInput) {
const choice = handlerInput.requestEnvelope.request.intent.slots.choice.value;
const speakOutput = `Alles klar. Auf zu ${choice}`;
console.log("Deine Wahl: "+choice);
if (Alexa.getSupportedInterfaces(handlerInput.requestEnvelope)['Alexa.Presentation.APL']) {
handlerInput.responseBuilder.addDirective({
type: 'Alexa.Presentation.APL.RenderDocument',
document: launchDocument,
token: 'jip'
});
var urlToGo="";
switch(choice){
case "gaswarner":
urlToGo="https://www.url1.com";
break;
case "temperatur":
urlToGo="https://www.url2.com"
break;
}
handlerInput.responseBuilder.addDirective({
type: "Alexa.Presentation.APL.ExecuteCommands",
token: 'jip',
commands: [{
type: "OpenURL",
source: urlToGo
}]
});
}
return handlerInput.responseBuilder
.speak(speakOutput)
.getResponse();
}
};
有两件重要的事情需要提及:
好的,同时我遇到了一个线程,它告诉我如何使用openURL命令使用APL导航到一个网站。这是一种显示测量指标的可能方式。关于直接生成图表的问题仍然悬而未决,谢谢。这并不像我希望的那样“互动”,但它肯定会起作用。