今日はoculus goのIP固定について.
※ 重要 (2018-06-01追記)
Oculus GoのWifi設定から, 自分のWifiネットワークを長押しで, Wifiの詳細設定ができるということが分かりました…こちらが圧倒的に楽ですね.
Wifiルーターには「DHCP固定割当」という機能があります.
これは, 特定のMACアドレスに特定のIPアドレスを割り振るという方式です.
MACアドレスとは, コンピュータ1つ1つで違う値が設定されています(指紋みたいなもの).
これさえわかれば, ルーターからパソコンを簡単に調べることができるので, このパソコンにはこのIPと割り振る設定ができます.
では, 早速固定していきましょう.
環境 & 必要なもの
- Oculus Go
- ルーターとその管理者権限
- Mac(PC)
Oculus Go MACアドレスを調べる
MACアドレスを調べるには3つ方法があります.
-
adb接続して確認する.
-
「LAN内で使われているIPアドレスを調べる6つの方法(Linux/Windows)」から, arp or arp-scanコマンドを使って, 怪しいものを片っ端から調べる.
-
「MAC Address for Oculus Go Wi-fi access?」より, mobile hotspotを使う.
3つ以外もあるかもしれませんが, 私が知っているのはこれで終わりです.
今回は1について解説していきます.
ちなみに, 1番楽にできるのは2の方法だと思います1
Oculus Go 開発者モード設定
このサイトを見るとできます.
「UE4 Oculus GoでVRアプリの開発を開始するまでの方法」
すみません. 手を抜きましたw
adbインストール
Macなら, ターミナルで次のコマンドを打ちましょう.
$ brew tap homebrew/cask
$ brew cask install android-platform-tools
これでMacではadbのインストールできます.
Windowsの方なら「もっと簡単!adbコマンドを使えるようにする方法-ダウンロードして解凍してパスを通すだけでOK」を見れば設定できると思います.
adbで接続し, MACアドレスを取得する.
まず, MacとOculus GoをUSBで接続します.
そうしてOculus Goを見てみると, 「パソコンを信頼しますか?」みたいなのが出てくるので許可します.
その後, Macのターミナルで次のコマンドを打ちましょう.
$ adb devices
List of devices attached
adb server version (32) doesn't match this client (39); killing...
* daemon started successfully
xxxxxxxxxxxxxx device
「xxxxxxxxxxxxxx device」と出てくるはずです.
もし, 上のコマンドで下のようなエラーになった場合はOculus Goがスリープ状態?なため, コントローラーのホームボタンを長押しして, もう一度上のコマンドを打って下さい.
$ adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
ADB server didn't ACK
Full server startup log: /var/folders/zl/m1myvbps58sby5zzvrbvwrf40000gn/T//adb.501.log
Server had pid: 93474
--- adb starting (pid 93474) ---
adb I 05-30 15:44:40 93474 6217004 main.cpp:57] Android Debug Bridge version 1.0.39
~~ 省略 ~~
* failed to start daemon
error: cannot connect to daemon
$ # Oculus Goのスリープ状態を解除してもう一度
$ adb devices
List of devices attached
adb server version (32) doesn't match this client (39); killing...
* daemon started successfully
xxxxxxxxxxxxxx device
それでも出ない場合はUSBを接続し直したり, もう一度コマンドを打ったりしましょう.
Oculus Goが認識されたら次のコマンドを打ちます.
$ adb shell ip addr show wlan0
5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 3000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet xxx.xxx.xxx.xxx brd xxx.xxx.xxx.xxx scope global wlan0
valid_lft forever preferred_lft forever
inet6 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx scope link
valid_lft forever preferred_lft forever
この3行目の「link/ether xx:xx:xx:xx:xx:xx」の「xx:xx:xx:xx:xx:xx」の部分がMACアドレスです. こちらを取得すればadbは終わりです. MACアドレスはどこかにメモをしておいて下さい.
ルーターでDHCP固定割当を設定し, IPを固定する.
MACアドレスもわかったので, ルーターでDHCP固定割当を設定します. そうすることで必ずそのIPアドレスが割り振られるので, 固定したことになると思います.
ルーターにログインする.
今回は「Macで自分のゲートウェイを確認する方法」より, 「route -n get 0.0.0.0」コマンドを使います.
$ route -n get 0.0.0.0
route to: default
destination: default
mask: default
gateway: xxx.xxx.xxx.xxx
interface: en0
flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
0 0 0 0 0 0 1500 0
これで, Gatewayが取得できました. 5行目の「gateway: xxx.xxx.xxx.xxx」のxxx:xxx:xxx:xxxの部分をブラウザに入れましょう. 今回は「192.168.11.1」と仮定します.
すると, ポップアップなどでユーザー名とパスワードの入力を促されるので入力しましょう.
「ルーター ログイン」で検索し, 同じメーカーのルーターを見つけると, 初期ユーザー名と初期パスワードぐらいは出てくると思います. 設定した覚えのない方はそちらを見てみるのも良いと思います. もしくは初期化して, 初期ユーザー名と初期パスワードを打つ…という手もあります.
あとは, ルーターによって操作が違います.
私のwifi機器のメーカーはaterm(型番は忘れました)なので, それに沿った解説をします. aterm以外のメーカーの方は「<メーカー名> DHCP固定割当」で検索すると方法が出てくると思います.
atermルーターでのDHCP固定割当
まず, LAN設定を開きます. そして, 割当数を確認します.
Gatewayの4番目をその割当数以下のIPアドレスに設定しないと固定割当してくれないです.
例 Gatewayが「192.168.11.1」で, 割当数が「64」なら, 固定できるIPアドレスは「192.168.11.2 ~ 192.168.11.64」までです.
確認したら, 「DHCP固定割当設定」をクリックして, 追加を押しましょう.
そうすると, MACアドレスとIPアドレスを入力する画面になるので,
- MACアドレスはメモしていた値をそのまま「xx:xx:xx:xx:xx:xx」
- IPアドレスは, 上のGatewayの4番目をその割当数以下のIPアドレス「xxx.xxx.xxx.xxx」
を設定して保存しましょう.
念の為, もう一度「DHCP固定割当設定」をクリックして, 設定されていることを確認して下さい.
これで固定割当は終わりです.
Oculus Go の再起動
Oculus Goを再起動します. USBをつなげたままなら, 次のコマンドを打てば再起動します.
$ adb reboot
その後, Oculus Goのコントローラーのホームボタンを長押しして, また「adb devices」を打ちましょう.
$ adb devices
最後に, 「adb shell ip addr show wlan0」を打ちましょう.
$ adb shell ip addr show wlan0
5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 3000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet xxx.xxx.xxx.xxx brd xxx.xxx.xxx.xxx scope global wlan0
valid_lft forever preferred_lft forever
inet6 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx scope link
valid_lft forever preferred_lft forever
7行目の「inet xxx.xxx.xxx.xxx」が自分で設定したIPアドレスと同じになっていれば固定されています. おつかれまでした.
adbを無線で使えるようにする
IPアドレスを固定化した利点として, 簡単にadbを無線で使えるようになります. まず, ポートを開きましょう. 今回は「Oculus Document ADB」のexampleより, 5555を開きます. ほんとは4桁以上なら何でもいいです(多分)
$ adb tcpip 5555
コマンドを打ったあと, USBを抜いて下さい.
そして次のコマンドを打って下さい.
$ adb connect xxx.xxx.xxx.xxx:5555
connected to xxx.xxx.xxx.xxx:5555
自分はなかなかできなくて, 一旦待ってもう一度やってみるとできました. なので, 少し待ってもう一度コマンド打ったらできるとかあるかも…できた原因が不明です.
まとめ
以上でIPの固定ができました. やってて思ったんですがsleep止めたいのに, sleepを止める手段がセンサーを塞ぐという物理的な手しか無いというのが…これからに期待ですね.
参考文献
- http://unrealengine.hatenablog.com/entry/2018/05/04/232708
- https://qiita.com/hikaru__m/items/15baae425b6fad25da05
- もっと簡単!adbコマンドを使えるようにする方法-ダウンロードして解凍してパスを通すだけでOK
- Macで自分のゲートウェイを確認する方法
- 割り当てるIPアドレスの範囲を設定する(DHCP除外)
- 詳細設定-DHCP固定割当設定
- Restart android machine Ask Question
- Oculus Document ADB
2については「河童星人@kappaseijin」という方が既にツイートしていたので, 1の手順でやってみました. ↩︎
0 コメント:
コメントを投稿