Alexaにゲーミングマシンと周辺環境を起動してもらう
以前、Windows 10をWake On LANで起動するようにした際にAlexa経由でゲーミングマシンを起動できるようにしたが、最近活用できていないことに気づいた。
というのも、結構前にYamahaのサウンドバーYAS-109を買ったため、ゲームを始めるには↓の3ステップが必要になった。
- PC起動
- TV起動
- サウンドバー起動
ただ、それぞれを独立した操作にしていたので「Alexa Steamを起動して」、「Alexa TVをつけて」と話しかけ続けるのが面倒になって、いつの間にかリモコンで起動する方が楽になってしまっていた。
とはいえリモコンを都度切り替えて操作するのも面倒ではある。
せっかくAlexaで操作をひとまとめにできるのにやっていなかったことに気づき、「Alexa Steamを起動して」で上記の3ステップを全部実行するようにした。
基本的な設定方法は別記事にまとめてあるので、ここでは今回対応した分だけ載せておく。
const express = require('express')
const exec = require('child_process').exec
const app = express()
app.get(`/${TOKEN}/steam_on`, (req, res) => {
console.log('tv on')
exec('curl -i -s -X POST "http://{irkit_host}/messages" -H "X-Requested-With: curl" -d \'{"format":"raw","freq":xx,"data":[xxx]}\'')
console.log('steam wake on lan')
exec('curl -i -s "http://{wol_api_host}/steam_on"')
setTimeout(() => {
console.log('soundbar on')
exec('curl -i -s -X POST "http://{irkit_host}/messages" -H "X-Requested-With: curl" -d \'{"format":"raw","freq":xx,"data":[xxx]}\'')
}, 5000)
res.send('ok')
})
これでAlexaに一言話しかけるだけで、ゲーム環境を起動してくれるようになった。
ただ、Raspberry Pi経由でWindowsマシンを終了させる方法を未だに見つけていないので、「Alexa Steamを終了して」で全部終了させるのは実現できていない。
こっちも何とかしたいところ。 その後、何とかした。