Ricoh Theta X Setting static IP over Web API

Hi community,
I am doing development regarding Ricoh Theta X and the SPOT robot from bosotn dynamics and ran across following problem:
For the robot integration I need to set a static ip for the Ricoh Theta X in client mode, but it doesn´t work to do so over the web API. I tried the python scripts already provided by boston dynamics as well as my own test using the rest client of VS code. My own tests showed me that the parameter “ipAddressAllocation” of the command “camera._setAccessPoint” is always set on “dynamic” although I set it on “static” in my POSt request.

I use following request to access the API:

POST http://192.168.1.1/osc/commands/execute HTTP/1.1
Content-Type: application/json;charset=utf-8
Authorization: Digest THETASSID THETAPassw0rd
{
"name": "camera._setAccessPoint",
"parameters":{
"ssid": "TP-LINK_EB73B6",
"ssidStealth":"false",
"security": "WPA/WPA2 PSK",
"password": "Passw0rd",
"connectionPriority": "1",
"ipAddressAllocation": "static",
"ipAddress": "192.168.80.110",
"subnetMask": "255.255.255.0",
"defaultGateway": "192.168.80.3"
     }
}

When sending above request I get following response:

HTTP/1.1 200 OK
User-Agent: Dalvik/2.1.0 (Linux; U; Android 10; RICOH THETA X Build/QKQ1.210402.001)
X-Content-Type-Options: nosniff
Content-Length: 48
Content-Type: application/json; charset=utf-8

{
  "name": "camera._setAccessPoint",
  "state": "done"
}

But if I send following request to list all registered access points it shows there is no static ip address, it is still dynamic:

HTTP/1.1 200 OK
User-Agent: Dalvik/2.1.0 (Linux; U; Android 10; RICOH THETA X Build/QKQ1.210402.001)
X-Content-Type-Options: nosniff
Content-Length: 206
Content-Type: application/json; charset=utf-8

{
  "results": {
    "accessPoints": [
      {
        "connectionPriority": 1,
        "ipAddressAllocation": "dynamic",
        "security": "WPA/WPA2 PSK",
        "ssid": "TP-LINK_EB73B6",
        "ssidStealth": false
      }
    ]
  },
  "name": "camera._listAccessPoints",
  "state": "done"
}

So I actually assume that there maybe was an API change but not sure about that. Would be nice if someone could help me.

Thank you and best regards
Christopher

1 Like

I’ll try and test this later today and if I can replicate it, I’ll send a note to the RICOH engineering team.

Have you tried to save the settings for the static IP address using Access Point mode?

I’m wondering if camera._setAccessPoint needs to be set with the AP mode API first and then you switch to client mode and the camera gets assigned an IP address.

Why do you need to specify static on the camera? Are you having a problem assigning a static IP to the THETA X from your router? If you don’t fill in the ipAddress and ipAddressAllocation fields, does your router still assign the THETA X a static IP?

Have you tried this with a different camera model?

I need to go to my office to get the THETA X and Z1. I have a V with me at my house that I can test. My office is close.

1 Like

Christopher,

Super basic question: The camera._setAccessPoint API doc says v1.10.1 or later is required for X. Are you running the latest firmware with the X?

Jesse

Hi Craig,
thank you for aour answer. I ran the request for setting the accespoint/static IP when I was connect with ricoh theta in access point mode. But in client mode the ricoh theta still has a dynamic Ip assigned by my test router that is different to the static IP I tried to set before. When running the request for “camera._listAccessPoints” I get a different response compared to the response I got in the Ap mode:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Digest realm="RICOH THETA X", qop="auth", nonce="tqgZBhYQTRa3Reb64Vtbjg==", algorithm=MD5
Content-Length: 0
Content-Type: text/html

So the command did not work properly in client mode.

Hi Jesse,
I already double checked that, I am running version 1.20.0.

regarding the camera models I currently just have ricoh theta X at my office.

client mode comparison of V, Z1, and X with static IP assignment

THETA V fw 3.70.1

THETA V Result - Static IP Assignment Works

Test 1 with THETA X

In THETA X test 1, the V and the X are using the same Rosewill router

THETA X Result #1 - Static IP Assignment Fails

failure: no route using THETA X

test 2 with THETA X using Google brand router

using different router.

  • Using API attempted to assign 192.168.86.110 as static IP

THETA X result #2 - fail

  • router assigned 192.168.86.49 (incorrect dynamic IP)

This is different from the expected behavior and different than the THETA V behavior.

replicate test with RICOH THETA Z1 with fw 2.10.3 and Google router

  • Using API attempted to assign 192.168.86.110 as static IP

Z1 Result - success

  • router assigned 192.168.86.110

router assigned IP address as expected. Behavior is the same as THETA V and different from THETA X.


conclusion

The behavior of the THETA X appears to be different from the THETA Z1 and and THETA V. The THETA V and Z1 appear to behave per the documentation.

Suggest @jcasman ask RICOH engineering if there is a way to set the static IP address of the THETA X for client mode operation

1 Like

@craig I’ll connect with you on these tests on Monday before I communicate with RICOH.

@jcasman

I performed 4 tests using three different camera models and two different routers.

The THETA V and Z1 work the same on both of the routers tested. They are assigned a static IP address per the documentation.

The THETA X works differently from the V and Z1 and is assigned a dynamic IP address with the same command that works with a static IP address on the V and Z1.

Ok, thanks for this Information. My colleague suspected that the problem may just affect ricoh theta x, but we weren´t able to test it since our ricoh theta v is currently in another country. And also thanks for connecting with the engineering team to find a solution for ricoh theta x, because we have two of them and would be happy if could use them :D.

As an interim solution, can you configure the router to assign a static IP to the THETA X using the MAC address of the THETA X?

Since my “router” is a SPOT robot there are not many options for configurating the AP settings and I am pretty sure I can´t set a static IP over that way. But I will double check tomorrow. Thanks for your suggested solution.

We want to encourage RICOH to get the X API for static IP settings to be the same as the Z1 and V. However, if a permanent solution requires a firmware modification, that solution will take time. As an interim solution, you may need to control the IP address with a network router that assigns static IP addresses to specified hardware that are identified by the MAC address.

Isn’t the SPOT robot and the THETA X connecting to a separate Wi-Fi router?

If the spot robot is connecting in client mode to an on-site router and the THETA X is connecting in client mode to an onsite router, then you should be able to set IP address based on a MAC address table on the wifi router.

On my router, the setting is:

image

image

It may be inconvenient or not possible for you to get admin access to the router at the job site.

Actually the docker service from boston dynamics we want to use with the camera requires the SPOT in AP mode. And there is sadly no configuration option for the router inside SPOT. So we will try to get a Ricoh Theta V from another department of our company during we wait for a fix or firmware adjustment from Ricoh.
Thank you again for your comprehensive help and hints.