Projets-2016-2017-UPnP Cameras integration into OpenHAB

= Team =


 * Supervisor: Didier Donsez


 * Members: Antoine Blanc, Christopher Law


 * Department: RICM 4, Polytech Grenoble

= Calendar =


 * Start of the project : January 9th, 2017.

= Git repository =

repository with UPnP Camera binding

Week 1 (January 9th - January 15th)

 * Project choice: UPnP Cameras integration into OpenHAB
 * Read resources from last year project: UPnP camera detection
 * Understand what is UPnP: Universal Plug and Play
 * Retrieve cameras from the lab for the project

Week 2 (January 16th - January 22nd)

 * Installation of OpenHAB2
 * Read documentation on OpenHAB2 and binding implementation
 * Read documentation on Eclipse SmartHome: implementing a Binding, implementing a discovery service
 * Meet team from last year project

Week 3 (January 23th - January 29th)
DCS-5222L: (A version): Windows user and Mac user DCS-932L: (A version): Windows user and Mac user The network must allow multicast. An Ethernet cable is needed for the first steps of the configuration. Reset cameras when using them for the first time in order to set a password.
 * Installation of Kodi and Apache Felix
 * First try of UPnP protocol
 * Connect cameras to local network: D-Link cameras can only be configured with a computer running on Windows or Mac and not Linux because of the software provided by D-Link. However, there is still a solution for Linux user by using wine.
 * Cameras used in the project have to be configured with the following software:
 * Detection of other devices through UPnP with Felix and Kodi: repository

Week 4 (January 30th - February 5th)

 * Using openHAB2 through the Karaf console can be time consuming with the exportation of bindings and find the different commands to install and activate them. Therefore, we decided to install and run openHAB from Eclipse IDE.
 * Set up of Eclipse IDE for Eclipse SmartHome developments and openHAB2 addons

Week 5 (February 6th - February 12th)

 * Installation of UPnP binding in OpenHAB
 * Detection of camera through OpenHAB interface with UPnP protocol
 * modification of sitemaps in openHAB

Week 6 (February 13th - February 19th)

 * Retrieve documentations of our cameras, the different queries to control our cameras and retrieve information
 * Commands to control D-link camera DCS-5222L
 * Some commands to retrieve data from cameras This documentation is not specific to the cameras we have, thus several commands does not work
 * Read documentations on how to contribute to openHAB
 * Start of a clean creation of UPnP camera discovery binding in order to make a pull request to openHAB
 * GitHub repository of openHAB2 addons
 * Contributing to the Development of openHAB - official documentation
 * Developing a Binding for openHAB2 - official documentation
 * Getting started with Binding Development - Youtube video
 * Find documentations on motion tracking

Week 7 (February 20th - February 26th)
--

Week 8 (February 27th - March 5nd)

 * Continue the clean creation of the binding
 * Coding guidelines
 * Fix errors and typos on the binding
 * Find documentations on motion tracking

Week 9 (March 6th - March 12th)

 * Creation of a new branch upnpcamera.
 * Started implementation of motion detection with openCV and Java. Some problems with the installation of openCV.

Week 10 (March 13th - March 19th)

 * Improved motion detection algorithm.
 * Implementation of the new binding.

Week 11 (March 20th - March 26th)

 * Matched motion detection with camera tracking.
 * Modification on the new binding.
 * Made tests to control camera and motion detection.

Week 12 (March 27th - April 2nd)

 * New branch created to fit the new binding name DlinkUpnpCamera
 * Started pull request: Pull request link
 * Wrote report and presentation slides