かつをメモ

自分が書いたプログラムなど色々投稿していきます。

MacからSlackbotを立ち上げてPS4を動かす② ps4-wakerの導入〜SlackbotでPS4を動かす

こんばんは、かつをです。
前回( MacからSlackbotを立ち上げてPS4を動かす① Node.jsとnpmのインストール - かつをメモ)は、Node.jsとnpmの導入まで行いました。今回はps4-wakerを導入し、Slackbot-> ps4-wakerでPS4を実際に動かしてみたいと思います。

参考サイト

584homes.com

qiita.com

機材

  1. MacBook Air
  2. PS4

ps4-wakerの導入

以下のコマンドを実行します。

$ sudo npm install -g ps4-waker
Password:
/Users/username/.nodebrew/node/v10.11.0/bin/ps4-waker -> /Users/username/.nodebrew/node/v10.11.0/lib/node_modules/ps4-waker/bin/cmd.js
+ ps4-waker@1.4.3
added 4 packages from 7 contributors in 3.777s

導入できましたので、さっそく動かして見ます。

$ sudo ps4-waker
No credentials; Use the PS4 Second Screen App and try to connect to PS4-Waker

上記のように、認証情報がないと言われてしまいます。スマホPS4 Second Sreen Appを起動します。ここの手順は以下の記事を参考にしてください。

Google Homeに話しかけてPS4を操作してみる - Qiita

Got credentials!  { 'client-type': 'i',
  'auth-type': 'C',
  'user-credential':
   '******' }
Go to 'Settings -> PlayStation(R) App Connection Settings -> Add Device' on your PS4 to obtain the PIN code.

上記のように表示されるので、PINを入力してください。
設定 -> モバイルアプリ接続設定 -> 機器を登録する
でPINを取得できます。

もし失敗したら、以下のコマンドでもう一度PINを入力してください。

$ sudo ps4-waker --pin <pincode>

これで登録できました。コマンドに関しては参考サイトなどから色々調べて見てください。

SlackbotでPS4を動かす

Slackbotについては()でご確認お願いします。ディレクトリの構成は以下となっております。

slackbot/
    ├ run.py
    ├ slackbot_settings.py
    └ plugins/
        ├ __init__.py
        └ my_mention.py

今回はmy_mention.pyを編集してPS4を動かせるようにしてみます。以下のように編集しました。

from slackbot.bot import respond_to
from slackbot.bot import listen_to
from slackbot.bot import default_reply
import subprocess

@listen_to('PS4起動')
def wake_ps4(message):
    subprocess.call('ps4-waker', shell=True)
    message.send('PS4を起動')

@listen_to('PS4停止')
def standby_ps4(message):
    subprocess.call('ps4-waker standby', shell=True)
    message.send('PS4を停止')

以下のコマンドを実行して、確認します。

$ python run.py

下記のように動作確認しました。PS4も動かせました。

f:id:katsuwoo:20180924230157p:plain