Ricoh iOS Camera SDK error Can not find cameras

Hi There,

We have purchased the Theta camera and we have downlaoded the sample Ricoh SDK code. I have installed the app on my iphone and then connect to camera wifi. After that I’m trying to connect to camera using App but I’m getting below error.

Task <1FF9B570-C392-4167-9BEA-A2E8A2149902>.<1> finished with error [-1001] Error Domain=NSURLErrorDomain Code=-1001 “The request timed out.” UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x281a71740 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 “(null)” UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <1FF9B570-C392-4167-9BEA-A2E8A2149902>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=(

"LocalDataTask <1FF9B570-C392-4167-9BEA-A2E8A2149902>.<1>"

), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=http://192.168.0.1/v1/props, NSErrorFailingURLKey=http://192.168.0.1/v1/props, _kCFStreamErrorDomainKey=4}

As per the error it seems that wifi is not available.
NOTE : the camera is working and connecting in Theta app which I have download from App Store.

Post the version of the firmware you are using as well as the model of the THETA.

Use the desktop app, “Basic App” as well as the USB cable that came with the camera to manage the firmware in the camera. With the Basic App you can upgrade the firmware to the latest version as well as see the firmware version in the camera.

Download | RICOH THETA

Note that if you are developing your mobile app for potentially high-volume camera use, there may be additional help options for technical support. If this is for prototyping of potential high-volume use, please contact @jcasman

Hi @craig Thank you so much for your quick response, We are not developing desktop application. We want to use Ricoh camera SDK in your iOS App. So the sample code which Richo Theta provided is not working. I’m not able to connect to the camera.

I have followed the below guidance for SDK implementation.

@jcasman Could you please provide your input here.

You may be able to get the camera to connect to the SDK with Wi-Fi if you upgrade the internal camera firmware. Can you let me know what version of the firmware you are using in the camera?

Hi @craig,

I have updated the firmware, Earlier it was 1.60.1 now it has been updated with 2.00.1
I have tried to connect with camera but still I’m getting same error. I’m attaching the screenshot.

One more thing I would like to add here, When I try to connect to camera using Theta (Apple Store) app it ask me to connect to wifi first. please check the screenshot

I’m going to need to test, which may take a day or so as I normally use Windows/Linux and I need to configure a Mac for this.

So I can replicate this, what version of iOS are you testing?

I’m assuming that you’re using the RICOH THETA Z1 as your primary development platform, right?

The good news is that other people are using the Z1 with that firmware and that SDK, so I think there’s a path forward.

Are you only doing iOS development? Or, are you also building an Android version? It’s a bit easier for me to test Android as the emulator and devices connect to Windows/Linux.

Can you ping the camera or use Info (HTTP GET) to check if there is any connection at all?

The camera should be at 192.168.1.1 if the camera is set to connect with Wi-Fi in access point mode (which is easier since you don’t need to set up authentication)

Oh, wait. The IP address should be 192.168.1.1

Try that.

What is 192.168.0.1? Are you using Client Mode authentication for the camera? Or, is the camera functioning as the hotspot?

I’m using RICOH THETA Z1. I have downloaded one SDK from Ricoh website.
https://api.ricoh/downloads/
Visit the link and under the package section you would find the " [RICOH Camera Wireless SDK for iOS]" link. I’m using that SDK.

I’ve connected camera wifi and ping the 192.168.1.1 on safari browser, then I open 192.168.1.1/osc/info and I got some json result.
We are doing only iOS development.

Yes in the error logs it says 192.168.0.1 But I didn’t find that IP address in the code. I don’t know about the Client Mode authentication, I’m simply connecting the camera wifi and then try to connect to wifi.

Please let me know Do I need to download other SDK for “RICOH THETA Z1”.

Use this one.

I think you are using the SDK for a different camera. Many people have this problem as the web site could be organized better.

The API documentation is here:
Overview

1 Like

@craig Thank you so much for your help. I’ll download this sdk and test it on my end. I hope this time it would work.

1 Like

Feel free to continue to ask questions. The Z1 is a good camera. The documentation is fairly good. There are some minor bugs in the settings sometimes when you set multiple settings at the same time. You need to wait for the camera status to be idle before you send the next command. The main issue people face is that they forget to check the camera status for “readiness” between commands. There is an API command to check if the camera is idle.

2 Likes

@craig Thanks for your help, I’m able to connect to the camera and I’m also able to download the images as well.
There is only one issue which I’m facing, I’m getting lag on live view of camera in SDK. Could you please help me here to get rid of this issue.

Thanks
Maksud

This problem has not been reported with the Z1 before. However, the firmware may have changed.

Check if you have an EOFException on the frame and then delay 0.5 second if there as an EOFException and run the getLivePreview command again.

The frame format is motionJPEG, described in the document below.

https://drive.google.com/file/d/1y1FDqOHa3OanMW2fUKCFJ4nZMcGh0wn2/view

If you are not seeing an EOFException in the debug console, post again.

Another reference to the freezing frame

Question about getLivePreview by THETA SC2 on Android - #15 by tamy

Hi Craig,

Thanks for your response, I’m using below code, The same code was also there on SDK. I have install the app from sdk as well but I’m facing the lag on live streaming.

httpConnection.startLiveView { (frameData:Data?) in
            self.toggleCameraStatusLabel(isHidden: true)
            DispatchQueue.main.async {
                if frameData != nil {
                   self.imgMotionView.image = UIImage(data: frameData!)
                }
            }
        }

StartLiveView method is returning the Data and I’m converting the data into the image and assigning it to the UIImageView. but ended with lag. Please help me if there is any other way to convert motion jpeg from data.

Thanks

Just to confirm, the frame is getting stuck for a few seconds and then continues? Or, is it stuck on a frame and does not continue with the motion?

It stuck 2-3 seconds then continues, again it stuck 2-3 seconds then continue. it is happening repeatedly.

I would like to add one more thing, The same code is working fine on simulator. I have run the app in simulator and connect to the camera. I was able to get the live feeds without any lag.

Thanks for this additional information. We’re going to need to ask RICOH about this. Can you let me know:

  • iPhone model
  • iOS version you are using for testing
  • if you tried both 2.4GHz and 5GHz and the problem is the same

Thanks for your response,

iPhone - XR (It can be reproducible on any device)
iOS Version : 14.0.1
Yes I tried on both GHz and the problem is same.

Even I am able to reproduce the issue with SDK as well.