LoginSignup
7
5

More than 1 year has passed since last update.

THETAのプラグイン開発Tips

Last updated at Posted at 2020-09-06

RICOH THETAのプラグイン開発は基本的にAndroidアプリ開発を行うことになる。色々いじってカメラの調子がおかしくなった後、工場出荷時に戻すたびに行っている設定などのメモ。

画面表示

画面がないTHETAのAndroidデスクトップを表示する。

  • scrcpy
  • おすすめ。ただ、キーボードショートカットを覚える必要がある。macOSだとoptionキー+"h"でホームに戻るのを覚えておけばなんとかなる。
  • Vysor
    • 広告表示が時折開発に支障をきたす(httpsな通信が必要で時刻設定されていないと通信できずにエラーになる)。

時刻設定

  • 時刻設定しないとhttps接続できない
  • スマホアプリで接続することで、カメラの時計が設定されるので、スマホアプリとの接続でもよい。
  • コマンドで設定する場合(dateTimeZone)
    • adb shell でTHETAのshellに入る。(curlでうまく\'が使えないので)
shell_in_THETA
curl -H "content-type: application/json; charset=utf-8" -X POST localhost:8080/osc/commands/execute -d '{"name": "camera.setOptions", "parameters": {"options":{"dateTimeZone":"2020:08:09 11:02:00+09:00"}}}'

スリープ無効化

  • プログラムを書いているとすぐにスリープしてしまうので無効化する
  • スマホアプリ(RICOH THETA)から設定できる。
  • コマンドで設定する場合(sleepDelay)
    • adb shell でTHETAのshellに入る。
shell_in_THETA
curl -H "content-type: application/json; charset=utf-8" -X POST localhost:8080/osc/commands/execute -d '{"name": "camera.setOptions", "parameters": {"options":{"sleepDelay":65535}}}'
  • 自動スリープの他に、自動電源OFFも無効化する(offDelay)
shell_in_THETA
curl -H "content-type: application/json; charset=utf-8" -X POST localhost:8080/osc/commands/execute -d '{"name": "camera.setOptions", "parameters": {"options":{"offDelay":65535}}}'

USB接続時にもWi-FiをONする

  • USBでadbを使いながらWi-Fiも使いたいとき
  • Wi-Fi使用しながらのUSB使用は禁止とのことで記載削除(2022/04/07追記)

無線LAN(CLモード)設定

shell_in_THETA
curl -H "content-type: application/json; charset=utf-8" -X POST localhost:8080/osc/commands/execute -d '{"name": "camera._setAccessPoint", "parameters": {"ssid":"Wi-FiルータのSSID","security":"WPA/WPA2 PSK","password":"Wi-Fiルータのパスワード"}}'

国内モデルはIoT技適対応のため、THETA Z1 51GBモデルおよびTHETA XでCLモードでのプラグイン起動が制限されるようになった。リコーに申請して承認されたプラグインのみCLモードでプラグインを起動できる(Android Studio等でのデバッグは可能)。

LAN内のTHETAにアクセスする

基本アプリの終了(キーボード入力が必要な場合などに使う)

  • adb shell am force-stop com.theta360.receptor

工場出荷時に戻す(本体初期化)

有線でインターネットに接続する

権限設定

AndroidManifest.xmlで設定する権限、例えば、"android.permission.CAMERA"を通常のAndroidスマホであればダイアログ表示で権限を有効にすることができるが、THETAは画面を持たないため、ダイアログ表示することができない。開発者であればscrcpyなどで画面表示させて設定画面からApp permissionsを設定することで権限設定を行えるが、一般に配布した場合はどうやって権限設定させるのだろうか。THETA Plugin Storeからプラグインを配布する場合は、RICOH THETAアプリ経由でインストールされ、自動的に権限設定がされるため、ユーザーが意識して権限設定する必要はない

Logcat

  • 2020年6月17日のTHETA Z1用FW 1.50.1以降に対して
    • ライブストリーミングの発熱抑制のため、初期状態でデバッグログを出さないように設定されるようになった。デバッグログを出すときには、以下コマンドを利用する。
      • ログ出力 adb shell setprop persist.log.tag 0
      • ログ停止 adb shell setprop persist.log.tag A

Tombstones

アプリがクラッシュするなどの問題があるとAndoidはクラッシュログを出力する。出力場所は/data/tombstones/。ここに詳細なクラッシュ時のログが出力されているので、デバッグに役立てられる。

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5