I require software that provides a fully comprehensive solution to facilitate audio and visual communication between two rooms. The system will be designed to allow push button audio communication between two rooms and allow for visual inspection of work done in room #2 from room #1 via several pan-tilt-zoom network cameras. The system will also provide the ability to play background music in room #2 from a 3rd party audio device via aux audio input. Room #2 will have several intercom stations and related network cameras. Room #1 will only have 1 intercom station with the ability to view and control all cameras and communicate with all intercom stations in room #2.
I will specify the hardware to be used and pre-engineered hardware diagrams will be provided. You will provide the software that communicates and controls all the hardware over TCP/IP.
Design of logic program and GUI interface.
Produce a solid, snappy and reliable user interface and responsive system.
Provide support of software installation and testing with hardware.
All code MUST be well commented and cleanly indented.
Provide simple instructions for installing server and software onto Linux systems.
Contribute ideas for making the application better and easier to use.
-Contractors are required to take advantage of open source software as much as possible. (Consider [url removed, login to view], node.js, Apache, jQTouch, [url removed, login to view] or other frameworks.)
-The GUI server and logic software must run on Linux.
-Software logic will be written in Python or use the [url removed, login to view] (Java) framework. (Use of Python or Freedomotic is still to be determined and I will decide by contract award date.)
-The GUI will use HTML5 standards and be required to operate in the latest version of the Chrome browser, Safari on iOS and the stock browser on Android 4.0 or later.
See attachment for an example GUI.
-Viewing of live video, control of the PTZ cameras and initiating and responding to microphone audio into room #1 will be controlled and accessed by using a Graphical User Interface (GUI) viewed in a modern Internet browser on a computer or tablet device.
-The GUI will use AJAX to provide live feedback of the intercom state (which microphone is in use), background music volume, and camera control.
-The GUI will group control functions (PTZ, Push-to-talk) into like colors to add clarity and show relationships between controls, use background and foreground color schemes that are complimentary and give visual feedback to pressed buttons.
-The GUI will have the ability to view and control 1 network camera at a time, with the ability to switch to other cameras for viewing and control. (The web page should not reload when switching between cameras.)
-The intercom hardware will be instructed to pipe microphone audio from room #1 to room #2 when a a "talk" button is held, and off when released.
-Microphone audio from the room #2 to room #1 will be initiated by signal from a physical push button. (When microphone audio is initiated by a user, the respondent must wait for the initial user to release the talk button or contact closure before responding)
-Each intercom station will have a corresponding PTZ network camera that can be controlled by a user in room #1. After a period of inactivity the cameras will be told to return to a home PTZ state for recording.
-Users will be able to mute/un-mute background music via physical push buttons.
-Server hardware will be light weight (Zotac mini PC, Raspberry Pi, etc) and discussed as the project progresses.
-The intercom system will be a self-contained, serial or Ethernet controlled sub-system.
-The camera PTZ functions will be controlled via the network cameras API from the GUI in room #1
-Protocols for interfacing with the network cameras, contact closure GPIO and intercom system will be provided.
More details on the intercom system, video system and control hardware to be provided.