Oculus Goの画面をPCにWirelessでミラーリング表示する

![tweet](https://cdn-ak.f.st-hatena.com/images/fotolife/z/zinziroge/20180521/20180521222110.png)

↑のreplyに対してlikeをたくさん頂いたけれども、微妙に間違っていたり、書ききれなかったことがあるので、その補足も含めた記事です。

# この記事を読むとできるようになること
Oculus Goの画面をWirelessでPCにミラーリング表示できる
![ミラーリング表示](https://cdn-ak.f.st-hatena.com/images/fotolife/z/zinziroge/20180521/20180521214335.jpg)

# わたしのスペック
- Andorid,Java よくわからない。Google先生がいないと無理です。
- Unity,C# よくわからない。Google先生がいないと無理です。
- C,Python ちょっとわかる。

# ターゲット読者
1. Oculus Goを周りの人にどんどん被せてVRの感動を伝えて布教したい人
2. Oculus Go向けにアプリ開発をしたいけどケーブルの呪縛から逃れたい人
3. 3か月後の自分

# 結論
- ターゲット読者1.の方は [Vysor](https://www.vysor.io/) Pro を買いましょう
- ターゲット読者2.の方は、お金に余裕があれば [Vysor](https://www.vysor.io/) Pro を買いましょう 。お金に余裕がなければ [Vysor](https://www.vysor.io/) のフリー版を使いましょう。

# 動作確認環境
- OS: Windows10
- Andorid Studio: ver3.1.2
- adb(Android Debug Bridge): version 1.0.39

# 手順
1. 下記を参考にOculus Goを開発者モードにする。（ターゲット読者2.の方は全部読むと幸せになれると思います）
 - [【Unite Tokyo 2018】Oculusで作るスタンドアローン・モバイルVRコンテンツ](https://www.slideshare.net/UnityTechnologiesJapan002/unite-tokyo-2018oculusvr-96453609) の12頁あたりから
2. [adbドライバ](https://developer.oculus.com/documentation/mobilesdk/latest/concepts/mobile-adb/)をインストールする
 - と書いておきながら自分は↑の作業は実施してません。Android Studioをインストール済みだった所為か特に追加作業は必要ありませんでした。Android Studioをインストールする場合は、下記(1つ目のリンクのpdfの13頁以降を参照)をインストールする
   - [OculusGo開発環境を整える(β0.2版)/目玉Ｐ\[pixivFANBOX\]](https://www.pixiv.net/fanbox/creator/22478/post/33154)
   - [Download Android Studio](https://developer.android.com/studio/?hl=ja)
2. Vysor(Chrome拡張) をインストールする。(スタンドアロン版もあるようですが使ったことがないので割愛)
 - [Vysor - Chrome ウェブストア - Google](https://chrome.google.com/webstore/detail/vysor/gidgenkbbabolejbgbpnhbimgjbffefm?hl=ja)
3. PCとOculus GoをUSBケーブルで接続する
4. 接続できているか確認する。コマンドプロンプト または Windows PowerShellで下記コマンドを実行する。
 - `adb devices` 
 
    ```
    List of devices attached
    XXXXXXXXXXXXXX  device
    ```
 - 'XXXXXXXXXXXXXX' には英数字が表示される  
4. Oculus Go のIPアドレスを調べる
 - `adb shell ip addr show wlan0`
 - ↓の表示の場合は、'192.168.0.11'　(以降は192.168.x.xと記載)

    ```
    23: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq 
    state UP qlen 1000 
        link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
        inet 192.168.0.11/24 brd 192.168.0.255 scope global wlan0
        inet6 xxxx::xxxx:xxxx:xxxx:xxxx/xx scope link
           valid_lft forever preferred_lft forever 
```
5. TCP/IP でつなげるためにportを開く
 - `adb tcpip 5555`
5. USBケーブルを抜く
6. TCP/IP でつなぐ
 - `adb connect 192.168.x.x` (Oculus GoのIPアドレス)
7. 接続できているか確認する
 - `adb devices` 
 - 上手くいかないときは、下記を試してみる
   
    ```
    adb disconnect
    adb connect 192.168.x.x:5555
    adb devices
    ```
7. Vysor起動。Oculus Goの画面がPCにミラーリングされる。
 - Vysorのデフォルト設定では、9. でつないだら自動的に起動するはず
 - 注) [Vysor FreeとProの違い](http://www.vysor.io/#pricing) を見ると、Pro版でないとWireless接続できない旨記載がされている。が、白昼夢でなければFree版でもつながったと思う。ただ、最初のtweet後にPro版を購入したのでFree版の挙動は今確認できませんでした。Free版の挙動を確認できる方はコメント記載お願いします。個人的には、後述する理由からPro版の購入をお勧めします

# Vysor Proの方がいい理由
- 広告が出ない
 - Oculus Goの画面に突然全面広告が表示されてびっくりするので、ターゲット読者1.の方はProにした方がいいと思います
- お値段(支払い方式は3種類選べる)。そんなに高くない。
 - \$2.50/月, \$10/年, or \$40(買い切り)
- こんな便利なアプリの開発が止まったら困る 

# 補足
- Oculus VR CTOのCarmack神によると[スマホで見れるアプリをつくっていて、デモは動いている](https://twitter.com/ID_AA_Carmack/status/991649009059225600)ようなので、ターゲット読者1.の方はそのうちPCも不要になりそう。
- 最後まで書いてからadbをインストールするだけならAndroid Studioのインストールしなくてもいいのでは？と思ってググったら、[Oculus公式のadbの親切な使い方の頁](https://developer.oculus.com/documentation/mobilesdk/latest/concepts/mobile-adb/)を見つけた...