Return to main page

THETA Client Mode Development

Connect THETA to your router and send API commands

Check out RICOH cameras: THETA Z1 | THETA V
Please read the document to verify that we've tested the specific model.
Product links have been changed to RICOH Imaging America as they have the best information and availability. We receive no referral fee.

There are two ways to connect your mobile app to the RICOH THETA with Wi-Fi.

1. Access Point (AP) mode where the THETA camera functions as a hotspot.  The mobile phone connects to the THETA as if the camera were a hotspot or Wi-Fi router

2. Client Mode (CM) where the THETA camera connects to your home or office router.  Your mobile phone connects to the same router

Authentication

The RICOH THETA requires Digest Authentication for client mode. When you use client mode, you must use Digest Authentication in addition to the username and password.

On the THETA V, the username is similar to this: THETAYL00105377

The password is the numerical digits.  Example: 00105377

HTTP GET example

The examples were tested using curl on Linux Ubuntu 20.04 and Mac OS 10.15.4, Catalina with a RICOH THETA V running firmware 3.30.1.  You can also run curl on Windows from the command prompt or WSL bash.

$ curl --digest --user "THETAYL00105377:00105377" -X GET http://192.168.2.101/osc/info

Response

{"api":["/osc/info","/osc/state","/osc/checkForUpdates","/osc/commands/execute","/osc/commands/status"],"apiLevel":[2],"_bluetoothMacAddress":"00:26:73:D5:4C:40","endpoints":{"httpPort":80,"httpUpdatesPort":80},"firmwareVersion":"3.21.1","gps":false,"gyro":true,"manufacturer":"RICOH","model":"RICOH THETA V","serialNumber":"00105377","supportUrl":"https://theta360.com/en/support/","uptime":1555858,"_wlanMacAddress":"00:26:73:D5:AA:64"}

HTTP POST example

When you use POST, you must include the header.

curl --digest --user "THETAYL00105377:00105377" -H "Content-Type:application/json" -X POST http://192.168.2.101/osc/state

Response

{"fingerprint":"FIG_0067","state":{"_apiVersion":2,"batteryLevel":1.0,"_batteryState":"charged","_cameraError":[],"_captureStatus":"idle","_capturedPictures":0,"_latestFileUrl":"http://192.168.2.101/files/150100525831424d42079d18e0b6c300/100RICOH/R0010048.JPG","_pluginRunning":false,"_pluginWebServer":false,"_recordableTime":0,"_recordedTime":0,"storageUri":"http://192.168.2.101/files/150100525831424d42079d18e0b6c300/"}}

HTTP POST with data payload

The next example takes a picture.

curl -d '{"name":"camera.takePicture"}' --digest --user "THETAYL00105377:00105377" -H "Content-Type:application/json; charset=utf-8;" -X POST http://192.168.2.101/osc/commands/execute

Response

{"id":"29","name":"camera.takePicture","progress":{"completion":0.00},"state":"inProgress"}

Product links have been changed to RICOH Imaging America as they have the best information and availability. We receive no referral fee. Buyer Guide.

Return to main page