Projets-2016-2017-UPnP Cameras integration into OpenHAB/SRS

From air
Jump to navigation Jump to search
Document History
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


  • 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


  • 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


  • 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


  • Device with OpenHAB working on it
  • Network must be operationnal

4. Product evolution

Display streaming video from camera on TV.

The system has 2 cameras. The image flow is visible on an html page.

It would be necessary to adapt the viewing for several cameras. Have a user interface that allows you to see all the cameras and control them easily.

Must be able to operate on computer or mobile phone.