hubotでPlayStation4を操作する
UNIXコマンドをhubotで実行する方法を使えば、PlayStation4も、hubotから簡単に操作できる。
https://gyazo.com/f09606e48569207b2e3ffbe1cfcd101c http://amzn.to/2EHeaPw
#まだ執筆途中
以下の方法の他にも、UNIXコマンドをhubotで実行する方法を応用することでも実現できる。
hubot にカスタマイズを施して、PlayStation4 を操作できるようにする。
(昔のメモを貼り付けただけなので、間違いがあるかも)
(もし、まだ hubot の雛形を作っていない場合は → hubotの雛形の生成)
PlayStation4 を使うためのパッケージをインストール
code:sh
$ cd ~/homebot # hubotのディレクトリに移動
$ npm install ps4-waker # PS4を使うためのパッケージをインストール
Raspberry Pi(パソコン)をPS4本体に機器登録(MACアドレス登録)
hubot が起動している Raspberry Pi で sudo npx ps4-waker を実行
あるいは sudo node node_modules/ps4-waker/bin/cmd.js
PS4を操作するためのiPhoneアプリ「SecondScreen」を起動 → 接続先に ps4-waker を選択
Raspberry Pi に Pin code> というプロンプトが表示される
PS4本体の「設定」 → 「PlayStation App接続設定」 → 「機器を登録する」 → 8桁のPINが表示される
Raspberry Pi にPINを入力
PS4本体で登録完了と出ればOK
Raspberry Piで sudo mv /root/.ps4-wake.credentials.json ~/
PS4を操作できるように、hubotを拡張
拡張スクリプト scripts/ps4.coffee を以下のように作成する。
code:coffeescript
# Description:
# Hubot script to control PlayStation4
#
# Usage:
# hubot ps4 standby
# hubot ps4 youtube
{ Device } = require 'ps4-waker'
ps4 = new Device
module.exports = (robot) ->
robot.respond /ps4\s+(\w+)/i, (res) -> wake res
wake = (res) ->
cmd = res.match1.toLowerCase()
done = -> res.send "PS4 #{cmd}"
switch cmd
when 'on', 'start' then ps4.turnOn() .then done
when 'off', 'standby' then ps4.turnOff() .then done
when 'torne', 'tv' then ps4.startTitle('CUSA00442').then done
when 'youtube' then ps4.startTitle('CUSA01065').then done
when 'amazonvideo', 'video' then ps4.startTitle('CUSA03099').then done
else res.send "unknown command '#{cmd}'"
process.on 'unhandledRejection', console.dir
ここで、ps4.startTitle()に渡す値は、起動したいアプリの PlayStation Store のURLから取得できる。
例えば torne の場合、torne アプリのURL は、
https://store.playstation.com/ja-jp/product/JA0003-CUSA00442_00-TORNEPS400000000
なので、CUSA00442が求める値。
hubot を再起動すれば、homebot ps4 standby というメッセージを送ることで、PS4をスタンバイさせられるようになる。
#レシピ集 #PlayStation
2018/1/14 Amazon.co.jpアソシエイト
Copyright (C) 2017-2018 Tak Jaga