ゲームプログラマー暇人日記

プロのゲームプログラマーが技術的な事から、そうじゃないことまで書いていきたいと思います。

THETA Sをブラウザから操作し、無音で写真を撮る

はじめに

この記事はRICOH THETA Advent Calendar 2015の13日目の記事です。

 

自分は歴代のTHETAをすべて持っているTHETAファンです。

左からTHETA S, THETA m15, THETAです。

f:id:hima_zinn:20151212194756j:plain

今回はTHETA SをPCと接続し、ブラウザから写真を撮る方法を解説します。

それだけではツマラナイので、THETA Sのシャッター音を無音化します。

シャッター音を無音化しますが、決して盗撮等には利用しないでください。

また、一度無音に設定すると、再度音量を上げた設定にするまで無音状態が続きます。

キュイっていうシャッター音がカワイイ感じで好きなので、自分は音量あり設定で使用しています。

PCとTHETAを接続し、HTTP通信してみる

THETAのアドベントカレンダー用の記事どうしようかなーって考えながらネットサーフィンしてたときに、こんなChromeの拡張を見つけました。

コレ使ったら、THETAに簡単にアクセスできる!って思ったので、使ってみます。

 

  • Google Chromeをインストールする

    自分は普段からChrome派です。
    他のブラウザはほとんど使いません。

  • Chrome拡張『Advanced REST client』をChromeに追加
    Advanced REST clientをクリックし、CHROMEに追加ボタンをクリック

    f:id:hima_zinn:20151212195724p:plain

  • THETA SとPCをWi-fiで接続する
    接続方法がわからない場合はTHETA Sの接続方法のサイトをご確認ください。
    スマホとTHETAの接続方法について書かれていますが、PCとTHETAの接続方法もやり方は同じです。

    f:id:hima_zinn:20151212200616p:plain

  • Advanced REST clientアプリを起動する

    f:id:hima_zinn:20151212200851p:plain


  • 下記の設定を行う。

    f:id:hima_zinn:20151212203131p:plain

  • Sendボタンをクリック
    画面下にレスポンスが表示され、下記のようにデータが取得できることがわかる
    {
        "name": "camera.startSession"
        "state": "done"
        "results": {
            "sessionId": "SID_0001"
            "timeout": 180
        }
    }

    f:id:hima_zinn:20151212203202p:plain

PCのブラウザから写真を撮る

PCのブラウザとTHETA Sの接続ができたので写真を撮ってみます。 

  • 下記の設定を行う。
    • URL
      http://192.168.1.1/osc/commands/execute
    • POSTを選択
    • Payload
      ここのsessionIdは『PCとTHETAを接続し、HTTP通信してみる』の最後でレスポンスとして取得したsessionIdを設定する必要があります。
      {
          "name": "camera.takePicture",
          "parameters": {
              "sessionId": "SID_0001"
          }
      }
    • Set "Content-Type" header to overwrite this value.でapplication/jsonを選択

    f:id:hima_zinn:20151212205534p:plain

  • Sendボタンをクリック
    『キュイ』と音が鳴り撮影が行われます。
    画面下にレスポンスが表示され、下記のように処理が進んでいることがわかります。
    {
        "name": "camera.takePicture"
        "state": "inProgress"
        "id": "1"
        "progress": {
            "completion": 0
        }
    }

    f:id:hima_zinn:20151212205632p:plain

    これでPCのブラウザからの写真撮影が可能です。
    このあとは、PCやスマホとTHETA Sを接続し、写真を確認することができます。


THETA Sのデフォルトの音量設定調べる

THETA SのAPI一覧を確認すると_shutterVolumeというAPIがあり、これでシャッター音の調整が出来そうです。

まずはじめにシャッター音のデフォルト値を調べておきます。

後でシャッター音量を戻せるようにするためです。

無音化したいだけの人は読み飛ばしてもらって構いません。

  • 下記の設定を行う。
    • URL
      http://192.168.1.1/osc/commands/execute
    • POSTを選択
    • Payload
      ここのsessionIdは『PCとTHETAを接続し、HTTP通信してみる』の最後でレスポンスとして取得したsessionIdを設定する必要があります。
      {
          "name": "camera.getOptions",
          "parameters": {
              "sessionId": "SID_0001",
              "optionNames": [
                  "_shutterVolume"
              ]
          }
      }
    • Set "Content-Type" header to overwrite this value.でapplication/jsonを選択

    f:id:hima_zinn:20151212211248p:plain

  • Sendボタンをクリック
    画面下にレスポンスが表示され、下記のようにデータが取得できる。
    シャッター音のデフォルト値は100であることがわかる。
    {
        "name": "camera.getOptions"
        "state": "done"
        "results": {
            "options": {
                "_shutterVolume": 100
            }
        }
    }
    f:id:hima_zinn:20151212211503p:plain

 

THETA Sのシャッター音を0に変更し、無音化する

無音THETA Sを作ります!

  • 下記の設定を行う。
    • URL
      http://192.168.1.1/osc/commands/execute
    • POSTを選択
    • Payload
      ここでシャッター音量を0に設定します。
      ここのsessionIdは『PCとTHETAを接続し、HTTP通信してみる』の最後でレスポンスとして取得したsessionIdを設定する必要があります。
      {
          "name":"camera.setOptions",
          "parameters": {
              "sessionId":"SID_0001",
              "options": {
                  "_shutterVolume":0
              }
          }
      }
    • Set "Content-Type" header to overwrite this value.でapplication/jsonを選択

    f:id:hima_zinn:20151212214412p:plain

  • Sendボタンをクリック
    画面下にレスポンスが表示され、正常に設定が完了したことがわかる
    {
        "name": "camera.setOptions"
        "state": "done"
    }

    f:id:hima_zinn:20151212214438p:plain

    この設定が完了後、『PCのブラウザから写真を撮る』で解説した手順で写真を取ると無音で写真を撮ることが出来ます。 

 

セッションを終了する

使ったセッションはキチンと終了しましょう。

  • 下記の設定を行う。
    • URL
      http://192.168.1.1/osc/commands/execute
    • POSTを選択
    • Payload
      ここのsessionIdは『PCとTHETAを接続し、HTTP通信してみる』の最後でレスポンスとして取得したsessionIdを設定する必要があります。
      {
          "name": "camera.closeSession",
          "parameters": {
              "sessionId": "SID_0001"
          }
      }
    • Set "Content-Type" header to overwrite this value.でapplication/jsonを選択

    f:id:hima_zinn:20151212215047p:plain

  • Sendボタンをクリック
    画面下にレスポンスが表示され、正常に設定が完了したことがわかる
    {
        "name": "camera.closeSession"
        "state": "done"
    }

    f:id:hima_zinn:20151212215220p:plain

     これでシャッター音が無音のTHETA Sの完成です。

追伸

冒頭にも書きましたが、シャッター音量の設定を行うまで無音になります。 
音量を元に戻す場合は『THETA Sのシャッター音を0に変更し、無音化する』の手順で、音量を100に設定してください。

{
    "name":"camera.setOptions",
    "parameters": {
        "sessionId":"SID_0001",
        "options": {
            "_shutterVolume":100
        }
    }
}

THETA Sでは他にも様々な設定ができます。

詳細はAPI v2 Reference (RICOH THETA S)をご確認ください。

 

明日の担当はpafuhana1213さんの『Thetaはフィギュア撮影の夢を見るか?』です。