AlexaにPS4を起動してもらう

公開日時
更新日時

先日の記事で任意のデバイスに対して「Alexa、〇〇をつけて(消して)」ができるようになったので、PS4にも対応させることにした。

PS4の起動に関しては以前、Keybow Kitのショートカットとして作っていたのでこれを応用。

ps4-wakerのREADMEにcliではなくjsから利用する方法があったので、下記のように実装した。

const express = require('express')
const { Device } = require('ps4-waker');
const app = express()
const TOKEN = process.env.API_TOKEN

app.get(`/${TOKEN}/irkit_ps4_on`, (req, res) => {
  console.log('ps4 on')
  const ps4 = new Device()
  ps4.turnOn().then(() => ps4.close())
  // ps4.startTitle('CUSA08444').then(() => ps4.close()) // IDを指定して特定のタイトルを起動する場合
  ps4.close();
  res.send('ok')
})

app.get(`/${TOKEN}/irkit_ps4_off`, (req, res) => {
  console.log('ps4 off')
  const ps4 = new Device()
  ps4.turnOff().then(() => ps4.close())
  res.send('ok')
})

app.listen(3000, () => console.log('app listening on port 3000!'))

最初、async/awaitで処理を待つようにしていたが、Lambdaの応答を8秒以内に返さないとAlexa側でtimeoutになるため先にレスポンスだけ返すようにした。

あとはLambdaのDiscoveryにPS4を設定して、Alexaアプリでデバイスの検出をすれば「Alexa、PS4をつけて(消して)」ができるようになる。

参考


Related #iot

Echo Dot 2台をステレオペアとして設定する

BGM再生端末としてちょうど良い

YAS-109でAlexaを使う

本体のマイクの無効化を解除する必要があった

ルンバの電源をオフにする

HOMEボタンを10秒長押しでオフにできた

M5StickCで血中酸素飽和度(SpO2)を測定する

手軽にSpO2が計測できるようになって便利

Alexa、関西弁でしゃべって

まいど。Alexaです

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

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