Alexaにゲーミングマシンと周辺環境を終了してもらう

公開日時

Alexaにゲーミングマシンと周辺環境を起動してもらうで課題に挙げていた「Alexa Steamを終了して」でゲーミングマシンと周辺環境を終了させるのを対応した。

やったこととしてはRaspberryPiからsshでゲーミングマシンにアクセスできるようにして、shutdownコマンドを実行するようにした。

ssh {user}@{windows_host} shutdown -s -t 0

sshの設定方法については以前、Windows10 Homeでsshdを実行するにまとめている。

ここでは今回対応した、alexaから呼ばれるapiのコードを載せておく。

const express = require('express')
const exec = require('child_process').exec
const app = express()

app.get(`/${TOKEN}/steam_off`, (req, res) => {
  console.log('windows shutdown')
  exec('ssh {user}@{windows_host} shutdown -s -t 0') 

  console.log('soundbar off')
  exec('curl -i -s -X POST "http://{irkit_host}/messages" -H "X-Requested-With: curl" -d \'{"format":"raw","freq":xx,"data":[xxx]}\'')

  setTimeout(() => {
    console.log('tv off')
    exec('curl -i -s -X POST "http://{irkit_host}/messages" -H "X-Requested-With: curl" -d \'{"format":"raw","freq":xxx,"data":[xxx]}\'') 
  }, 8000);

  res.send('ok')
})

これでゲーミングマシンの起動と終了を音声のみで操作できるようになった。

参考


Related #iot

Alexa非対応テレビをAlexa対応にする

基本的な操作は音声のみで完結できるようになって快適

Philips Hue V1ブリッジでAlexa連携する

アカウント再連携して電源入れ直して何度か試してようやく連携

FireTVのスリープ時間を1分に変更する

開発者モードを有効にしてabdコマンドで設定する必要があった

RaspberryPiでSwitchbotを動かす

python3を使って操作できる