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

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

関連記事

電子工作 ラズパイで玄関モニター(兼防犯カメラ)作ってみた

今回は前回のスマートリモコンに続き、2回目のIoTデバイス制作です。玄関モニター兼防犯カメラを作ってみました。作成難易度はスマートリモコンよりも簡単ですので皆さんも是非作ってみてください! 玄関モニタ …

ラズパイでスマートロック作ってみた② - 扉の開閉状況をGoogleスプレッドシートに記録

以前作成したスマートロックに、扉の開閉状況をGoogleスプレッドシートに記録する、という機能をつけたので、そのやり方について紹介します。   搭載した機能 スイッチで鍵の開閉外部サービス(Googl …

大学生の電子工作 スマートリモコン(回路)

この記事ではスマートリモコンを作ってみたで作成したスマートリモコンの回路について記載していきます。今回作成したスマートリモコンの回路は、 以下の3つからなっています。 赤外線学習回路 赤外線発信回路( …

1200円でカメラ、wi-fi、Bluetooth付きの激安マイコンで遊んでみた

    最近、研究室の3Dプリンターの稼働状況を監視するためにカメラを設置しようと思いたち、激安のカメラを探していました。 最初は以前こちらの記事で紹介したようにWebカメラとラズパイを用いてストリー …

ラズパイでスマートロック作ってみた④ – ICカードでドアを開閉する

大学生の電子工作 ラズパイでスマートロック作ってみたの記事の④つ目の記事です。今回はSuicaや学生証、電子マネー(nanacoとか)等のICカードで鍵を開けられるようにしました。 近くのコンビニに買 …