前の記事で人生初の電子工作をしてスマートリモコンを作成し、AlexaやGoogle Assistantでテレビやエアコンなどを操作できるようになったのですが、スマートリモコンを利用しているうちにどうせならPS4も操作できるようにしたいなと思うように・・
ということで今回はついでにPS4もAlexaやGoogle Assistantで操作できるようにしてみました!
Google Assistantで操作できれば Google Home との連携はできているので、google Homeでも操作できるようになります。
Alexa, Google Homeとの連携の仕方は前回スマートリモコンで行ったのと同様なので、もしもうまくいかないときはスマートリモコンの記事も参考にしてみてください。
目次
必要なもの
- Amazon Alexa または Google Home
- Raspberry pi (zero wh だと1800円くらい)
※ ラズベリーパイを初めて使用する方は、別途ラズベリーパイに使用するSDカードなどが必要になります。詳しくはこちらの記事を参照してください。
Raspberry Pi4 ModelB 4GB ラズベリーパイ4 技適対応品
インストール
まず、RasberryPiでPS4を操作するパッケージをインストールするにはnode.jsのパッケージ管理ツールであるnpmが必要なので、最初にnode.jsとnpmをインストールします。
curl -O https://github.com/sdesalas/node-pi-zero/blob/master/install-node-v8.9.0.sh
sudo chmod 755 ./install-node-v8.9.0.sh
./install-node-v8.9.0.sh
上記の3つのコマンドを実行することで簡単にインストールできます。
RasberryPi Zero WHの場合、apt-getでインストールしようとすると失敗します。詳しくは簡単にRasberryPi Zero WH へ node.js, npmを入れる方法をご覧ください
次に、PS4を操作するパッケージであるps4-wakerをインストールしていきます。
sudo npm install ps4-waker -g
インストールできたら実行します。
このとき、PS4の電源を入れておいてください。
sudo ps4-waker
ここで、
sudo: ps4-waker: コマンドが見つかりません
と表示される場合は、
ls /opt/nodejs/bin
と実行し、/opt/nodejs/binの中にps4-wakerが存在するかどうか確認してください。存在する場合は、原因はパスが通っていないことにあるので以下のコマンドでパスを追加し、もう一度sudo ps4-wakerを実行してみてください。
sudo ln -s /opt/nodejs/bin/ps4-waker /usr/bin
以下のように表示されたら成功です。スマホにSecond Screen Appをインストールして起動します。
No credentials; Use the PS4 Second Screen App and try to connect to PS4-Waker
しばらくするとここにps4-wakerが表示されるので、タップします。成功すると、
Go to 'Settings -> PlayStation(R) App Connection Settings -> Add Device' on your PS4 to obtain the PIN code.
Pin code>
というようにpin codeを入力するように言われるのでPS4を起動し設定画面を開いて以下のように進んでいき、PS4に表示されたpin codeを入力します。
Logged into device! Future uses should succeed
と表示されたら成功です。
エラーが出る場合
エラー内容1
Error: Root permissions required to start PS4 Dummy
と表示される場合
解決方法
sudo ps4-waker
と sudo を付けて実行する。
エラー内容2
Logging in...
Go to 'Settings -> Mobile App Connection Settings -> Add Device' on your PS4 to obtain the PIN code.
sudo ps4-waker を実行すると上記のように表示され Pin code> が表示されず終了してしまう。
解決方法
sudo ps4-waker --credentials --pin 12345678
のようにPINを引数として渡して実行する。
エラー内容3
Error: Failed to login: PIN_IS_NEEDED (20)
解決方法
sudo ps4-waker --credentials --pin 12345678
のように実行し再設定する。
エラー内容4
Device must be awake for initial registration. Please turn it on manually and try again.
解決方法
PS4の電源が入っていない、もしくはPS4がインターネットに接続できていないときに発生するエラーであるので、PS4の電源が入っているか、ネットに接続されているかを確認する。
エラー内容5
Unable to connect to PS4 at 192.168.x.xxx { Error: read ECONNRESET
at _errnoException (util.js:1024:11)
at TCP.onread (net.js:615:25) code: 'ECONNRESET', errno: 'ECONNRESET', syscall: 'read' }
Error logging in: { Error: read ECONNRESET
at TCP.onStreamRead (internal/stream_base_commons.js:162:27)
errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' }
Unexpected error Error: No socket
などと表示され、コマンドを実行するとPS4の電源はONにはなるが操作できない。
解決方法
PS4を再起動する。
その他のエラー
sudo ps4-waker --help
と実行してみてください。何か参考になるかも
使い方
PS4-wakerで使えるコマンドはこちらに載っています。
主なコマンドは以下の通りです。
sudo ps4-waker #PS4起動(スタンバイ状態から)
sudo ps4-waker standby #スタンバイモードに
sudo ps4-waker start CUSA01065 #youtubeを起動
sudo ps4-waker start CUSA03099 #アマゾンプライムビデオを起動
sudo ps4-waker start CUSA00442 #トルネを起動
sudo ps4-waker start [titleid] #指定したソフトを起動
sudo ps4-waker remote enter #oボタン
sudo ps4-waker remote buck #xボタン
sudo ps4-waker remote option #オプションボタン
sudo ps4-waker remote ps #PSボタン
sudo ps4-waker remote up #上ボタン
sudo ps4-waker remote down #下ボタン
sudo ps4-waker remote left #左ボタン
sudo ps4-waker remote light #右ボタン
sudo ps4-waker remote ps enter #キー名を複数指定すると順番に実行される
sudo ps4-waker remote ps:1000 #キー名の後ろに":数字"と入力するとその時間(ms)長押し
sudo ps4-waker start [titleid] の titleidはPlayStationStoreの対象ソフトのURLをみるとわかります。
モンスターハンターワールドの場合、titleidは赤く囲んだCUSA06027です。
Alexa・GoogleHome との連携
Alexa・GoogleHome との連携はスマートリモコンを作成したときと同じ流れで行います。
Alexa・GoogleHomeとの連携の仕方や、Alexa・GoogleHome とラズベリーパイを連携させるプログラムなどはこちらの記事を参照してください。