The Connection

The camera has to be connected to the Host computer. Upon opening the camera, the CameraSDK fetches all the properties of the camera, including the profile and firmware version of the camera.

Only one host connection per camera

Only one CameraSDK can be connected to a camera at a time, and only through either USB or TCP/IP – not both. However, multiple cameras can be connected to the same CameraSDK.

Protocol – the IQP

All connections, regardless of the connection-type, use the IQ protocol (IQP). The IQP is a Phase One proprietary protocol. The camera can be connected to the CameraSDK using USB or TCP/IP. When the connection has been established, there is no difference between each of the connection types.

Connection Types & Discoverability

You can inquire the CameraSDK to get a list of connected cameras. This includes only USB connected cameras. Cameras that are connected via TCP/IP, must be accessed through their IP address. To help finding the IP address of cameras, they support the Bonjour service discovery protocol. However, utilizing Bonjour is not part of the CameraSDK. You must use third-party tools like dns-sd or Avahi.

If you know the IP address beforehand, you can connect directly to the camera through the CameraSDK without the need for any discovery.

It is possible to subscribe to notifications about when USB cameras are detected and when they disappear (SdkEvents).

Passcode

A camera can have a passcode enabled, to ensure only entities with the correct passcode can connect to the camera. If enabled, the camera will require the correct passcode to successfully establish a connection, when it is opened. The CameraSDK provides an option of specifying the passcode.