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 とラズベリーパイを連携させるプログラムなどはこちらの記事を参照してください。

google ads




google ads




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

執筆者:


comment

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

CAPTCHA


関連記事

ラズパイでスマートロック作ってみた⑤- スプレッドシートをICカードのデータベースとして使用する

    大学生の電子工作 ラズパイでスマートロック作ってみたの記事の⑤つ目の記事です。今回は、前回追加したICカードで鍵を開ける機能のアップデートを行いました。 具体的には、今までラズパイのプログラム …

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

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

RaspberryPiのセットアップ ② – SSH,VNC(遠隔操作)の設定とファイルサーバーの設定

 この記事では、前回の記事(RaspberryPiのセットアップ ① – 2種類のOSインストール方法と基本設定)に引き続き、ラズパイを遠隔操作するためのSSH・VNCの設定方法と、パソコ …

ラズベリーパイでICカードのデータを読み取る

今回はSONYのICカードリーダー( RC-S320 )を使用して、suicaなどのICカードを読み取り、 idm(ICカードの固有番号、ICタグ)や残高、交通履歴などを取得する方法についてご紹介しま …

物理ボタンをIoT化 – ESP32で Swich bot を自作し、スマホからスイッチをON,OFFできるようにしてみた

   この記事ではESP32をIoTデバイスとして使用し、家の電気のボタンや電子レンジのボタンなどの、あらゆる物理ボタンを押すことのできるスイッチボットを作成する方法について解説します。 市販されてい …




関連記事