Posted at

Amazon Echo Buttonをセットアップ (at LasVegas)


はじめに

2018/11/26〜2018/11/30、アメリカのラスベガスで開催されましたAWS re:Invent 2018に行ってきました。

そこで「HAC04 Alexa Hack Day」に参加してきました。

IrfanさんとKimlerさんと同じ組でものを作った際にいただいたAmazon Echo Buttonを頂いたので、

早速使ってみたお話です。

ただ、日本ではまだ技適が通ってないので、もし持っていらっしゃる方はアレですね。

ちなみに、その時の映像に一瞬映ってたので、こちらを。


前提条件

デバイスとペアリングが必要になるので、ペアリングできるAlexaデバイスを使う必要があります。

ちなみに、僕はEcho Dotしか持ってないので、Echo Dotを利用しました。


設定

ほぼほぼココを見れ実行すればOKでした。

一応、なくなると困るので、手順は一番下の画像を参照してください。


やりたかったこと

やりたかったのは、Timeoutするまでの間にどれだけの回数ボタンを押せるか。そして、その結果を伝えるというものを作りたかったです。

ただ、サンプルのままだと一度、Echo Buttonを押すと毎度Button情報を教えてくれたり、ボタンを一度押すと回数を数えてくれないので、コードを色々修正しました。 

ここでは一部だけですが、以下を修正しました。

  GameEngineInputHandler: {

canHandle(handlerInput) {
let { request } = handlerInput.requestEnvelope;
console.log("main.GameEngineInputHandler: checking if it can handle " + request.type);
return request.type === 'GameEngine.InputHandlerEvent';
},
handle(handlerInput) {
console.log('Received game event');
let { attributesManager } = handlerInput;
let request = handlerInput.requestEnvelope.request;
const sessionAttributes = attributesManager.getSessionAttributes();

var gameEngineEvents = request.events || [];
console.log(gameEngineEvents.length);
for (var i = 0; i < gameEngineEvents.length; i++) {
switch (gameEngineEvents[i].name) {
case 'button_down_event': {
sessionAttributes.buttonCount += 1;
let response = handlerInput.responseBuilder.getResponse();
return response;
}


結果

これでタイムアウトまでの時間の中で、100回ボタンをプッシュしましたが、50%程度までしか回数をカウントできませんでした。

そもそもJavaScriptがあまり得意じゃないので、コードを読み込んではないですが、時間を見つけて改善していければなとおもっています。

無駄に、ボタンをプッシュするスキルが今後公開できればなくらいにおもってます。


参考画像(手順)

skill-sample-nodejs-buttons-hellobuttons.png