We are looking for someone to create a Visual Basic module to control an IP pan tilt zoom (PTZ) camera over ethernet using Pelco D protocol.
This is a standard method of controlling IP cameras in off-the-shelf surveillance software such as LuxRiot (<[url removed, login to view]>)
Our requirement for this module is to enable us to add the control module into our existing VB software so that we can have basic control over a pelcoD-based IP PTZ camera. For example, to send it to a specific position/zoom level, turn the auto focus off or on and have it take a full resolution jpg image that we can save to disk.
We do NOT need to control the camera via serial port (RS-232) or via a serial to USB converter, only over Ethernet.
All visual basic code must be clearly commented and provided to us in its entirety at the end of the project.
If needed, we will provide online access to a VCC-HD5400 Sanyo HD PTZ IP camera.
See specific programming requirements in "advanced options" section below
**Project Requirement Details**
**Connecting to the camera**
We are not familiar with the exact details of how one connects to a PelcoD camera over Ethernet and makes function calls, so the programmer can decide which of the following implementations works best:
To interface with the camera, the VB module will either:
(1) Instantiate an instance either of the camera control module using the camera IP when it is first called. In this case we must be able to restart/reset the camera connection or create a new camera connection at run time (i.e. not just when the program initially loads)
(2) For any function call the user will pass the camera IP address to access the camera, then the module will open the connection to interface with the camera for that function call
All function must work quickly - i.e. any speed limitations for the required functions must be a result of camera limitation, not slow code functionality due to poor programming or insufficient programming skill at the interfacing with the camera.
Method 1, above is preferred.
*All function calls must provide an indication of when they are completed (i.e. camera is in position or zoom is complete, etc). If there is an error, the function must time out (global timeout time setting is fine) and return a human-readable error message
GetPosition Returns Camera X,Y
Set Position(X,Y) Sets camera XY position. Must provide indication when camera is in position.
GetZoom Returns current zoom of camera
SetZoom(zoom value) Sets current zoom of camera
GetFocusStatusOffOn Returns if camera is set to manual or auto focus
SetFocusStatusOffOn Sets camera focus off or on
GetFocusValue Returns current focus values
SetFocusValue(value) Sets camera focus value (This will be used for focal stacking)
GetAutoFocusSuccess Returns True/False if camera was able to focus when taking picture
CaptureJPG(bitmap object,resolution) Returns a bitmap with the current file at the requested resolution
GetJPGResoution(value) Get current resolution for captured images
SetJPGResoution(value) Sets resolution for captured images
GetAvailableJPGResolutions Returns available resolutions for captured images
GetAvailableStreamResolutions Returns available resolutions for video streams
**Error tracking **
* Return errors for all above function call and any other common errors and provide a lookup table for converting error codes into user-readable information on what the error is
* * *This broadcast message was sent to all bidders on Tuesday May 3, 2011 1:04:58 PM:
Hi, Thanks for your interest in our project. Do you have experience with Pelco D protocol? Thanks
* * *This broadcast message was sent to all bidders on Monday May 16, 2011 6:45:28 PM:
Hi, We are still looking for someone with specific experience programming for security cameras. We have extended the bidding until Thursday May 19. Please respond with specific information/examples as to your qualifications in this regard. Thanks Tim