Camera Remote API : Camera + iPad + PC? - camera

I'm currently studying the Development Guide given with the Sony Camera Remote API beta SDK, and what I've understood so far, is that in order to send and receive messages between a camera and a mobile device, the smartphone or tablet should be connected through Wifi to the camera, which acts as an access point.
Actually, what I'd like to do after downloading a picture on the mobile device from the camera, is to pass it to a PC so that I will be able to print it and use it for other purposes. This process should be completely transparent and automatic for the final user.
Thus, my problem is that I need the mobile device to be connected, through Wifi, to both camera and PC.
The solutions I have in mind are :
Make the mobile device, and the PC, connect to the camera access point, so that they can be located on the same network.
Is this possible? I mean, can the Sony camera handle more than one client when acting as an access point? If yes, can I have a fixed IP for mobile device and PC so that I can easily make them exchange data?
Use a simple wifi router and make the camera, mobile device, and PC connect to this router.
Without acting as an access point (i.e. simple network client), can the camera be used with the remote control function?
If you guys see any other options, I'd be glad to read them !
Thanks,
Bertrand

Unfortunately, neither of your solutions would be supported. Only one device can be connected to the camera AP at a time, and the camera itself has to act as the access point (certain models support connecting to an access point from the camera but the Camera Remote API is not supported in this case).
If you don't need the mobile device to have access to the pictures, your best bet may be to directly connect the PC to the Camera and transfer the images using the API. The API is REST based so can be used on any platform.

Related

Connecting to Multiple Cameras via Sony Remote Camera API

Using Sony Remote Camera SDK 2.1.2
I am not using any mobile devices to talk to my Sony cameras
I am using a Ubuntu, C++ and a router to access my Sony cameras
My Sony cameras WORK for one API call, they provide a response to the Sony Camera Remote API call "startLiveview" but that is the only Sony Camera Remote API call that the Sony cameras will respond to, I have tried "startLivewviewWithSize", "getSupportedLiveviewSize", "getLivewviewSize", and "getAvailableAppList", "getApplicationInfo", none of these API calls get a response from either of my Sony Cameras, in general, there is one exception see below
I have tried all these calls with only one Sony Camera on.
The exception: when I will actually get responses from the Sony Cameras. If I call "getAvailableAppList", this will cause something to happen to the Sony Camera, and I will start to get responses from it but only when the camera is in Wifi Live Preview mode
Now the Scenario:
I have two Sony HDR-AZ1 cameras, I have them both set to "Perform Live Streaming":
Currently, I am able to capture the Livepreview stream, recording it, using VLC PLayer and a Netgear Router where I assign static IP addresses to the cameras:
I have assigned the Sony Cameras in my LAN settings in my Netgear Router:
#define SONY_CAMERA_1 #"http://192.168.178.13:8080/sony/camera"
#define SONY_CAMERA_2 #"http://192.168.178.14:8080/sony/camera"
So I can capture the Liveview stream from two cameras because of the static IP addresses I have assigned with my router.
The Livepreview stream is always streaming, no API calls are sent to the camera, the static assigned IP addresses allow me to capture the stream using VLC Player to record the stream:
Now I am trying to figure out if I can use the Sony Remote Camera API with my static IP addresses to talk to multiple cameras. I have read online that it is possible and that it is not possible, yet I haven't found a clear statement on the fact one way or the other.
This Stackoverflow article would imply, via the last sentence of Sony's #Marlin-SONY's answer that it is possible, using the Sony Remote Camera API: Is there a way to send multiple wifi camera a signal to take a picture at the same time?
But Simon Wood's answer and code, along with other articles convey that multiple connection via Sony Remote Camera API is still a bit of an elusive unsolved issue.
With my static IP addresses, assigned at the router, I expect that I can do the following call:
http://192.168.178.13:8080/sony/camera
strCmd = "{"
"\"method\" : \"getApplicationInfo\","
"\"params\" : [],"
"\"id\" : 1,"
"\"version\" : \"1.0\""
"}".toJSON;
and get a response, but I never get a response, not matter what Wifi mode the camera is set to.
I assume I will need to switch the WiFi mode on the Sony HDR-AZ1 cameras to either just "WiFi" or "Wifi Multi Connection" instead of the "WiFi Perform Live Streaming" I currently have them set to be but even that is not clearly documented anywhere that I can find.
Can I connect to multiple cameras via the Sony Remote Camera API, I assume the answer is yes but my cameras are not acting as Wireless Access Points, do they still receive all documented Sony Camera Remote API calls when the the cameras are in some flavor of Wifi with static IP addresses assigned to them via my router?
What WiFi mode do my cameras need to be in to work with the Sony Remote Camera API? 1)Wifi, 2 Wifi Multi Connection (This seems to be only for the Sony Remote Control product) or 3) Wifi Livepreview?
Do I need to use my router to assign static IP addresses or can I use SSDP to find the cameras?
Have you tried looking at the CameraRemoteSampleApp sample code inside the Camera Remote SDK?
https://developer.sony.com/downloads/all/sony-camera-remote-api-beta-sdk/
There are examples of how to get the IP address for the cameras for both Android and iOS.
Edit: To answer your questions above the Sony Camera Remote API does not support connecting to multiple cameras from a single phone or via a router. It only supports the API over a direct WiFi connection 1:1 between a phone and a camera.
Not a direct answer for you, but if you'd like to play I had attempted detecting multiple cameras (but don't have appropriate hardware to test) in this project:
https://github.com/Bloodevil/sony_camera_api
The script 'src/examples/scan_for_cameras.py' will attempt to find all cameras bonded to local network/machine.
I'd be real interested in finding out whether it actually works ;-)
Cheers,
Simon.

Sony, Camera: interface

Good Evening,
I'm starting the develop of an App with the Action Cam FDR-X1000, and I have 2 questions about the capabilities of the system:
- can I manage the camera (using Camera Remote API) by the usb interface instead the Wifi?
- using the wifi interface, if I'm operating with the camera by, for example, a smartwatch, can I connect a smartphone to the same camera and send commands to retreive stored images, etc?
Thank you for the attention
Andrea Carapezzi
To answer your questions.
You will not be able to communicate with the camera using the camera API over usb
You will be able to connect your camera to a smartphone and get images from the camera using the camera remote API. You can visit the Camera remote API landing page to find out more: https://developer.sony.com/develop/cameras/

Is it possible to connect both the remote and my android app to my HDR-AZ1, at the same time?

I have a Sony HDR-AZ1 with the RM-LVR2V remote.
I'm currently integrating the Remote API into an Android app that we are developing. The app will download video and photos from the camera, and transfer them to our web service.
What I've discovered is that it appear as if only one device can be connected to the camera at any single time - either my smartphone or my RM-LVR2V remote. Not both at once, which I would need. I'm not sure if this is the case, but it appear as if I have my smartphone connected to the camera, then I cannot connect my remote, and vice versa. Is this correct?
Is there some way to connect both my RM-LVR2V and my smartphone to the camera, at the same time?
Unfortunately connecting both at once is not possible. The Camera only supports one WiFi connection at a time. You may want to look into using something like a SmartWatch 2 or 3 to connect to the phone and then the phone to the camera to achieve what you are trying to do.

If possible, how to connect iPhone to an external device and a router programmatically, both WiFi

I would like to create an application that connects to the internet by using WiFi. That's easy, but i also want to connect the iOS device to a standalone WiFi device. (Device is classified)
So basically i want to connect programmatically to two devices at once using a single WiFi chip
Is this even possible (couldn't find anything that proves so on internet). And if possible, how do i do it?
iOS device can't be connected to two different wireless networks at the same time.
Even more: you can't programmatically switch between the two networks - user has
to do it trough the settings application.
So: if the device is on the same wireless network as your router (gateway to internet) then you'll have no problems connecting iOS to internet and to your classified device.
However: if classified device is on a seperate (possibly AdHoc) network then user will have to switch between connection to internet and connection to classified devices's wireless network.
If you're the designer of classified device it would be best if you can manage the connection trough wireless access point. This would be the only way to connect iOS device to your classified device and internet at the same time.

Can my iphone app communicate with a connected computer?

Preferably, this would be a computer connected via cable, but if there's a way to do it over wifi then this would also be useful. I'm wondering if it's possible to send messages between them?
Or if i had a mac app and an iPhone app, could I communicate between them over wifi or a usb connection, rather than using a server or something?
Connecting over WiFi is possible, cable connection however isn't possible (certainly not in the documented API) unless the phone is jailbroken.
For wifi you're just going to connect to a TCP/IP host/socket. Have a look at CocoaAsyncSocket. The computer would need to be hosting some sort of server software. This is how iTunes Remote and AirMouse work.
There are some "permitted" (non-cracked phone) ways to send data to the iPhone from a device that's physically plugged in. There are several barcode readers - like the Linēa-pro used in US Apple stores - and magstripe readers for credit cards (e.g., the Macally Quikswipe) that can send limited amounts of data to/from the iPhone.
If your computer is a small embedded device and your data requirements are meager, it may be possible.