ICTについて使える情報を発信していきます. 遠回りしたり, 自分のペースで...

このブログを検索

IPアドレス固定(DHCP固定割当設定) [Oculus Go]

今日は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つ方法があります.

  1. adb接続して確認する.

  2. LAN内で使われているIPアドレスを調べる6つの方法(Linux/Windows)」から, arp or arp-scanコマンドを使って, 怪しいものを片っ端から調べる.

  3. 「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を止める手段がセンサーを塞ぐという物理的な手しか無いというのが…これからに期待ですね.

参考文献


  1. 2については「河童星人@kappaseijin」という方が既にツイートしていたので, 1の手順でやってみました. ↩︎

0 コメント:

コメントを投稿

Popular Posts