Difference between revisions of "Proj-2015-2016-Intégration de caméra de surveillance UPnP à Openhab/SRS"

From air
Jump to navigation Jump to search
 
(19 intermediate revisions by 2 users not shown)
Line 20: Line 20:
 
!scope="row" |
 
!scope="row" |
 
| 0.1.0
 
| 0.1.0
  +
| April the 6th, 2016
| TBC
 
  +
| Bruel Anna, Medewou Cenyo, Ndiaye Yacine
| TBC
 
  +
| Integration UPnP camera in OpenHab interface
| TBC
 
  +
| Didier Donsez
| TBC
 
  +
| April the 6th, 2016
| TBC
 
   
 
|}
 
|}
Line 33: Line 33:
 
==1.1 Purpose of the requirements document==
 
==1.1 Purpose of the requirements document==
   
  +
*It is our contract
*C'est norte contrat
 
  +
*The SRS document defines the objectives and the functional requirements and non functional requirements that can permit to achieve our ultimate goal which is to fully integrate a control interface of the UpNP cameras ...
*Il définit les objectifs et les exeigences fonctionnelles et non fonctionnelles qui permettent d'atteindre le but final qui est d'intégrer sur OpenHab ...
 
   
 
==1.2 Scope of the product==
 
==1.2 Scope of the product==
   
  +
By means of the OpenHab interface, we would like to add a camera management function that is not present inside OpenHab.
A partir de l'interface de base d'OpenHab, on veut ajouter les fonctions_caméra non présentes dans OpenHab en utilisant UPnP et ainsi, fournie en sortie un flux vidéo dans l'interface de contrôle
 
  +
  +
Therefore, OpenHab will be able to show a streaming video of the cameras and also controlling options if there are any ones.
   
 
==1.3 Definitions, acronyms and abbreviations==
 
==1.3 Definitions, acronyms and abbreviations==
   
  +
*UPnP = Universal Plug and Play : 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.
*UPnP =
 
  +
*iPojo =
 
  +
*iPOJO = A service component runtime aiming to simplify OSGi application development. It natively supports ALL the dynamism of OSGi. Based on the concept of POJO, application logic is developed easily. Non-functional properties are just injected in the component at runtime.
*OpenHab =
 
  +
*Felix-Apache =
 
  +
*OpenHab = is an Open Source project that aims to allow control of equipements in a netwok by catching events. it also offers a nice user interface which is easy to configure.
  +
  +
*OpenHab2= this is an improvement of the OpenHab that offers more features.
  +
  +
*Felix-Apache Framework = is an open source implementation of the OSGi Release 5 core framework specification.
  +
  +
*Eclipse Smarthome = is a platform that 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.4 References==
  +
* http://www.eclipse.org/smarthome/documentation/index.html
  +
* http://www.openhab.org/
  +
* http://felix.apache.org/documentation/subprojects/apache-felix-osgi-bundle-repository.html
  +
* https://github.com/openhab/openhab2-addons
  +
* http://eclipse-jetty.github.io/getting_started.html
  +
* https://github.com/eclipse/smarthome
  +
  +
  +
* http://kaikreuzer.blogspot.fr/2014/06/openhab-20-and-eclipse-smarthome.html
  +
* https://github.com/openhab/openhab/wiki/Foscam-IP-Cameras
  +
* https://community.openhab.org/t/security-camera-recommendations/3616
  +
* https://community.openhab.org/t/security-cam-recommendation/2036
  +
* https://community.openhab.org/t/binding-to-integrate-with-imagery-generated-by-motion-detection-cctv/2985
  +
* https://groups.google.com/forum/#!topic/openhab/eag6cUqRTaU
  +
  +
  +
* https://github.com/eclipse/smarthome/tree/master/extensions/binding/org.eclipse.smarthome.binding.sonos
  +
* https://github.com/eclipse/smarthome/tree/master/extensions/binding/org.eclipse.smarthome.binding.fsinternetradio
  +
* https://github.com/eclipse/smarthome/tree/master/extensions/binding/org.eclipse.smarthome.binding.yahooweather
  +
  +
* https://www.ispyconnect.com/man.aspx?n=D-Link
   
 
==1.5 Overview of the remainder of the document==
 
==1.5 Overview of the remainder of the document==
   
  +
In the rest of the document, we will describe our objectives, the way the system is supposed to work and the constraints the project implies.
Grâce au protocole UPnP, on peut détecter toutes les caméras de surveillance présente sur un réseau.
 
*détection des caméras présentes dans un réseau
 
*Intégration ds caméras découvertes sur OpenHab
 
**liste des caméras découvertes
 
**liste des caméras détectés
 
**si sélection d'une caméra spécifiques -> affichage d'un flux vidéo
 
** prise en compte de l'affichage de toutes les caméras en mosaïque.
 
   
 
=2. General description=
 
=2. General description=
  +
This project aims to integrate a new feature to the openhab framework, to be able to manage cameras in the network by detecting them with the Upnp protocol.
   
 
==2.1 Product perspective==
 
==2.1 Product perspective==
   
*entrée = caméras
+
*Input = Cameras
  +
*output = Cameras videos stream
*sortie = flux vidéo sur OpenHab
 
   
 
==2.2 Product functions==
 
==2.2 Product functions==
   
  +
* Detection of all the cameras in the network
*détection de caméras
 
  +
* view the video stream in openHab interface
*affichage d'un flux vidéo
 
  +
* show the a mosaic when there is more than one camera
*affichage d'une mosaique
 
   
 
==2.3 User characteristics==
 
==2.3 User characteristics==
  +
This can be used by all users that wants to do some surveillance of his house or an infrastructure.
 
Pour tous utilisateurs lambda qui veut surveiller un endroit et sait utiliser OpenHab
 
   
 
==2.4 General constraints==
 
==2.4 General constraints==
   
  +
*material constraints
*Contrainte matérielle
 
  +
Cameras that support the Upnp protocol
On a besoin de caméra supportant UPnP
 
**Contrainte zoom/tilt/pan/motion
 
Caméra adaptée pour le zoom/tilt/pan.
 
   
*Contrainte logicielle
 
On a besoin d'OpenHab fonctionnel
 
**Contrainte Openhab
 
java, port 8080 libre...
 
   
  +
*Constraints zoom/tilt/pan/motion
*Contrainte réseau
 
  +
Cameras that support zoom/tilt/pan.
Connexion des caméras sur un réseau.
 
  +
  +
*Software constraints
  +
We need the OpenHab Framework
  +
  +
*Openhab constraints
  +
Openhab uses the port 8080. this port has to be dedicated to it.
  +
  +
*Network constraints
  +
the Network has to allow multicast because Upnp protocol relies on it.
   
 
==2.5 Assumptions and dependencies==
 
==2.5 Assumptions and dependencies==
dépendance = OpenHab
+
dependance = OpenHab
   
 
=3.Specific requirements, covering functional, non-functional and interface requirements=
 
=3.Specific requirements, covering functional, non-functional and interface requirements=
Line 103: Line 130:
 
==3.1 Requirement X.Y.Z (in Structured Natural Language)==
 
==3.1 Requirement X.Y.Z (in Structured Natural Language)==
   
'''Function''': dététecter et ajout d'une fonction caméra sur OpenHab
+
'''Function''': detect a camera and add the video stream, the monitoring options on the OpenHab Interface
   
  +
'''Description''': When the UPnP cameras are started, they are automatically detected, and the user can select the camera he wants to to visualize on the Openhab UI. The user must check before in the camera propertie file if the name of his camera is registered in the file. If not, the user must add the camera references, following this syntax :
'''Description''':
 
  +
model|video_url|image_url|pan_url|tilt_url and put null if a field is missing.
   
'''Inputs''': images de la caméra
+
'''Inputs''': IP address, name and information about a camera
   
'''Source''': caméras
+
'''Source''': UPNP camera
   
'''Outputs''': flux vidéo sur OpenHab
+
'''Outputs''': Video stream of a camera and monitoring options on the OpenHab interface
   
'''Destination''': tous les utilisateurs d'openHab
+
'''Destination''': OpenHab / Eclipse Smarthome user
   
'''Action''': détection, ajout de la caméra. Ajout des fonction zoom/tilt/pan.
+
'''Action''': detect and add cameras on the OpenHab interface. Add tilt and pan functions if the camera support it.
   
 
* Natural language sentences (with MUST, MAY, SHALL)
 
* Natural language sentences (with MUST, MAY, SHALL)
  +
* Graphical Notations : UML Sequence w/o collaboration diagrams, Process maps, Task Analysis (HTA, CTT)
 
  +
The user must turn on the camera.
* Mathematical Notations
 
  +
When launching OpenHab, the camera shall appear on the list of the discovered cameras.
* Tabular notations for several (condition --> action) tuples
 
  +
Once the user select the camera, the video stream must be displayed on the monitor.
  +
The interface should allows the user to pan and tilt the camera, if it has these features.
  +
  +
  +
* Graphical Notations : [[Proj-Openhab/UML|'''UML''']]
  +
  +
Check out with the link below:
  +
http://air.imag.fr/index.php/Proj-Openhab/UML
   
 
'''Non functional requirements''':
 
'''Non functional requirements''':
  +
*Portability Exigence
*Exigence Portabilité
 
  +
The new software must work on OpenHab.
Le programme doit marcher sur n'importe quelle distribution et support (téléphone portable)
 
  +
  +
*Product Exigence
   
  +
The cameras that we would like to discover have to support the UPnP protocol.
*Exigence Produit
 
Utilisation d'OpenHab, et UPnP (protocole surveillance)
 
   
  +
The user needs to have a functionnal OpenHab 2 distribution.
'''Pre-condition''':
 
   
  +
*Robutness Exigence
'''Post-condition''':
 
   
  +
We should be able to detect several cameras and show the video stream correctly.
'''Side-effects''':
 
   
 
=4. Product evolution=
 
=4. Product evolution=
   
  +
We can extend the project and integrate it in myOpenHab.
=5. Appendices=
 
  +
Display the video stream on tv lab
=6. Index=
 

Latest revision as of 20:14, 5 April 2016

The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.


Read first:

Document History
Version Date Authors Description Validator Validation Date
0.1.0 April the 6th, 2016 Bruel Anna, Medewou Cenyo, Ndiaye Yacine Integration UPnP camera in OpenHab interface Didier Donsez April the 6th, 2016


1. Introduction

1.1 Purpose of the requirements document

  • It is our contract
  • The SRS document defines the objectives and the functional requirements and non functional requirements that can permit to achieve our ultimate goal which is to fully integrate a control interface of the UpNP cameras ...

1.2 Scope of the product

By means of the OpenHab interface, we would like to add a camera management function that is not present inside OpenHab.

Therefore, OpenHab will be able to show a streaming video of the cameras and also controlling options if there are any ones.

1.3 Definitions, acronyms and abbreviations

  • UPnP = Universal Plug and Play : 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.
  • iPOJO = A service component runtime aiming to simplify OSGi application development. It natively supports ALL the dynamism of OSGi. Based on the concept of POJO, application logic is developed easily. Non-functional properties are just injected in the component at runtime.
  • OpenHab = is an Open Source project that aims to allow control of equipements in a netwok by catching events. it also offers a nice user interface which is easy to configure.
  • OpenHab2= this is an improvement of the OpenHab that offers more features.
  • Felix-Apache Framework = is an open source implementation of the OSGi Release 5 core framework specification.
  • Eclipse Smarthome = is a platform that 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

In the rest of the document, we will describe our objectives, the way the system is supposed to work and the constraints the project implies.

2. General description

      This project aims to integrate a new feature to the openhab framework, to be able to manage cameras in the network by detecting them with the Upnp protocol.

2.1 Product perspective

  • Input = Cameras
  • output = Cameras videos stream

2.2 Product functions

  • Detection of all the cameras in the network
  • view the video stream in openHab interface
  • show the a mosaic when there is more than one camera

2.3 User characteristics

This can be used by all users that wants to do some surveillance of his house or an infrastructure.

2.4 General constraints

  • material constraints
 Cameras that support the Upnp protocol


  • Constraints zoom/tilt/pan/motion
 Cameras that support zoom/tilt/pan.
  • Software constraints
 We need the OpenHab Framework
  • Openhab constraints
 Openhab uses the port 8080. this port has to be dedicated to it.
  • Network constraints
 the Network has to allow multicast because Upnp protocol relies on it.

2.5 Assumptions and dependencies

dependance = OpenHab

3.Specific requirements, covering functional, non-functional and interface requirements

  • document external interfaces,
  • describe system functionality and performance
  • specify logical database requirements,
  • design constraints,
  • emergent system properties and quality characteristics.

3.1 Requirement X.Y.Z (in Structured Natural Language)

Function: detect a camera and add the video stream, the monitoring options on the OpenHab Interface

Description: When the UPnP cameras are started, they are automatically detected, and the user can select the camera he wants to to visualize on the Openhab UI. The user must check before in the camera propertie file if the name of his camera is registered in the file. If not, the user must add the camera references, following this syntax : model|video_url|image_url|pan_url|tilt_url and put null if a field is missing.

Inputs: IP address, name and information about a camera

Source: UPNP camera

Outputs: Video stream of a camera and monitoring options on the OpenHab interface

Destination: OpenHab / Eclipse Smarthome user

Action: detect and add cameras on the OpenHab interface. Add tilt and pan functions if the camera support it.

  • Natural language sentences (with MUST, MAY, SHALL)

The user must turn on the camera. When launching OpenHab, the camera shall appear on the list of the discovered cameras. Once the user select the camera, the video stream must be displayed on the monitor. The interface should allows the user to pan and tilt the camera, if it has these features.


  • Graphical Notations : UML

Check out with the link below: http://air.imag.fr/index.php/Proj-Openhab/UML

Non functional requirements:

  • Portability Exigence

The new software must work on OpenHab.

  • Product Exigence

The cameras that we would like to discover have to support the UPnP protocol.

The user needs to have a functionnal OpenHab 2 distribution.

  • Robutness Exigence

We should be able to detect several cameras and show the video stream correctly.

4. Product evolution

We can extend the project and integrate it in myOpenHab. Display the video stream on tv lab