Projets-2016-2017-UPnP Cameras integration into OpenHAB/SRS
Version | Date | Authors | Description | Validator | Validation Date | |
---|---|---|---|---|---|---|
0.1.0 | Febuary 4, 2017 | Antoine BLANC, Christopher LAW | UPnP Cameras integration into OpenHAB | TBC | TBC |
1. Introduction
1.1 Purpose of the requirements document
The Software Requirements specification lays out functional and non-functional requirements of cameras integration into OpenHAB.
It defines what the user will be able to do or not to do with the final result of the project.
1.2 Scope of the product
Automatic camera detection with UPnP protocol.
Camera management through the OpenHAB interface.
Remote camera control and display live videos from cameras.
Integration into the open source Eclipse SmartHome project.
Motion detection for cameras.
1.3 Definitions, acronyms and abbreviations
OpenHAB: software for integrating different home automation systems and technologies into one single solution that allows overarching automation rules and that offers uniform user interfaces.
UPnP: Universal Plug and Play (UPnP) is a set of networking protocols that permits networked devices, such as personal computers, printers, Internet gateways, Wi-Fi access points and mobile devices to seamlessly discover each other's presence on the network and establish functional network services for data sharing, communications, and entertainment.
Eclipse SmartHome: Eclipse SmartHome is a framework in order to build end user solutions on top. It allows the integration of different systems, protocols or standards and that provide a uniform way of user interaction and higher level services.
1.4 References
1.5 Overview of the remainder of the document
Following chapters will describe what should be expected from the final result of the project: features, constraints and requirements.
2. General description
2.1 Product perspective
The aim is to integrate this project in Eclipse SmartHome in order to allow people use the implemented functions for their own project using Eclipse SmartHome framework.
2.2 Product functions
The final product allows user to:
- detect UPnP compatible cameras connected to network
- watch live videos from cameras through OpenHAB interface
- control remotely the camera
- use UPnP camera detection with Eclipse SmartHome framework.
- use motion detection on cameras.
2.3 User characteristics
The user might be someone who wants to:
- monitor his house for personnal use
- monitor sensitive areas of a company infrastructure
2.4 General constraints
This project must follow several constraints, many from the last version of the project from last year:
- use last year project to continue ours
- the use of cameras that support UPnP protocol ( a set of 2 DLink cameras)
- remote control features on cameras like a zoom, tilt or pan
- the use of OpenHAB and Eclipse SmartHome
- UPnP detection compatible with any Eclipse SmartHome project
- a dedicated port for OpenHAB which is the port 8080
- network that allows multicast for UPnP protocol
2.5 Assumptions and dependencies
It is assumed that the code from last year project is working and can be adapted.
3.Specific requirements, covering functional, non-functional and interface requirements
3.1 Requirement 1: Automatic detection of UPnP cameras
Function: Cameras connected to network that allows multicast are automatically detected
Description: When cameras are turned on, they are automatically detected through UPnP protocol.
Inputs: Data from UPnP cameras
Source: UPnP compatible cameras
Outputs: List of connected cameras discovered through UPnP protocol
Destination: user using Eclipse SmartHome or OpenHAB
Action: Cameras must be turned on and must be connected to network
Non functional requirements:
- Security: provided data must be safe and used by the user only
Pre-condition:
- Camera compatible with UPnP must be used
- Network must allow multicast
3.2 Requirement 2: Display video streaming from cameras
Function: Detected cameras provide streaming video Description: Once detected, user may see streaming video from cameras in order to monitor an area
Inputs: Streaming video
Source: Detected camera
Outputs: Display of the streaming video
Destination: user who wants to monitor an area, room
Action: User must use OpenHAB interface to see the display of the streaming video from cameras
Non functional requirements:
- Easy of use: the access to the display must be user-friendly
- Security: provided data must be safe and used by the user only
Pre-condition:
- Device with OpenHAB working on it
- Network must be operationnal
3.3 Requirement 3: Remote controlled cameras
Function: Control cameras thorugh openHAB interface Description: Cameras can be controlled remotely with a device with openHAB
Inputs: Control actions
Source: user
Outputs: cameras follows control actions
Destination: user who wants to control their camera
Action: User must use OpenHAB interface to control cameras
Non functional requirements:
- Easy of use: controlling the cameras must be user-friendly
- Security: only the user should be able to control them
Pre-condition:
- Device with OpenHAB working on it
- Network must be operationnal
- camera must support remote control actions
3.4 Requirement 4: motion detection on camera
Function: Camera detects motion
Description: Cameras can detect motion to associate this detection with an action
Inputs: streaming video
Source: camera
Outputs: action taken accordingly to the motion detection
Destination: user who wants to monitor a room or an area
Action: Camera and device associated with it must be turned on
Non functional requirements:
- Security: only the user should be able to operate
Pre-condition:
- Device with OpenHAB working on it
- Network must be operationnal
4. Product evolution
Display streaming video from camera on TV.