Project 2014-2015-CannonBall/developer guide

= Preambule =

Configuration & Installation from our github repository
Setting up the project


 * 1) Download the project from our Github repository Github
 * 2) Download and install Visual Studio (we used the 2013 version)
 * 3) Launch CanonBall\QRCode\QRcode (or QRcode.vcxproj) with a double click
 * 4) Add this environment variable (Please refer to your OS documentation for any further indications). If you use Windows : Right click on Computer -> Properties -> Advanced properties -> Environment variables -> Add
 * 5) * Name : PATH  and its value :		PATH_TO_YOUR_PROJECT\QRcode\dll\mosquitto; PATH_TO_YOUR_PROJECT\QRcode\dll\opencv\build\x86\v12\bin

Configuration & Installation from Ensimag github repository
Setting up the project

opencv_calib3d249d.lib opencv_contrib249d.lib opencv_core249d.lib opencv_features2d249d.lib opencv_flann249d.lib opencv_gpu249d.lib opencv_highgui249d.lib opencv_imgproc249d.lib opencv_legacy249d.lib opencv_ml249d.lib opencv_nonfree249d.lib opencv_objdetect249d.lib opencv_ocl249d.lib opencv_photo249d.lib opencv_stitching249d.lib opencv_superres249d.lib opencv_ts249d.lib opencv_video249d.lib opencv_videostab249d.lib mosquittopp.lib mosquitto.lib
 * 1) Download the project from our Github repository Github
 * 2) Download and install Visual Studio (we used the 2013 version)
 * 3) Launch CanonBall\QRCode\QRcode.vcxproj with a double click
 * 4) Adding the includes
 * 5) * Add these 3 environment variables (Please refer to your OS documentation for any further indications). If you use Windows : Right click on Computer -> Properties -> Advanced properties -> Environment variables -> Add
 * 6) ** CANNON_BALL 	       path_to_your_cannon_ball_project
 * 7) ** PATH 			$(CANNON_BALL)\QRcode\dll\mosquitto
 * 8) ** PATH 			$(CANNON_BALL)\QRcode\dll\opencv\build\x86\v12\bin
 * 9) * In Visual Studio :
 * 10) ** Add the include path : Right click on CannonBall project (Solution Explorer panel) -> Properties -> C/C++ -> Additional Include Directories : $(CANNON_BALL)\QRcode\include\opencv;$(CANNON_BALL)\QRcode\include
 * 11) ** Add the include path : Right click on CannonBall project (Solution Explorer panel) -> Properties -> C/C++ -> Additional #using Directories : C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1\ExtensionSDKs\Microsoft.VCLibs\12.0\References\CommonConfiguration\neutral;C:\Program Files (x86)\Windows Kits\8.1\References\CommonConfiguration\Neutral. Please ensure that the path to Windows.pltfiurmd and windows.h is correct through windows explorer
 * 12) ** Add the include path : Right click on CannonBall project (Solution Explorer panel) -> Properties -> Linker -> General -> Additional Library Directories : $(CANNON_BALL)\QRcode\lib\opencv;$(CANNON_BALL)\QRcode\lib
 * 13) ** Add the include path : Right click on CannonBall project (Solution Explorer panel) -> Properties -> Linker -> Input -> Additional Dependencies :

Règles d'utilisations : --

Aller dans le dossier Mosquitto/subscribe/ et lancer en ligne de commande le script Launch.bat qui se charge de lancer les processus : MongoDB (pour la BD), Moquitto Broker (pour la diffusion des messages), Server (pour la visualisation des données sur l'adresse localhost:1337)

Puis lancer le programme main :
 * à travers VS2013 : faite un CRTL-F5 qui est un raccourci pour la compilation et le lancement du programme
 * en ligne de commande : CannonBall.exe 

Logiciel utilitaires conseillés : --


 * CygWin ( optionnal : pour ceux qui sont familier avec un environnement linux, un peu long à installer sans oublier les modules tels que git, ...)
 * Notepadd++ (optionnal)
 * Visual Studio 2013
 * Git (version 1.9.5 bref la plus récente)
 * Nodejs (v0.10.36) + mongodb + mosquitto (broker) sont fournis dans le dossier Mosquitto/subscriber/ mais si ces executable se sont pas compatible avec votre architecture ou version windows je vous laisse télécharger celle qui conviendra, l'installer et récupérer les différents exécutables de C:\Program File\...

Foire aux bugs courants : -

IMPORTANT : un changement d'une variable d'environnement système tel que la variable "PATH" vers les .dll peut nécessiter un redémarrage, car il est chargé au démarrage du système.


 * Au lancement du programme si une fenêtre de selection de webcam apparaît, cela est lié au fait que opencv ne s'adresse pas directement à la bonne caméra. Il faut aller dans le fichier main_config.xml et modifier la valeur de l'attribut video_capurer="0" (de la balise ). Essayer toutes les combinaisons de 0 à 9.


 * Au lancement du programme si une erreur apparait c'est très certainement dû à un problème de path vers les fichiers .dll. Revérifier que la variable d'environnement Path (système et NON user) contient le chemin vers ...\dll\mosquitto et ...\dll\opencv...


 * Si la fenêtre (de nom : in) de la camera se fige c'est qu'il y a eu une erreur dans la vérification des instructions envoyées à la carte Arduino.
 * Si La led L (sur la carte Arduino est allumé) est allumée c'est que l'arduino est passée en état d'urgence (faute de n'avoir reçu de données de la tablette en un temps imparti). Relancer le programme main pour la faire sortir de cet état.