見出し画像

ラズパイをいじる② Git・node・PS4

前回の記事の最後に「続きは次回。gitとnodeのインストールからやっていく」と書いたように、今回はラズパイはあまり関係ない話になると思われる。よってタイトルも雑になってしまった。まあ気にせずやっていく。

さて、今回は予告したとおり、

こちらを参考にして、PS4を動かしていく。著者様に感謝🙏


GitのインストールとGitHubへの公開鍵登録

まずGitをインストール。

$ sudo apt-get install git
$ git --version
git version 2.11.0

できた(微妙に古い)。つづいてGitHubに公開鍵を登録する。

$ mkdir .ssh
$ cd .ssh/
$ ssh-keygen
$ cat id_rsa.pub # こちらをGitHubへ
$ eval `ssh-agent`
$ ssh-add


nodeのインストール

せっかくGitのインストールとGitHubへ公開鍵の登録をしたので、nvmでも使いましょう。nvmはnodeのversion managerである。

$ mkdir .nvm
$ git clone git@github.com:creationix/nvm.git .nvm

$ source ~/.nvm/nvm.sh
$ nvm --version
0.33.8

apt-getでもふつうにnodeはインストール可能。

雑に最新のLTSをインストールする。

$ nvm install --lts
Now using node v8.10.0 (npm v5.6.0)
Creating default alias: default -> lts/* (-> v8.10.0)

$ node -v
v8.10.0

yeah.

$ node
> consle.log('!!!');
ReferenceError: consle is not defined # アホ
> console.log('!!!');
!!!

これでnodeも動くようになった。


ps4-wakerのインストール

さて、nodeが入ったのでps4-wakerも入れられるようになったはず。ところでこのps4-wakerとはなんぞや?

同じLAN上にあるコンピュータからPS4を起動したり操作したりアプリケーションの起動をしたりできる、とのこと。先人の記事にもこのREADMEにも書いてあるが、iOS/AndroidのPlayStation App、とくにPS4 Second Screenが必要になる。登録等は済ませておかないとダメかも。

ちなみにこのセカンドスクリーン機能は、PS4上でwebサービスのパスワードを入れたりするときに便利(コピペすればよい)。

とりあえずインストールしてみる。こんどはnpm。

$ npm install -g ps4-waker
$ ps4-waker
Device must be awake for initial registration. Please turn it on manually and try again.

PS4をスリープ解除してから初期登録しろとのこと。

$ 右手を伸ばしてコントローラーのPSボタンを押す
$ ps4-waker
No credentials; Use the PS4 Second Screen App and try to connect to PS4-Waker
Error: Root permissions required to start PS4 Dummy
$ sudo ps4-waker
sudo: ps4-waker: command not found

oh...

$ which ps4-waker
/home/{username}/.nvm/versions/node/v8.10.0/bin/ps4-waker
$ sudo ln -s /home/{username}/.nvm/versions/node/v8.10.0/bin/ps4-waker /usr/bin
$ sudo ps4-waker
No credentials; Use the PS4 Second Screen App and try to connect to PS4-Waker

大丈夫っぽい…いいのか?

ここまできたら、Second Screen AppでPS4-wakerが出てくるので、選択すると、連携ができる。

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 code>

現在のPS4 Ver.5.50だと、

設定モバイルアプリ接続設定機器を登録する

と進めるとPINコードが表示されるので、Pin code> の部分に入力する。

Pin code> ********
Logged into device! Future uses should succeed

 yatta-

これでPS4の操作が可能になった。試しにやってみよう(コマンドはこちら)。

$ sudo ps4-waker # PS4起動
$ sudo ps4-waker standby # スリープ状態になる
$ sudo ps4-waker remote ps # PSボタンを押す

アプリケーションの起動ももちろんできる。というかこれがしたいんや。アプリケーションのid(titleID)は、PlayStation StoreのアプリケーションのページのURLで確認ができるらしい。以下引用。

例えばトルネのURLは以下のようになりますが、最後の方にあるCUSA00442っていうのがtitleidになります。
https://store.playstation.com/#!/ja-jp/%e3%82%a2%e3%83%97%e3%83%aa/torne(%e3%83%88%e3%83%ab%e3%83%8d)-playstation4/cid=JA0003-CUSA00442_00-TORNEPS400000000

というわけでこうなる。

$ sudo ps4-waker start CUSA00442 # torne起動

これでtorne(nasneで録画したテレビ番組を視聴するアプリケーション)が起動する。これこれ、これを待ってた。ちなみにモンスターハンター:ワールドだと、

$ sudo ps4-waker start CUSA06027 # モンハンワールド起動

になる。現在のハンターランクは14です。


以上でラズパイからPS4の操作が可能になった。まろやかな長さになったので、今回は終了。

このあと先人はスマートスピーカーから起動させるために、IFTTTFirebaseを噛ませて連携させている。次回はこのあたりをやっていく。自分なりの処理も足して書いていければなと思う。