Alexa,GoogleHomeでPS4を操作する

じょるブログ

現役理系大学生による大学生に向けた情報サイト

python ラズベリーパイ 電子工作

Alexa,GoogleHomeでPS4を操作する

投稿日:2018年12月26日 更新日:

  

    

 前の記事で人生初の電子工作をしてスマートリモコンを作成し、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 とラズベリーパイを連携させるプログラムなどはこちらの記事を参照してください。

-python, ラズベリーパイ, 電子工作

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Pythonで音声解析 – 音声データの周波数特性を調べる方法

イヤホンをしていると家のチャイムが鳴ったことに気づかないことがあるのと、外出中に来客があったかどうかを調べるために、家のインターホンの音声データを認識させ、チャイムが鳴ったら自分にLINEを飛ばすプロ …

LINEで自作IoTデバイス[スマートロック・リモコン]を操作する(市販品も可)

    ラインから手軽にスマートデバイスを操作する方法について解説します。 この記事ではラズパイで自作したスマートデバイスをラインで操作する方法について解説しますが、IFTTT経由で操作できるものであ …

ラズパイで取得したIoTデータをグーグルスプレッドシートに自動記録

今回はPythonを使って、ラズパイに接続してあるセンサーから取得したデータなどをグーグルスプレッドシートに自動で記載する方法について記載します。グーグルスプレッドシートに記載することで、スマホなどか …

大学生の電子工作 スマートリモコン(プログラム)

この記事ではスマートリモコンを作ってみたで紹介したスマートリモコンのプログラムを記載していきます。回路はスマートリモコン(回路)に記載してあります。今回作成するプログラムは以下の4つです。 (LED点 …

RaspberryPiのセットアップ ① – 2種類のOSインストール方法と基本設定

 この記事では、私がラズパイにOSをインストールするたびに行っているRaspberryPiのセットアップについて記載します。ここでは、NOOBSとイメージファイルによる2種類のOSのインストール方法と …