Home

GLAP-Box v3 : Manuel d`utilisation et test des

image

Contents

1. et ici http codeanticode wordpress com 2011 05 16 gsvideo 09 release d claration objets PGraphics pg objet PGraphics pour cr er une fen tre Processing offscreen GSCapture cam d clare un objet GSCapture repr sentant une webcam PFont font Pimage img String homePath System getProperty user home d finit le chemin utilisateur home user String cheminRep homePath Bureau trans capturelmagesHighSpeed _ year _ month _ day _ hour _ minute _ second chemin absolu du r pertoire d enregistrement d claration variables globales l d claration des variables de couleur utiles int jaune color 255 255 0 int vert color 0 255 0 int rouge color 255 0 0 int bleu color 0 0 255 int noir color 0 0 0 int blanc color 255 255 255 int bleuclair color 0 255 255 int violet color 255 0 255 int widthCapture 320 largeur de la capture int heightCapture 240 hauteur de la capture int fpsCapture 100 fr quence de capture boolean flagRecord false drapeau pour activation enregistrement true pour actif et false pour inactif boolean debug true true si message debogage false sinon long millisORecord 1 long millisOLastImage 1 int comptFrame 0 String comptString 11 XXXXXXXXXXXXXXXXXXXXXX Fonction SETUP XXXXXXXXXXXXXXXXXXXXXX void setup fonction d initialisation ex cut e 1 fois au d marrage pg cre
2. text mon texte 50 50 Initialisation Objets GSVideo capture et ou lecture video GSCapture this int requestWidth int requestHeight int frameRate String sourceName String cameraName cam new GSCapture this widthCapture heightCapture v4l2src dev video0 fpsCapture Initialise objet GSCapture d signant webcam largeur et hauteur doivent tre compatible avec la webcam typiquement 160x120 ou 320x240 ou 640x480 cam start d marre objet GSCapture la webcam version GSVideo apr s 0 9 fin fonction Setup 11 XXXXXXXXXXXXXXXXXXXXXX Fonction Draw XXXXXXXXXXXXXXXXXXXX void draw fonction ex cut e en boucle Code type capture GSVideo pr f rer utilisation de captureEvent if cam available true si une nouvelle frame est disponible cam read acquisition d un frame pg image cam 0 0 affiche image ici enregistre image en m moire pas d affichage r el pour ne pas perdre de temps set 0 0 cam plus rapide img cam get r cup re l image GS video dans Pimage si l enregistrement est activ if flagRecord true pg beginDraw debut de draw PGraphic trace cercle rouge dans coin sup droit pg fill rouge pg stroke rouge pg ellipse widthCapture 30 30 20 20 pg fill jaune pg text millis millisORecord ms millis millisOLastImage ms ENE 1000
3. toutes ces formes sont possibles opencv drawCentroidBlobs blobsArray trace le centre des Blob avec les param tres par d faut opencv drawCentroidBlobs blobsArray opencv width opencv height 1 trace le centre des Blob en se basant sur point r f rence chelle et avec les param tres par d faut opencv drawCentroidBlobs blobsArray opencv width opencv height 1 10 trace le centre des Blob en se basant sur point r f rence chelle radius et avec les param tres par d faut opencv drawCentroidBlobs blobsArray opencv width opencv height 1 5 color 0 0 255 1 false 0 trace le centre des Blob en fonction param tres printlin Dur e traitement image par OpenCV millis millis0 ms affiche image finale image opencv getBuffer widthCapture 0 affiche le buffer principal OpenCV dans la fen tre Processing fin if available fin draw Vous devriez obtenir quelque chose qui ressemble Ce programme fait 2 choses en fait e filtrage colorim trique d une part pour isoler la couleur voulue e filtrage g om trique des formes de fa on isoler la forme ronde Coupl une carte Arduino ces fonctions de suivi d objet color s permettront d obtenir des mouvements de tracking d objet par une webcam ou un robot ou encore d assurer la d tection de la position d un objet prendre avec un bras robotis servomoteur
4. fonction d arr t de Processing camli delete efface l objet GScapture super stop obligatoire fin fonction stop XXXXXXXXXXXXXXXXXX Fin du programme XXXXXXXXXXXXXXXXX Fonctionnement principe d utilisation Le programme utilise e l appui sur la touche e pour lancer l enregistrement Un rond rouge s affiche sur l cran e l appui sur la touche s pour stopper l enregistrement Le fichier pourra ensuite tre lu en l ouvrant directement dans le r pertoire d enregistrement Test de la capture d images haute vitesse vitesse de capture plus de 30fps et jusqu 120 fps Mat riel N cessite une webcam capture rapide sup rieure 30 fps connect e la GLAP Box Je recommande notamment la webcam Eye PS3 qui fonctionne out of the box avec la GLAP Box et permet des captures jusqu 125 fps Explications L int r t est e soit de visualiser des mouvements rapides e soit d obtenir des captures nettes d objets rapides Le probl me de telles vitesses de capture est que le d lai entre 2 images est seulement de 10ms Il faut d s lors stocker les images en m moire et ne les enregistrer que lorsque la capture est termin e Attention 10 secondes 1000 images Le test Ouvrir Processing sur la GLAP Box Copier coller le code suivant Programme processing g n r avec le g n rateur de code Processing du site www mon club elec fr par X
5. l Fonction de gestion des v nements s rie void serialEvent Serial myPort fonction appel e lors de la survenue d un v nement s rie 11 SS X 4 Gestion de la valeur re ue sur le port s rie 4 44 String inString myPort readStringUntil n chaine stockant la cha ne re ue sur le port S rie saut de ligne en marque de fin if inString null si la chaine recue n est pas vide print inString affichage brut de la chaine recue fin condition chaine recue pas vide fin de la fonction de gestion des v nements S rie Gestion des v nements des objets GUI controlP5 l fonction gestion globale des v nements GUI controlP5 public void controlEvent ControlEvent theEvent printlin the Event controller name affiche le nom de l v nement evenement bouton envoi chaine void envoiButton int theValue fonction v nement Button de meme nom re oit la valeur printlin Ev nement envoiButton myPort write chaineText getText n envoie la chaine suivi saut ligne sur le port S rie print Envoi de la chaine print chaineText getText n chaineText setValue vide le champ texte fin ev nement bouton envoi 11 gestion v nement Textfield evenement champ texte chemin fichier public void chaineText String theText fonction v nement Textfield de meme nom d clench pa
6. r y dev ttyACMO tx chaine de test Send Reponse Arduino Chaine recue chaine de test M Autoscroll Newline pen 115200 baud x e Une fois que vous tes s r que marche bien fermer la fen tre Terminal Ne pas oublier de le faire Sinon le port s rie de la carte Arduino est d j occup et Processing ne pourra pas s y connecter Le test c t Processing Ouvrir Processing sur la GLAP Box Copier coller le code suivant Programme processing g n r avec le g n rateur de code Processing ww mon club elec fr par X HINAULT F vrier 2011 tous droits r serv s 1111 11 7 Description du programme Utilise un des objets String cha ne de caract re Utilise le port Serie Utilise la librairie GUI controlP5 Utilise un des bouton s simple s Button Utilise un des champ s texte Textfield Ajoute un bouton et un champ pour chemin fichier 1 Envoie vers Arduino une cha ne saisie dans un champ texte Re oit la chaine renvoy e par Arduino et l affiche dans la console En 7 XXXXXXXXXXXXXXXXXXXXXX ENTETE DECLARATIVE XXXXXXXXXXXXXXXXXXXXXX inclusion des librairies utilis es import processing serial importe la librairie s rie processing import controlP5 importe la librairie GUI controlPs cette librairie doit tre pr sente dans le r pertoire libraries du r pertoire Processing voi
7. fixe la couleur active envoiButton setColorForeground color 0 255 255 fixe couleur avant Initialisation Objets Textfield champ texte saisie chaine chaineText controlP5 addTextfield cheminText 10 height 40 300 20 initialise et ajoute un Textfield au ControlPs chaineText setAutoClear false autoeffacement apr s return chaineText setValue chaineEnvoi initialise Texte du champ chaineText setLabelVisible true affichage des labels chaineText setLabel CHEMIN fixe label chaineText setColorActive color 255 0 0 fixe la couleur active chaineText setColorForeground color 0 255 255 fixe couleur avant fin fonction Setup 11 XXXXXXXXXXXXXXXXXXXXXX Fonction Draw XXXXXXXXXXXXXXXXXXXX void draw fonction ex cut e en boucle fl Code pour port s rie 1 myPort write H envoie le caract re sur le port S rie myPort write chaine n envoie la chaine suivi saut ligne sur le port S rie Acc s la valeur des objets GUI controlPs5 acc s la valeur courante du Button println Valeur Button b1 value delay 100 acc s la valeur courante du Textfield println Valeur Textfield tf1 value println Texte Textfield tf1 getText delay 100 while true stoppe boucle draw fin de la fonction draw XXXXXXXXXXXXXXXXXXXXXX Autres Fonctions XXXXXXXXXXXXXXXXXXXXXX
8. hauteur capture plus la taille est grande et plus le fichier vid o sera gros int fpsCapture 20 framerate image secondes pour la capture video v rifier au pr alablable dans Guvcview que le framerate courant de la webcam est r gl sur la m me valeur plus le framerate est lev et plus le fichier vid o sera gros boolean flagRecord false drapeau pour activation enregistrement true pour actif et false pour inactif boolean debug true true si message debogage false sinon XXXXXXXXXXXXXXXXXXXXXX Fonction SETUP XXXXXXXXXXXXXXXXXXXXXX void setup fonction d initialisation ex cut e 1 fois au d marrage initialisation param tres graphiques utilis s colorMode RGB 255 255 255 fixe format couleur R G B pour fill stroke etc fill 0 0 255 couleur remplissage RGB noFill si pas de remplissage stroke 0 0 0 couleur pourtour RGB noStroke si pas de pourtour rectMode CORNER origine rectangle CORNER coin sup gauche CENTER centre imageMode CORNER origine image CORNER coin sup gauche CENTER centre ellipseMode CENTER origine cercles ellipses CENTER centre autres RADIUS CORNERS CORNER strokeWeight 0 largeur pourtour frameRate fpsCapture Images par seconde The default rate is 60 frames per second initialisation fen tre de base size widthCapture heightCapture ouvre une fen tre xpixels x ypixels b
9. size 400 130 ouvre une fen tre xpixels x ypixels background 0 0 0 couleur fond fenetre initialisation des objets et fonctionnalit s utilis es fl initialisation port s rie printin Serial list affiche dans la console la liste des ports s ries V rifier que le num ro du port s rie utilis est le meme que celui utilis avec Serial list index myPort new Serial this Serial list 0 115200 Initialise une nouvelle instance du port S rie myPort new Serial this dev ttyUSB0 115200 Initialise une nouvelle instance du port S rie myPort bufferUntil n attendre arriv e d un saut de ligne pour g n rer v nement s rie Initialisation Objets GUI ControlP5s controlP5 new ControlP5 this initialise l objet principal de la librairie GUI controlPs typeObjet nomObjet controlP5 add0bjet param tres pour info d claration initialisation possible en 1 ligne Textfield field controlP5 addTextfield myWindowTextfield 70 130 100 20 exemple Initialisation Objets Button le bouton envoi chaine envoiButton controlP5 addButton envoiButton 0 width 60 height 40 50 24 initialise et ajoute un Button au ControlP5 envoiButton setLabelVisible true affichage des labels envoiButton setLabel ENVOI fixe label du bouton envoiButton setColorActive color 255 0 0
10. 0 affiche le buffer principal OpenCV dans la fen tre Processing application d un seuillage binaire opencv threshold 0 8 BINARY seuillage binaire pour liminer le fond image opencv getBuffer 0 opencv height affiche le buffer principal OpenCV dans la fen tre Processing d tection de blobs blobs opencv blobs true blobs javacvPro avec param tres par d faut debug blobsArray blobs minArea maxArea maxBlob findHoles maxVertices debug blobsArray opencv blobs opencv area 4000 opencv area 2 20 true 1000 true blobs javacvPro debug la fonction renvoie un tableau de Blob chaque Blob est caract ris par son aire son centre le rectangle entourant le tableau des points du contour pour info la fonction blobs m morise en interne un tableau des s quences de points d tect s jusqu l appel suivant de la fonction blobs pour utilisation avec les fonctions avanc es convexHull et detectDefect par exemple dessin du rectangle autour du trac de la forme avant s lection opencv drawRectBlobs blobsArray xRef yRef scale colorStroke strokeWeight fill colorFill opencv drawRectBlobs blobsArray 0 opencv height 1 color 255 0 255 1 false 0 trace le rectangle avec les param tres s lection des Blob coh rents blobsArray opencv selectBallBlobs blobsArray s lectionne uniquement les Blobs pouvant cor
11. angle de rotation dans l axe Y en degr s new Point milieu bord sup 2D du marqueur public Point downCenter2D new Point milieu bord inf 2D du marqueur public Point leftCenter2D new Point milieu bord gauche 2D du marqueur public Point rightCenter2D new Point milieu bord droit 2D du marqueur public Point upCenter2D public Point center2D new Point centre 2D du marqueur public Point corners2D new Point 4 coins 2D du marqueur 7 dessin 3D op ration 3D faire APRES d tection 2D affiche rep re 3D centr sur l cran translate width 2 height 2 0 translation du rep re 3D courant de pour centrage au centre de la fen tre camera opencv drawCurrentSyst3D 50 color 255 0 0 color 0 255 0 color 0 0 255 2 affiche le rep re Oxyz courant avec taille et paisseur voulus void draw3DMarkers MultiMarker nyaln Marker markersIn int widthBoxIn int heightBoxIn int depthBoxIn boolean strokeln int colorStrokeln int strokeWeightIn boolean fillIn int colorFillIn boolean debugIn opencv draw3DMarkers nya markersArray 0 0 10 false 0 0 false color 255 0 0 true si width et height 0 utilise propri t s 3D de chaque marker fin if available while true stoppe boucle draw fin de la fonction draw XXXXXXXXXXXXXXXXXXXXXX Autres Fonctions XXXXXXXXXXXXXXXXXXXXXX l Fonction d arret de Processing
12. affiche les coordonn es du centre opencv drawCircle selectedMarker center2D le centre du cercle tracer 0 0 les coordonn es du cercle tracer 1 l chelle utiliser 10 rayon utiliser jaune 1 couleur et paisseur du pourtour du cercle true rouge drapeau de remplissage et couleur de remplissage false drapeau d affichage des messages DE pour m moire les champs de l objet Marker public String name le nom du fichier de description du marker public float realX d crit par les markers public float realY d crit par les markers float 0 0 abscisse r elle au sol de l espace d volution float 0 0 ordonn e r el au sol de l espace d volution public float realWidth float 0 0 largeur r elle du Marker public float width2D float 0 0 largeur 2D du Marker telle que affich e sur l image webcam public float height2D float 0 0 hauteur 2D du Marker telle que affich e sur l image webcam pour r alit augment e public float width3D float 1000 largeur 3D du Marker telle que affich e sur l image webcam public float height3D float 1000 hauteur 3D du Marker telle que affich e sur l image webcam public float depth3D float 10 profondeur 3D du Marker telle que affich e sur l image webcam float 0 0 distance du marker la webcam calcul e public float distance public float angleAxeY float 0 0
13. fixe la couleur utilis e pour le trac en RVB strokeWeight 1 largeur du trait en pixels line xRef nbTrace xPos0 nbTrace yRef nbTrace heightTrace yPosO nbTrace xRef nbTrace xPos nbTrace yRef nbTrace theightTrace yPos nbTrace trace une ligne en tenant compte valeur re ue xPos0 nbTrace xPos nbTrace m morisation xPos n 1 yPosO nbTrace yPos nbTrace m morisation xPos n 1 la fin de l cran revient au d but if xPos nbTrace gt widthTrace xPos nbTrace 0 xPosO nbTrace 0 pour retour de la trace sans ligne background 0 0 0 couleur du fond l trac initial tracelnitial fin RAZ graphique else si pas encore la fin du graphique incr mente la position horizontale abscisse xPos nbTrace fin else fin for nbTrace fin si chaine valide fin prise en compte uniquement des chaines d butant par CAN fin condition chaine recue pas vide fin de la fonction de gestion des v nements S rie void tracelnitial for int nbTrace 0 nbTrace lt nombreVoi es nbTrace boucle pour autant de trac s que de voies for int i 0 i lt 5 i trac des lignes horizontales initialisation avant chaque trac fi11 0 255 0 couleur remplissage RGB stroke 0 255 0 couleur pourtour RGB if i 0 strokeWeight 2 else strokeWeight 1 largeur du trait en pixels 1er trait pl
14. text inByte_brut xTextPos yTextPos fi11 0 255 255 textFont fontA 10 text Coeff x coeff 20 10 la coordonn e du text est point inf gauche fin trac initial Ev nement Toggle void togglePause int theValue fonction v nement Toggle de meme nom re oit la valeur printin Ev nement Toggle Pause avec valeur togglePause getState etatPause togglePause getState met jour la variable etat pause 11 gestion v nement Slider void sliderCoeff float valeur fonction v nement Slider de meme nom re oit la valeur printlin Ev nement Slider Coeff avec valeur valeur coeff valeur MAJ variable coeff affichage du coefficient courant fi11 0 0 0 text 10 10 efface la valeur pr c dente dessin d un rectangle sous le texte avant affichage pour effacer texte pr c dent fi11 0 0 0 couleur de remplissage idem fond stroke 0 0 0 fixe la couleur utilis e pour le trac en RVB strokeWeight 0 largeur du trait en pixels rect 10 0 75 10 text inByte_brut xTextPos yTextPos fi11 0 255 255 textFont fontA 10 text Coeff x coeff 20 10 la coordonn e du text est point inf gauche delay 100 vite prise en compte multiple tracelnitial 11 gestion v nement Slider void sliderBase float valeur fonction v nement Slider de meme nom re oit la valeur printin Ev nement Slider Base a
15. Ascii Caractere String compt String octetReception affiche code ASCII Octet re u if octetReception 10 si Octet re u est le saut de ligne Serial printlin Saut de ligne recu Serial printlin Reponse Arduino Serial printlin Chaine recue chaineReception affiche la chaine recue chaineReception RAZ le String de r ception compt 0 RAZ compteur delay 100 pause break sort de la boucle while else si le caract re re u n est pas un saut de ligne caractereRecu char octetReception convertit l octet re u en caract re chaineReception chaineReceptiontcaractereRecu ajoute le carat re au String fin tant que octet r ception l une fois que le saut de ligne est re u on sort du While et on se positionne ici fin de la fonction loop le programme recommence au d but de la fonction loop sans fin 1 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk C AULIN A NALNI N LL VAINI INA FIN AA pro Same LAAANU AVANNAA VININ Programmer la carte Arduino Une fois la carte Arduino programm e pour v rifier le bon fonctionnement du programme __ ouvrir le Terminal S rie fixer le d bit 115200 et choisir l option Newline un saut de ligne sera ajout apr s la cha ne e Sitout est ok toute cha ne saisie dans le champ de saisie du Terminal doit s afficher dans le Terminal
16. CAN val0 val1 val2 val3 val4 val5 finCAN String inSubstring split inString extrait println inSubstring 0 debug if match inSubstring 0 CAN null pour prise en compte uniquement des chaines d butant par CAN d claration tableaux utiles int inByte_brut new int 6 tableau pour valeur re ue en valeur num rique entiere float inByte new float 6 tableau pour valeur re ue en valeur num rique d cimale extraction des valeurs de CAN partir de la chaine for int i 0 i lt nombreVoies i print Valeur CAN i inSubstring i 1 debug inByte_brut i int inSubstring i 1 conversion valeur re ue en valeur num rique entiere print soit en valeur enti re inByte_brut i debug inByte i float inSubstring i 1 conversion valeur re ue en valeur num rique d cimale print soit en valeur d cimale inByte i debug println println inSubstring 7 debug chaine de fin de chaine if match inSubstring 0 CAN null amp amp match inSubstring 7 finCAN null si la chaine re ue est valide println La chaine CAN re ue est valide debug IXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX trac des courbes XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAXXXXXXX for int nbTrace 0 nbTrace lt nombreVoies nbTrace trace toutes les voies n cessaires inByte nbTra
17. ET millisOLastImage fps 10 30 pg endDraw fin de draw PGraphic l mise en forme comptString if comptFrame lt 10 comptString 000 comptFrame if comptFrame lt 100 comptString 000 comptFrame if comptFrame lt 1000 comptString 00 comptFrame if comptFrame lt 10000 comptString 0 comptFrame l enregistrement des images pg save cheminRep image comptString jpg enregistre une image num rot e dans r p indiqu s applique l aire courante de dessin ici PGraphic format disponible tif tga jpg png savelmage va sauver avec toujours le meme nom de fichier if debug println image comptFrame jpg comptFrame comptFrame 1 fin if flagRecord if debug amp amp flagRecord background rouge else background noir if debug println D lai millis millisOLastImage ms soit 1000 millis millisOLastImage fps millisOLastImage millis fin if available while true stoppe boucle draw fin de la fonction draw 17 XXXXXXXXXXXXXXXXXXXXXX Autres Fonctions XXXXXXXXXXXXXXXXXXXXXX l gestion v nement clavier void keyPressed si une touche est appuy e if key e si touche ee enfoncee println Enregistrement d marr millisORecord millis 2 d but enregistrement millisOLastImage millis 3 d but flagRecord true if key s si touche s enfonc
18. Enregistrement stopp y if key 1 si touche 1 enfonc e lance lecture flagRecord false println Enregistrement stopp flagPlay true printlin Lecture enregistrement lanc e fin si touche enfoncee l Fonction d arret de Processing public void stop fonction d arr t de Processing cam1 delete efface l objet GScapture super stop obligatoire fin fonction stop XXXXXXXXXXXXXXXXXX Fin du programme XXXXXXXXXXXXXXXXX Fonctionnement principe d utilisation Avant le lancement on pourra fixer dans le code le d lai de capture en millisecondes entre 2 images Au lancement on obtient une fen tre Processing divis e en 2 e gauche on visualise le flux vid o direct e droite on obtient visualise la capture lecture des images Le programme utilise e l appui sur la touche e pour lancer l enregistrement e l appui sur la touche s pour stopper l enregistrement Noter que si on relance l enregistrement les images sont enregistr es la suite e l appui sur la touche p pour lire les images captur es Une fois la capture termin e on obtient un r pertoire horodat qui contient les fichiers images num rot s monimage test 00000 jpg monimage test 00017 jpg monimage test 00001 jpg monimage test 00018 jpg EM monimage test 00002 jpg Mmonimage test 00019 jpg EM monimage test 00003 jpg Mmonimage test
19. GLAP Box elle m me Sous Xubuntu un utilitaire pratique qui fait cela est le programme en ligne de commande cbm On commence par l installer si ce n est d j fait soit sur le poste fixe soit sur la GLAP Box d j install par d faut sudo apt get install cbm Ensuite on lance le programme avec la commande cbm On obtient un affichage de la bande passante en bits secondes ou Bytes secondes appuyer sur B pour basculer d une unit vers l autre pour chaque interface r seau Voici un exemple simultan de cbm sur le poste fixe et la GLAP Box M Terminal xavier xavier Aspire M3641 X Fichier diter Affichage Terminal Aller Aide BB Standard Exa P RGBCube Pr P Terminal gl 4 Ra fy T S8 16 57 glapbox RGBCube Processing 1 5 1 iz Terminal glapbox glapbox X A Fichier diter Affichage Terminal Alier Aide On constate logiquement e que le d bit global est sensiblement le m me sur les 2 postes e que le d bit en mission d un c t correspond au d bit en r ception de l autre c t e que VNC utilise une communication bi directionnelle A titre indicatif voici le chiffre de d bit obtenu avec xtightvneviewer sans compression pour RGBCube dans Processing r d v Terminal xavier xavier Aspire M3641 e Fichier diter Affichage Terminal Aller Aide A titre indicatif voici le chiffre de d bit obtenu avec xtightvneviewer avec compression 3 pour
20. enregistrer les sorties de capteurs et les analyser secondairement froid A faire test de la vitesse max d enregistrement en th orie celle du framerate du programme Test de l enregistrement de fichier image la demande Mat riel N cessite une webcam connect e la GLAP Box Explications On teste ici l enregistrement d images la demande ici intervalle r gulier A intervalle r gulier on enregistre dans un fichier l image captur e en provenance du flux vid o En pratique une telle capture pourra servir enregistrer des mouvements ultra lents pour les acc l rer ensuite On pourra utiliser ce principe galement pour r aliser des captures d une image lors de la survenue d un v nement d clencheur notamment partir de la carte Arduino On utilise ici la librairie Gsvideo pour lire une frame en provenance de la webcam et on enregistre cette image dans un fichier Le test Ouvrir Processing sur la GLAP Box Copier coller le code suivant Programme processing g n r avec le g n rateur de code Processing du site www mon club elec fr par X HINAULT tous droits r serv s Programme crit le 14 9 2011 MAJ 07 2012 I Licence du code de ce programme GPL v3 1111 11 7 Description du programme Utilise un des objets PImage conteneur d image jpeg gif png et tga Utilise le clavier Utilise la librairie GSVideo de
21. hour _ minute _ second chemin absolu du r pertoire d enregistrement nom horodat pour nom unique ne pas oublier le de fin de chemin d claration variables globales variable pour la taille de la capture video int widthCapture 320 largeur capture int heightCapture 240 hauteur capture int fpsCapture 20 framerate image secondes pour la capture video long delai 1000 d lai en millisecondes entre 2 enregistrement d image long millis0 0 variable pour m moriser dernier valeur millis pris en compte long comptimg 0 variable comptage image long comptImgPlay 0 variable comptage image lecture String numerolmg 00000 chaine pour num ro image au format 00001 int vitessePlay 100 dur e pause entre 2 lecture images enregistr es boolean flagRecord false drapeau activation enregistrement boolean flagPlay false drapeau activation lecture 17 XXXXXXXXXXXXXXXXXXXXXX Fonction SETUP XXXXXXXXXXXXXXXXXXXXXX void setup fonction d initialisation ex cut e 1 fois au d marrage initialisation param tres graphiques utilis s colorMode RGB 255 255 255 fixe format couleur R G B pour fill stroke etc fi11 0 0 255 couleur remplissage RGB noFill si pas de remplissage stroke 0 0 0 couleur pourtour RGB noStroke si pas de pourtour rectMode CORNER origine rectangle CORNER coin sup gauche CENTER centre imageM
22. me e l interface ra0 correspondant un r seau wifi L adresse IP de chaque interface est de la forme xxx xxx xxx xxx et est pr c d e de inet adr qui ici nous donne e 192 168 1 10 pour l interface r seau thernet eth0 e 127 0 0 1 pour l interface lo du r seau local du poste fixe e _192 168 3 106 pour l interface wifi ra0 Par ailleurs remarquer que le masque r seau est bien de la forme 255 255 255 0 pour les 3 interfaces donc seul le dernier chiffre indique le num ro du poste fixe sur chaque r seau Ainsi le poste fixe est identifi avec e le num ro 10 sur le r seau 192 168 1 auquel est connect l interface eth0 e le num ro 106 sur le r seau 192 168 3 auquel est connect l interface ra0 Scanner le r seau local et obtenir l adresse IP de la GLAP Box Une fois que l on conna t le num ro du r seau et l adresse du poste fixe pour conna tre l adresse de la GLAP Box le plus simple est de scanner le r seau partir du poste fixe Ceci se fait sous Xubuntu l aide d un petit logiciel appel nmap qui existe aussi en version graphique appel Zenmap Pour la petite histoire c est ce logiciel qui est utilis dans Matrix et autres films de pirates informatiques mais rassurez vous vous ne faites rien d ill gal en l utilisant Starting nnap U 2 5A0ETA25 Insufficient res f h ponses For TCP sequencing 3 OS detection interesting ports on 10 2 2 2 The 1539 ports
23. public void stop fonction d arr t de Processing cam delete efface l objet GScapture super stop obligatoire fin fonction stop Vous devriez obtenir quelque chose comme remarquer la d tection 3D du marker Ces markers permettront des fonctions avanc es de reconnaissance visuelle de calcul de distance et de mesure d angle par rapport un objectif de vis e Ces markers pr sentent plusieurs avantages d cisifs e leur d tection est assez tol rante aux variations de luminosit e ce sont des outils tr s pratiques dont la reconnaissance est rapide comparativement d autres techniques e La d tection est discriminante permettant de reconna tre sp cifiquement un marker parmi plusieurs dizaines voire centaine avec une bonne pr cision ceci pourra tre la base de comportements volu s e la d tection est sensible la rotation et l orientation du marker dans l espace permettant des analyses avanc es 3D Cool non Test simple miroir Mat riel Ce test n cessite une carte Arduino connect e la GLAP Box 1P 192 168 1 y DHCP ou fixe Masque 255 255 255 0 Port 5900 ouvert Carte i Arduino usB Explications Ici nous allons simplement tester par acc s distant au bureau de la GLAP Box depuis le poste fixe que la comunication se fait bien entre un programme Processing et la carte Arduino connect e la GLAP Box Le code Arduin
24. 2049 tcp open nfs Nmap scan report for new host 3 home 192 168 1 12 Host is up 0 000215 latency Not shown 995 closed ports PORT STATE SERVICE 22 tcp open ssh 111 tcp open rpcbind 2049 tcp open nfs Ici on retrouve e le routeur avec l adresse 192 168 1 1 e le poste fixe avec l adresse d j obtenue pr c demment 192 168 1 10 e et le 3 me poste qui est ici la GLAP Box avec l adresse 192 168 1 12 Noter que nmap fournit galement les ports ouverts pour chaque poste on voit ici que sur la GLAP Box les ports 22 s curisation ssh 111 et 2049 partage de fichier nfs 5800 et 5900 acc s vnc sont ouverts sur la GLAP Box Pour info Zenmap l impl mentation graphique de nmap fournit une visualisation graphique du r seau ce qui est aussi sympa onglet topologie CRE oun new host 3 home O xavier Aspire M3641 home O HSIB home Une fois que l on dispose de l adresse IP de la GLAP Box les choses sont simples Il suffit de lancer le client VNC sur le poste fixe et de se connecter l adresse IP de la GLAP Box C t GLAP Box il n y a rien faire elle est d j param tr e en serveur VNC si on utilise l image ISO du syst me Pour le d tail de l activation du serveur VNC sur la GLAP Box voir au besoin le document GLAP Box from scratch Sous Xubuntu un client VNC l ger et rapide est xtightvncviewer Il y a d autres alternatives notamment graphiques mais elles
25. On ouvre ce fichier en double cliquant sur le nom et on obtient positions2 8 2012 15 30 56 txt 4 4 x Fichier dition Rechercher Options Aide Debut Nouvel enregistrement d but le 2 8 2012 15 30 56 Format CSV econdes valeur1 valeur2 n 0 0 7070 7070 73 40 7 15 52 24 F358 01 8 88 10 9 18 41 10 66 97 11 39 83 12 70 21 13 22 70 14 87 37 15 37 93 Ensuite il suffit de faire un copier coller dans un tableur LibreOffice bien s r lors du coller il est possible de fixer le s parateur utilis ici le point virgule On obtient alors 1 0 2 0 3 0 4 73 5 7 6 52 24 7 58 61 8 88 10 9 18 41 10 66 97 11 39 83 12 70 21 13 22 70 14 87 37 15 37 53 16 87 65 17 21 28 18 37 32 19 41 14 20 84 23 Il est alors tr s facile et simple d obtenir le graphique correspondant aux donn es enregistr es ce qui donne 120 100 2 4 6 140 42 14 16 15 20 22 24 28 25 20 4 3 S F7 9 1 AS 0 21 2 2 27 2 31 On pourra donc tr s simplement utiliser les donn es enregistr es les journaliser dans des fichiers diff rents inclure les graphiques dans des documents etc Le tout uniquement avec des ressources libres et opensource Un potentiel de possibilit s donc assez important d autant que les donn es pourront tre des mesures en provenance d Arduino On pourra donc de la sorte tr s facilement par exemple
26. Ouvrir Processing sur la GLAP Box Copier coller le code suivant Programme Processing pour la GLAP Box par X HINAULT Tous droits r serv s GPL v3 2012 Test lecture fichier son import monclubelec glapbox importe librairie Glapbox qui comporte tout plein de fonctions utiles Glapbox glapbox D clare objet Glapbox qui donne acc s aux fonctions de la librairie String homePath System getProperty user home d finit le chemin utilisateur home user void setup initialisation objet Glapbox glapbox new Glapbox this initialise objet Glapbox void draw glapbox joueSon homePath Bureau mes_sons r2d2 mp3 MPLAYER true lit le fichier son glapbox joueSon homePath Bureau mes_sons lightsaber_turn_on wav APLAY false lit le fichier son attention aplay ne lit pas fichier mp3 while true stoppe draw Pour info e mplayer est tr s polyvalent mais peut cr er un d lai de fin de lecture e aplay est plus rapide en d clenchement fermeture donc int ressant pour lectures courtes Mat riel Ce test n cessite une paire d enceintes ou un casque connect la GLAP Box On suppose galement que la GLAP Box est connect e internet via le routeur du r seau Explications Les fonctions disponibles avec la librairie Glapbox sont e void lanceFirefox java lang String adresseSite e void stopFirefox Le t
27. RGBCube dans Processing ce qui divise le d bit par 2 Le D opu m Z Terminal xavier xavier Aspire M3641 X Fichier diter Affichage Terminal Aller Aide Toujours sur un r seau en wifi N 300Mbps voici le d bit obtenu pour le RGB Cube de Processing avec compression 3 paa o _ i v Terminal xavier xavier Aspire M3641 X Fichier diter Affichage Terminal Aller Aide On obtient un gain de pr s de 50 de la bande passante par rapport au r seau thernet filaire Il y a d autres programmes qui permettent cela tout est question de go t Et aussi s curiser l acc s VNC par SSH Lors de la premi re connexion la GLAP Box il est indispensable de se connecter en Ethernet filaire seule fa on d avoir un acc s automatique au r seau local Une fois cette premi re connexion faite on se connectera au r seau wifi manuellement depuis la fen tre VNC puis aller dans XFCE gt Param tres gt Connexion R seau gt Onglet sans fil gt choisir la connexion voulue et o cocher Connecter automatiquement o et cocher Accessible aux autres utilisateurs Au prochain d marrage la connexion wifi devrait tre disponible automatiquement si le r seau est disponible Si ce n est pas le cas reconnecter en filaire thernet et v rifier ce qui ne va pas e Pour tout probl me en wifi avec la GLAP Box avoir le r flexe de se connecter en r seau filaire Ethernet solution
28. See the GNU General Public License for more details You should have received a copy of the GNU General Public License along with this program If not see lt http ww gnu org licenses gt 111 1 1 1 7 Description du programme 11111 Utilise la librairie GSVideo de capture et lecture vid o Utilise la librairie javacvPro de traitement d image et reconnaissance visuelle Utilise la librairie nyar4psg qui impl mente ARToolkit dans Processing TE D tection du centre et du type d un marker ARToolkit Z _XXXXXXXXXXXXXXXXXXXXXX ENTETE DECLARATIVE XXXXXXXXXXXXXXXXXXXXXX inclusion des librairies utilis es import codeanticode gsvideo importe la librairie vid o GSVideo qui impl mente GStreamer pour Processing compatible Linux librairie comparable la librairie native vid o de Processing qui impl mente QuickTime Voir Reference librairie Video Processing cette librairie doit tre pr sente dans le r pertoire modes java libraries du r pertoire Processing 1 5 voir ici http gsvideo sourceforge net et ici http codeanticode wordpress com 2011 05 16 gsvideo 09 release import monclubelec javacvPro importe la librairie javacvPro qui impl mente le traitement d image avanc et la reconnaissance visuelle pour Processing cette librairie se base sur les fonctions java de la librairie javacv par Samuel Audet http code google com p javacv javacv impl ment
29. capture et lecture vid o 1 gt Le programme capture et affiche le flux vid o en provenance d une webcam gt L appui sur la touche e lance l enregistrement des images intervalle r gulier fix par le progr amme gt L appui sur la touche s stoppe l enregistrement des images gt L appui sur la touche 1 lance la lecture des images enregistr es Z _ XXXXXXXXXXXXXXXXXXXXXX ENTETE DECLARATIVE XXXXXXXXXXXXXXXXXXXXXX inclusion des librairies utilis es import codeanticode gsvideo importe la librairie vid o GSVideo qui impl mente GStreamer pour Processing compatible Linux librairie comparable la librairie native vid o de Processing qui impl mente QuickTime Voi r Reference librairie Video Processing cette librairie doit tre pr sente dans le r pertoire modes java libraries du r pertoire Process ing 1 5 voir ici http gsvideo sourceforge net et ici http codeanticode wordpress com 2011 05 16 gsvideo 09 release d claration objets Pimage img1 img2 d clare un des objets PImage conteneur d image GSCapture caml d clare un objet GSCapture repr sentant une webcam L objet GSCapture tend PImage se comporte comme un conteneur des frames issues de la webcam String homePath System getProperty user home d finit le chemin utilisateur home user String cheminRepertoireEnregistrement homePath Bureau trans capturelmages _ year _ month _ day _
30. draw Vous devez obtenir quelque chose comme chaque fois qu un visage appara t dans le champ de la webcam Test de suivi d objet color Mat riel Ce test n cessite une webcam connect e la GLAP Box Un objet color suivre ici une balle orang e Explications La reconnaissance d objet color repose par une isolation colorim trique de l objet suivre au sein d une image Les fonctions de suivi et de recherche de forme sont assur es par la librairie JavacvPro qui impl mente OpenCV sous Processing Ici le programme dans une vis e didactique affichera toutes les tapes de la d tection dans 4 images s par es afin de pouvoir am liorer les param tres au besoin La balle utilis e pour ce test est une balle de ping pong Artengo Decathlon orange La webcam test e est une Logitech C270 et une Hercules Dualpix Exchange Le test Ouvrir Processing sur la GLAP Box Copier coller le code suivant Programme d exemple de la librairie javacvPro 7 par X HINAULT Mars 2012 Tous droits r serv s licence GPLV3 Exemple fonction selectBlobs extraction de contour de formes binaris es import codeanticode gsvideo importe la librairie vid o GSVideo qui impl mente GStreamer pour Processing compatible Linux librairie comparable la librairie native vid o de Processing qui impl mente QuickTime Voi r Reference librairie Video Processing cette lib
31. en pixels l initialisation port s rie println Serial list affiche dans la console la liste des ports s ries myPort new Serial this Serial list 0 115200 Initialise une nouvelle instance du port S rie myPort new Serial this dev ttyACMO 115200 Initialise une nouvelle instance du port S rie myPort bufferUntil n attendre arriv e d un saut de ligne pour g n rer v nement s rie l trac initial tracelnitial Initialisation Objets GUI ControlP5 controlP5 new ControlP5 this initialise l objet principal de la librairie GUI controlP5 typeObjet nomObjet controlP5 addObjet param tres pour info d claration initialisation possible en 1 ligne Textfield field controlP5 addTextfield myWindowTextfield 70 130 100 20 exemple Initialisation Objets ControlWindow addControlWindow String theWindowName int theX int theY int theWidth int theHeight int theFrameRate cwl controlP5 addControlWindow fenetre 50 50 250 150 ajoute une fenetre au ControlP5 m thodes propres l objet ControlWindow cwl hideCoordinates masque les coordonn es cwl setBackground color 0 0 0 cw1 frameRate 15 fixe le nombre de rafraichissement par seconde de la fenetre ew1 setColorActive color 255 0 0 fixe la couleur active cwl setTitle Controle Oscillo ti
32. faut r gler au besoin viser taille maxi en hauteur taille fen tre x y background 0 0 0 fond fenetre en noir 11 initialise variables utilis es pour les graphiques trac en largeur pleine heightTrace height 20 nombreVoies widthTrace width decalageGauche variables index es for int i 0 i lt nombreVoies i passe en revue les l ments de tableau pour n voies xPos i 1 variable abscisse x xPos0 i 1 variable m morisation xPos n 1 yPos i 1 variable yPos ordonn e yPos0 i 1 variable yPos n 1 xTextPos i 0 variable position texte dans la fen tre yTextPos i 50 point sup gauche du trac xRef i decalageGauche yRef i heightTrace i les couleurs des voies couleurVoie 0 rouge couleurVoie 1 violet couleurVoie 2 jaune couleurVoie 3 bleuclair couleurVoie 4 blanc couleurVoie 5 vert initialisation des fonctionnalit s utilis es l initialisation de la police texte mettre avant s rie fontA loadFont DejaVuSans 9 vlw charge le fichier police dans l objet police texte ce fichier doit tre pr sent dans un r p lt data gt dans le r pertoire du programme pour g n rer un fichier de police partir des polices syst me aller dans Tools gt create Fonts voir galement http processing org learning text textFont fontA 9 Initialise la police et sa taille
33. fixe couleur avant togglePause setColorCaptionLabel color 0 255 255 fixe couleur Label togglePause setColorValueLabel color 0 0 255 fixe la couleur valeur setImages PImage thelmageDefault PImage thelmageOver PImage thelmageActive PImage thelmageHighlight les images doivent etre de la meme taille que bouton dans r p prog type jpg png un toggle n utilise que image Default et Active t1 setImages loadImage imageDefault png loadImage imageDefault png loadImage imageActive png loadImage imageDefault png Initialisation Objets Sliders addSlider theName theMin theMax theDefaultValue theX theY theW theH sliderCoeff controlP5 addSlider sliderCoeff 1 10 1 10 10 100 15 ajoute un Slider au ControlP5 sliderCoeff setWindow cw1 met l objet dans la fen tre s1 Slider controlP5 controller MonSlider1 initialise l objet Slider d clar m thodes propres l objet Slider sliderCoeff setNumberOfTickMarks 10 fixe le nombre crans n 1 pour n valeurs sliderCoeff setNumberOfTickMarks int s1 max 1 fixe le nombre crans n 1 pour n valeurs sliderCoeff showTickMarks true affichage des rep res sliderCoeff setSliderMode Slider FLEXIBLE fonctionnement du slider FLEXIBLE ou FIX m thodes communes tous les controles objet Controller sliderCoeff setLabelVisible true affichage des labels sliderCoeff setLabel Co
34. scanned but not shown Port State Service ANN S OA 22 tcp open ssh Ho exact OS matches For host Naap run conpleted 1 IP ador a SShauke 10 2 2 2 reotpw 21000108 ost up scanneds Connecting to 10 2 2 2 s5h s e SUCCESSFUL Attenpting to exploit SShut ci Reseting root password to Arr RES gore Access Level lt 9 r 2 2 1 root sr root0 2 2 2 s password bi access craneo Donc commencer par installer nmap soit par Synaptic soit en ligne de commande sudo apt get install nmap Une fois fait on lance un scan du r seau o est connect la GLAP Box Ici nous consid rons que la GLAP Box est connect e sur le r seau 192 168 1 une adresse que nous cherchons conna tre Afin de chercher tous les postes num ro entre 1 et 255 et donc la GLAP Box connect sur le r seau 192 168 1 on va donc saisir simplement la ligne de commande sudo nmap 192 168 1 1 255 On obtient quelque chose comme Starting Nmap 5 21 http nmap org at 2012 07 20 12 38 CEST Nmap scan report for HSIB home 192 168 1 1 Host is up 0 016s latency Not shown 995 closed ports PORT STATE SERVICE 23 tcp open telnet 80 tcp open http 443 tcp open https 992 tcp open telnets 8443 tcp open https alt MAC Address XX XX XX XX XX XX Nmap scan report for xavier home 192 168 1 10 Host is up 0 0000070s latency Not shown 997 closed ports PORT STATE SERVICE 80 tcp open http 111 tcp open rpcbind
35. son emplacement de fonctionnement et pas forc ment c t de votre poste fixe Nous arrivons ainsi au terme du test des fonctions principales disponibles avec la GLAP Box A pr sent vous allez pouvoir d velopper toutes sortes d applications du plus simple au plus volu en combinant entre elles les possibilit s embarqu es Le GLAP Bot est un robot mobile propuls par 2 moteurs CC et embarquant une GLAP Box Ici sont d crites quelques proc dures utiles sp cifiques ce robot Ce test permet de v rifier que les moteurs sont bien c bl s ATTENTION sur lever les roues du robot pour ce test afin d viter des mouvements du robot incontr l s Le robot poss de 2 moteurs CC droit et gauche qui sont chacun contr l s par la carte Arduino via une interface de puissance bas e sur un L298 Chaque moteur est contr l e parune broche de sens e parune broche de vitesse impulsion PWM Sur le GLAP Bot on utilise e pour le moteur droit o la broche 4 pour la broche de sens o la broche 5 pwm pour la broche de vitesse e pour le moteur gauche o la broche 6 pwm pour la broche de vitesse o la broche 7 pour la broche de sens Gauche Droit e DFRobot id e driver motor R Moteur Carte Arduino USB CC 2A v z w Le 5 d E On pourra profiter occasionnellement d une connexion du r seau internet pour mettre jour sa GLAP Box Ce n est pas
36. sont plus lentes mon go t On commence par installer sur le poste fixe le programme xtightvncviewer si ce n est d j fait soit avec Synaptic soit en ligne de commande Ensuite en ligne de commande on lance le programme avec la commande On obtient alors une petite fen tre o il faut saisir l adresse de la GLAP Box ze Terminal Aller Aide v server X YHC server EO Saisir alors l adresse IP de la GLAP Box et valider v server xX VNC server 192 168 1 12 On obtient alors une seconde fen tre peut prendre quelques secondes notamment par wifi o il faut saisir un mot de passe glapbox par d faut puis valider Noter qu il est possible de modifier ce mot de passe voire m me de le supprimer v passw X Passord Et l MAGIE Vous devez voir apr s quelques instants le bureau de votre GLAP Box y est vous pouvez travailler sur la GLAP Box comme si vous tiez sur votre PC a x TifbEVC plage Expos ot A titre de simple test lancer Processing lanceur dans le menu du haut et lancer l exemple 3D RGBCube Votre GLAP Box peut se trouver l autre bout de la pi ce ou de la maison ou encore sur votre robot mobile vous travaillez dessus sans y toucher Vous allez ainsi pouvoir reprogrammer votre carte Arduino de fa on distante r cup rer le retour vid o etc Pour mettre fin la connexion VNC c est simple il suffit de fermer la fen
37. tre VNC Par contre votre GLAP Box n est pas teinte pour autant et continue de fonctionner dans l tat o vous l avez quitt e Vous pourrez d s lors vous reconnecter de la m me fa on tout moment Pour teindre galement la GLAP Box le faire avant de se d connecter ou appuyer bri vement sur le bouton ON OFF de la GLAP Box l appui d clenchera l extinction Pour am liorer la fluidit de la connexion VNC il est possible tr s simplement de le faire avec xtightvncviewer l aide de la commande suivante qui va fixer le taux de compression utiliser La valeur 3 donne en pratique de bons r sultats sans trop d grader la qualit de l image Les autres possibilit s pour am liorer la fluidit sont e r duire la taille de l cran de la GLAP Box en 800x600 si ce n est d j le cas XFCE gt Param tres gt Gestionnaire des Param tres gt Affichage e Utiliser une connexion VNC non s curis e par SSH la s curisation SSH ralentit la vitesse de transmission du r seau entre rapidit et s curit il faut choisir e Utiliser une connexion wifi norme N 300 Mb s contre 54 Mb s pour la norme g classique Evaluer la bande passante du r seau lors de l acc s VNC Pour avoir une id e pr cise de ce qui se passe sur le r seau lors de l acc s VNC il est utile d avoir une visualisation de la bande passante On peut faire cela aussi bien sur le poste fixe que sur la
38. void draw fonction ex cut e en boucle Code type capture GSVideo utilisation possible aussi de captureEvent if cami available true si une nouvelle frame est disponible sur la webcam cami read acquisition d un frame imgl camli get r cup re l image GS video dans Pimage image img1 0 0 affiche image cr ation chaine num ro image au format 00000 if comptImg gt 10000 numerolmg comptImg if comptimg lt 10000 numerolmg 0 comptImg if comptImg lt 1000 numero mg 00 comptImg if comptImg lt 100 numero mg 000 comptImg if comptimg lt 10 numero mg 0000 comptImg if millis gt millisO delai amp amp flagRecord true si le d lai voulu est coul et enregistrement activ millisO millis m morise millis courant print Millis millisO image img1 widthCapture 0 affiche l image captur e s par ment du flux vid o img1 save cheminRepertoireEnregistrement monimage test numerolmg jpg enregistre le fichier image le r pertoire est cr si il n existe pas println Image cheminRepertoireEnregistrement monimage test numerolmg jpg enregistr e D comptImg comptImg 1 incr mente variable comptage image _ alternative possible saveFrame cheminRepertoireEnregistrement monimage jpg enregistre le frame courant de la fen tre d affichage actuelle au format monimage 00
39. 00020 jpg EH monimage test 00004 jpg Mi monimage test 00021 jpg EE monimage test 00005 jpg monimage test 00022 jpg BH monimage test 00006 jpg monimage test 00023 jpg BA monimage test 00007 jpg Mmonimage test 00024 jpg EM monimage test 00008 jpg EE monimage test 00025 jpg monimage test 00009 jpg monimage test 00026 jpg monimage test 00010 jpg monimage test 00027 jpg monimage test 00011 jpg monimage test 00028 jpg monimage test 00012 jpg monimage test 00029 jpg EM monimage test 00013 jpg monimage test 00030 jpg monimage test 00014 jpg EM monimage test 00015 jpg EM monimage test 00016 jpg Pour manipuler facilement ces images il existe plusieurs logiciel Sous Xubuntu et donc sur la GLAP Box il existe stopmotion accessible depuis le menu XFCE gt Multim dia gt Stopmotion Avec ce logiciel de cliquer sur le bouton ajouter des images puis d ouvrir le r pertoire des images de toutes les s lectionner et de lancer la lecture en fixant la vitesse de d filement Tr s pratique Ce logiciel permet galement d exporter les images dans un fichier vid o 1 Stuprubun PET The ton Enmm tres fie Pume undr AUS Sinon pour des manipulations plus avanc es on pourra aussi utiliser kino sous Ubuntu sur poste fixe Test de l enregistrement de capture vid o standard Mat riel N cessite une webcam connect e la GLAP Box Explications De la m me fa on qu il est possible de d clencher depuis Pro
40. 001 jpg monimage 00002 jpg etc le num ro de frame est celui du frame courant depuis d but programme et pas forc ment num ro progressif fin if available if flagPlay true si la lecture est activ e d file les images captur es cr ation chaine num ro image au format 00000 if comptImgPlay gt 10000 numeroImg comptImgPlay if comptImgPlay lt 10000 numeroImg 0 comptImgPlay if comptImgPlay lt 1000 numeroImg 00 comptImgPlay if comptImgPlay lt 100 numeroImg 000 comptImgPlay if comptImgPlay lt 10 numeroImg 0000 comptImgPlay lecture du fichier partir nom img2 loadImage cheminRepertoireEnregistrement monimage test numerolmg jpg image img2 widthCapture 0 affiche l image delay vitessePlay gestion comptImgPlay comptImgPlay incr mente variable if comptImgPlay gt comptImg quand toutes les images visualis es println comptImgPlay images visualis es lecture termin e comptImgPlay 0 flagPlay false fin flagPlay true while true stoppe boucle draw fin de la fonction draw 11 XXXXXXXXXXXXXXXXXXXXXX Autres Fonctions XXXXXXXXXXXXXXXXXXXXXX fe gestion v nement clavier void keyPressed si une touche est appuy e if key e si touche e enfonc e flagRecord true printlin Enregistrement activ if key s si touche s enfonc e flagRecord false println
41. DecimalPrecision 2 fixe la pr cision sliderBase setColorActive color 255 0 0 fixe la couleur active sliderBase setColorBackground color 255 255 0 fixe couleur fond sliderBase setColorForeground color 0 0 255 fixe couleur avant s1 setArrayValue new float 100 255 fixe les valeurs min max du Slider sliderBase setColorCaptionLabel color 0 255 255 fixe couleur Label sliderBase setColorValueLabel color 0 0 255 fixe la couleur valeur fin fonction Setup 111 1 Fonction Draw void draw fonction ex cut e en boucle while true stoppe boucle draw fin de la fonction draw 11 Autres Fonctions l Fonction de gestion des v nements s rie void serialEvent Serial myPort fonction appel e lors de la survenue d un v nement s rie kkkkkkk Gestion de la valeur re ue sur le port s rie Ekkkkkkkk String inString myPort readStringUntil n chaine stockant la cha ne re ue sur le port S rie saut de ligne en marque de fin if inString null amp amp etatPause false si la chaine recue n est pas vide et toggle pause false inString trim inString enl ve espace blancs de la chaine recue println Chaine re ue inString debug extraction des valeurs partir de la chaine re ue la chaine re ue avec la valeur des 6 mesures est sous la forme
42. EFAULT_CF_THRESHOLD Plus le seuil est lev et plus la d tection est rigoureuse nya setConfidenceThreshold MultiMarker DEFAULT_CF_THRESHOLD nya setConfidenceThreshold 0 8 s lection exigeante chargement des fichiers de description des patterns l cr ation des objets Marker individuel du tableau de markers javacvPro et initialisation des propri t s communes for int i 0 i lt markersArray length i markersArray i new Marker markersArray i realWidth realWidthMarker fin for l initialisation du tableau d objets marker javacvPro chaque objet Marker de la librairie javacvPro contient les param tres attach s au marker nyar correspondant son nom le fichier de description patt markersArray 0 name 4x4 99 patt m morise le nom du fichier du marker voulu markersArray 1 name 4x4_50 patt m morise le nom du fichier du marker voulu markersArray 2 name 4x4_83 patt m morise le nom du fichier du marker voulu markersArray 3 name 4x4_23 patt m morise le nom du fichier du marker voulu markersArray 4 name 4x4_68 patt m morise le nom du fichier du marker voulu markersArray 5 name 4x4 76 patt m morise le nom du fichier du marker voulu markersArray 6 name 4x4_55 patt m morise le nom du fichier du marker voulu markersArray 7 name 4x4_34 patt m morise le nom du fichier du marker voulu 1I etash chargem
43. GLAP Box est pr configur e en serveur de fichier NFS et il est d s lors possible de la monter dans l arborescence du syst me du poste fixe La GLAP Box devient alors accessible comme un simple dossier du syst me Cette fonction est tr s pratique car elle permet notamment de transf rer des codes vers la GLAP Box des librairies mais galement des fichiers sonores Cette fonction permet galement de copier sur le poste fixe des fichiers pr sent sur la GLAP Box Cette fonction fonctionne aussi bien en connexion ethernet filaire que par wifi ainsi on pourra transf rer ou r cup rer des dossiers ou fichiers sur un robot mobile embarquant une GLAP Box sans fil et distance en toute simplicit On reprend ici la proc dure pr sent e dans le document GLAP Box from Scratch Acc der au partage de fichier depuis le client le poste fixe Installation des paquets utiles Installer dans synaptic sur le poste fixe nfs common Cr ation d un point de montage sur le client Dans une console cr er un r pertoire pour le montage nfs avec la commande sudo mkdir mnt nfs Montage du serveur embarqu sur le client fixe On utilise ici l adresse du serveur 192 168 1 x C est l adresse obtenue par nmap comme vu pr c demment ou encore par ifconfig sur la Glap Box sudo mount t nfs 192 168 1 x home glapbox mnt nfs ou sudo mount t nfs o rw 192 168 1 x home glapbox mn
44. GLAP Box v3 Manuel d utilisation et test des fonctionnalit s Une fois que vous avez mont votre GLAP Box et que le syst me GLAP Box est install ou lanc en live USB vous tes potentiellement op rationnnel pour r aliser un syst me embarqu permettant la programmation distance de la carte Arduino embarqu e d utiliser la synth se vocale le retour vid o le partage de fichier la reconnaissance visuelle le suivi d objet etc Dans ce manuel les diff rentes proc dures courantes d utilisation et de test sont d crites Cette proc dure est la proc dure de base pour utiliser et contr ler la GLAP Box distance Vous avez besoin e d un routeur ou d une box internet wifi ou ethernet ou les 2 e dela GLAP Box c ble thernet imp ratif pour une premi re connexion ou d une cl USB wifi l autoconnexion sera fonctionnelle uniquement apr s une premi re connexion par ethernet e du poste fixe permettant d acc der la GLAP Box connect sur le m me r seau que celui utilis pour la GLAP Box La GLAP Box est une unit centrale de PC classique de taille r duite mais sans cran ni clavier ni souris Pour en prendre le contr le on va acc der distance via un r seau au bureau de la GLAP Box et y travailler comme si on se trouvait face la GLAP Box L int r t de proc der ainsi est de g rer la GLAP Box distance et m me sans fil depuis son poste fixe Ceci est tr s int ressant dans le ca
45. HINAULT tous droits r serv s Programme crit le 11 8 2011 MAJ 04 2012 et 07 2012 I _ Licence du code de ce programme GPL v3 TIILI Description du programme 1i Utilise le clavier Utilise la librairie GSVideo de capture et lecture vid o Utilise le clavier Utilise la librairie GSVideo de capture et lecture vid o 1 gt ce programme affiche un flux vid o captur par la librairie GSVideo gt l appui sur la touche e enregistre le flux vid o image par image dans des fichiers s par s Attention efface l enregistrement pr c dent gt l appui sur la touche s stoppe l enregistrement gt la lecture des images se fait ensuite par ouverture du r pertoire gt un logiciel tel que stopMotion permet la lecture encha n es des images gt le truc ici consiste enregistrer les images dans un objet PGraphics fen tre Processing off screen 1 XXXXXXXXXXXXXXXXXXXXXX ENTETE DECLARATIVE XXXXXXXXXXXXXXXXXXXXXX inclusion des librairies utilis es import codeanticode gsvideo importe la librairie vid o GSVideo qui impl mente GStreamer pour Processing compatible Linux librairie comparable la librairie native vid o de Processing qui impl mente QuickTime Voi r Reference librairie Video Processing cette librairie doit tre pr sente dans le r pertoire modes java libraries du r pertoire Process ing 1 5 voir ici http gsvideo sourceforge net
46. SPEAK true synth se vocale avec PICOTTS attend fin synthese texte Ouais Pas mal Mais moi pico je parle beaucoup mieux que toi mon cher ispik glapbox direTexte texte PICOTTS true synth se vocale avec PICOTTS attend fin synthese texte Sa reste a voir ma chaire pico glapbox direTexte texte ESPEAK true synth se vocale avec PICOTTS attend fin synthese while true stoppe draw Mat riel Ce test n cessite une paire d enceintes ou un casque connect la GLAP Box Explications Il est possible de lire n importe quel fichier son sur la GLAP Box l aide de la librairie Processing Glapbox qui permet d utiliser notamment aplay mplayer On pourra donc sonoriser ses applications embarqu es tr s facilement avec des fichiers t l charg s sur internet notamment Un r pertoire contenant quelques exemples de sons est pr sent sur le bureau de la GLAP Box Les fonctions disponibles avec la librairie Glapbox sont e void joueSon java lang String cheminSonin java lang String fichier SonIn java lang String lecteurSon boolean flagWait e void joueSonAplay java lang String cheminSonln java lang String fichierSonIn e void joueSonAplayNoWait java lang String cheminSon java lang String fichierSon e void joueSonMplayer java lang String cheminSonin java lang String fichier SonIn e void joueSonMplayerNoWait java lang String cheminSon java lang String fichier Son Le test
47. XXXXXXXX ENTETE DECLARATIVE XXXXXXXXXXXXXXXXXXXXXX inclusion des librairies utilis es import codeanticode gsvideo importe la librairie vid o GSVideo qui impl mente GStreamer pour Processing compatible Linux librairie comparable la librairie native vid o de Processing qui impl mente QuickTime Voi r Reference librairie Video Processing cette librairie doit tre pr sente dans le r pertoire modes java libraries du r pertoire Process ing 1 5 voir ici http gsvideo sourceforge net et ici http codeanticode wordpress com 2011 05 16 gsvideo 09 release d claration objets GSCapture cam1 d clare un objet GSCapture repr sentant une webcam L objet GSCapture tend PImage se comporte comme un conteneur des frames issues de la webcam GSMovieMaker maVideo cr e un objet moviemaker pour cr er la vid o d claration variables globales Pimage imgDest String homePath System getProperty user home d finit le chemin utilisateur home user String cheminFichier homePath Bureau trans chemin absolu du fichier String nomFichier video _ year _ month _ day _ hour _ minute avi nom de la vid o horodat nom unique second 11 d claration des variables de couleur utiles int rouge color 255 0 0 variable pour la taille de la capture video int widthCapture 640 largeur capture int heightCapture 480
48. ackground 0 0 0 couleur fond fenetre initialisation des objets et fonctionnalit s utilis es Initialisation Objets GSVideo capture et ou lecture video GSCapture this int requestWidth int requestHeight int frameRate String sourceName String cameraName cami new GSCapture this widthCapture heightCapture v4l2src dev video0 fpsCapture Initialise objet GSCapture d signant webcam largeur et hauteur doivent tre compatible avec la webcam typiquement 160x120 ou 320x240 ou 640x480 Meilleurs r sultats avec framerate webcam entre 20 et 30 et frameRate programme idem ou multiple plus grand 40 pour 20 par ex la liste des webcam install es sous Ubuntu Gnu Linux est donn e par la commande ls dev video cami play d marre objet GSCapture la webcam version GSVideo avant 0 9 camli start d marre objet GSCapture la webcam version GSVideo apr s 0 9 l initialisation objet GSMovieMaker pour enregistrement vid o GSMovieMaker processing core PApplet parent int requestWidth int requestHeight java lang String filename int codecType int codecQuality int ifps IMPORTANT le frameRate et ifps doivent tre gaux l initialisation de l objet GSMovieMaker maVideo new GSMovieMaker this widthCapture heightCapture cheminFichier nomFichier GSMovieMaker MJPEG GSMovieMaker MEDIUM fpsCapture ici enregistreme
49. ance variable sur la broche analogique AQ de la carte Arduino Explications La carte Arduino va r aliser une mesure sur la voie analogique A0 et la valeur sera envoy e vers Processing qui affichera le r sultat sous forme graphique Le code Arduino r alise la mesure et envoie une cha ne sur le port S rie Le code Processing va consister afficher sous forme graphique la valeur re ue sur le port s rie Le test c t Arduino Ouvrir Arduino sur la GLAP Box Copier coller le code suivant Programme Arduino can_Graph_pc_v3 par X HINAULT 03 2011 wwww mon club elec fr Que fait ce programme Envoie la valeur brute de la conversion analogique sur 6 voies sur le port s rie sous la forme CAN val0 val1 val2 val3 val4 vals finCAN A7 Fonctionnalit s utilis es 1 1 Utilise la connexion s rie vers le PC Utilise la conversion analogique num rique 10bits sur les 6 voies analogiques Circuit r aliser Connexion s rie entre la carte Arduino et le PC utilise les broches 0 et 1 Broches analogiques connecter les tension mesurer sur les broches 1 LR RER EE RUEUK Ent te d clarative KKKKKKEX ce niveau sont d clar es les librairies les constantes les variables Inclusion des librairies utilis es D claration des constantes constantes des broches const int Voie 6 0 1 2 3 4 5 de
50. aram tres de distorsion de la camera String camParamPath home hinault T l chargements librairies_processing nyar4psg 1 1 6 data camera_para dat String camParamPath homePath T l chargements processing 1 5 1 modes java libraries NyAR4psg data camera_para dat utilise le fichier par d faut donne r sultat satisfaisant l chemin absolu fichiers de description des patterns ou markers String patternPath homePath T l chargements patternMaker examples ARToolKit_Patterns t l charger ici http www cs utah edu gdc projects augmentedreality taille de l image utiliser pour la d tection plus petite pour plus rapide int widthAR widthCapture int heightAR heightCapture int numMarkers 8 le nombre de pattern ou markers diff rents utiliser Marker markersArray new Marker numMarkers tableau pour stockage des param tres des markers d tect s avec ARToolkit classe javacvPro float realWidthMarker 50 taille r elle du marker utilis en mmm on aura un correspondance 1 mm 1 pixel ou cran dans le rep re 3D du marker String nameMarkers new String numMarkers pour m moriser le nom des marker XXXXXXXXXXXXXXXXXXXXXX Fonction SETUP XXXXXXXXXXXXXXXXXXXXXX void setup fonction d initialisation ex cut e 1 fois au d marrage initialisation param tres graphiques utilis s colorMode RGB 255 255 255 fixe format coule
51. ariable abscisse x int xPos0 new int nombreVoies tableau variable m morisation xPos n 1 float yPos new float nombreVoies tableau variable yPos ordonn e float yPosO new float nombreVoies tableau variable yPos n 1 int xTextPos new int nombreVoies tableau variable position texte dans la fen tre int yTextPos new int nombreVoies tableau variable position texte dans la fenetre float coeff 1 0 coeff mutiplicateur float base 0 0 base du trac en Volt boolean etatPause false variable t moin appui sur bouton stop d claration objets controlP5 Toggle togglePause d clare un des objets Toggle Slider sliderCoeff d clare un des objet Slider Slider sliderBase d clare un des objet Slider ControlWindow cw1 d clare un des objet fenetre ControlWindow 11111 111 7 Fonction SETUP void setup fonction d initialisation ex cut e 1 fois au d marrage initialisation param tres graphiques utilis s colorMode RGB 255 255 255 fixe format couleur R G B pour fill stroke etc fi11 0 0 255 couleur remplissage RGB stroke 0 255 0 couleur pourtour RGB strokeWeight 1 largeur du trait en pixels rectMode CORNER origine rectangle coin sup gauche initialisation fen tre de base size 200 200 ouvre une fen tre xpixels x ypixels size int screen width 0 4 int screen height 0 8 90 de l cran par d
52. ateGraphics widthCapture heightCapture P2D initialise le PGraphic initialisation param tres graphiques utilis s colorMode RGB 255 255 255 fixe format couleur R G B pour fill stroke etc fi11 0 0 255 couleur remplissage RGB noFill si pas de remplissage stroke 0 0 0 couleur pourtour RGB noStroke si pas de pourtour rectMode CORNER origine rectangle CORNER coin sup gauche CENTER centre imageMode CORNER origine image CORNER coin sup gauche CENTER centre ellipseMode CENTER origine cercles ellipses CENTER centre autres RADIUS CORNERS CORNER strokeWeight 0 largeur pourtour frameRate fpsCapture Images par seconde The default rate is 60 frames per second initialisation fen tre de base size widthCapture heightCapture ouvre une fen tre xpixels x ypixels background 0 0 0 couleur fond fenetre initialisation des objets et fonctionnalit s utilis es fre initialisation de la police texte mettre avant s rie font loadFont DejaVuSans 10 vlw charge le fichier police dans l objet police texte ce fichier doit tre pr sent dans un r p dans le r pertoire du programme pour g n rer un fichier de police partir des polices syst me aller dans Tools gt create Fonts voir galement http processing org learning text pg textFont font 15 Initialise la police et sa taille en pixels
53. automatiquement par DHCP La GLAP Box est configur e par d faut pour fonctionner en DHCP Typiquement sur un r seau avec une box internet les adresses IP des diff rents postes seront e 192 168 1 1 pour le routeur e 192 168 1 x pour le poste fixe attribu e automatiquement par le routeur DHCP e 192 168 1 y pour la GLAP Box attribu e automatiquement par le routeur DHCP o les 3 premiers groupes de chiffres repr sentent le num ro du r seau 192 168 1 jet les chiffres 1 x et y les num ros de chaque poste sur le r seau le routeur ayant typiquement toujours le n 1 Les num ros x et y sont attribu s automatiquement par le routeur DHCP aux autres postes au moment de leur connexion Pour tre complet on en d duit que le masque du r seau est 255 255 255 0 D couvrir les adresses IP utilis es sur le r seau local Une fois que le r seau est mat riellement constitu et que tous les l ments sont sous tension il devient possible de conna tre les adresses IP de l ensemble des postes du r seau Cette proc dure peut sembler lourde la premi re fois mais on s y habitue vite et ce n est pas si sorcier que D terminer l adresse IP du poste fixe Tout d abord sur le poste fixe il faut obtenir l adresse IP qui lui a t attribu e automatiquement par le routeur DHCP Sur un poste Gnu Linux ouvrir un Terminal et saisir la ligne de commande ifconfig On obtient quelque chose de la for
54. box glapbox new Glapbox this initialise objet Glapbox Cr e un nouveau fichier efface fichier si existe d j cheminAbsoluFichier homePath Bureau trans positions _ year _ month _ day _ hour _ 4 minute _ second txt output createWriter cheminAbsoluFichier cette ligne cr e un fichier vide au nom unique horodat il est parfois plus utile de cr er manuellement un fichier dans lequel les diff rents enregistrements s encha neront output glapbox ouvreFichierTexte cheminAbsoluFichier ouvre le fichier existant dans un PrintWriter le fichier doit exister chemin entier obligatoire output printin Debut Nouvel enregistrement Ajoute la ligne au fichier output println d but le day month year hour minute second output printlin Format CSV Ajoute la ligne au fichier output printin secondes valeur1 valeur2 Ajoute la ligne au fichier output flush Ecrit les donn es dans le fichier fin setup void draw if second seconde0 si une seconde coul e seconde0 second retient derni re seconde prise en compte comptSeconde comptSeconde 1 incr mente la variable de comptage seconde point mouseX mouseY trace un point dans la fenetre Graphique output print comptSeconde Ecrit la seconde courante dans le PrintWriter output p
55. ce inByte nbTrace base 1023 0 5 0 adaptation de la base du trac r chelonne la valeur pour affichage inByte nbTrace map inByte nbTrace 0 1023 0 heightTrace adaptation valeur CAN l ordonn e trac yPos nbTrace inByte nbTrace l ordonn e est la valeur re ue par le port s rie yPos nbTrace yPos nbTrace coeff adaptation coeff JIFKKKKKKKK amp affichage num rique de la valeur re ue et autres calculs FFF calcul de la tension afficher float tension float inByte_brut nbTracel l tension tension 5000 tension tension 1023 tension tension adaptation trac dessin d un rectangle sous le texte avant affichage pour effacer texte pr c dent fi11 0 0 0 couleur de remplissage idem fond stroke couleurVoie nbTrace fixe la couleur utilis e pour le trac en RVB strokeWeight 1 largeur du trait en pixels rect xTextPos nbTrace yRef nbTrace yTextPos nbTrace taillePoliceTrace 2 75 taillePoliceTrace 5 Use fill to change the value or color of the text fill couleurVoie nbTrace couleur pour la police text xTextPos nbTrace 2 yRef nbTrace yTextPos nbTrace efface la valeur pr c dente text inByte_brut xTextPos yTextPos textFont fontA 9 text tension mV xTextPos nbTrace 2 yRef nbTrace yTextPos nbTrace JIFRKRKEKKKKEKXE gestion du graphique kkkkkkkkk trace la ligne stroke couleurVoie nbTrace
56. ception 0 variable de stockage des valeurs re ues sur le port S rie ASCII char caractereRecu 0 variable pour stockage caract re recu int compt 0 variable comptage caract res re us String chaineReception d clare un objet String vide pour reception chaine VI NI IIIIIIIIIIIII 11 1 7 7 2 FONCTION SETUR Code d initialisation 1 1 La fonction setup est ex cut e en premier et 1 seule fois au d marrage du programme void setup debut de la fonction setup ici instructions ex cuter 1 seule fois au d marrage du programme D Initialisation fonctionnalit s utilis es Serial begin 115200 initialise connexion s rie 115200 bauds IMPORTANT r gler le terminal c t PC avec la m me valeur de transmission fin de la fonction setup L FRERE RER RE RRRURURURURURURRR AAA RRRRURURURURURORORURA AAA ARR RORURORORORRA ARR RRORURURORORORORR A ARR EEK LIT IIIIIIIIIIIIIIIIIIIII I1 1 77 3 FONCTION LOOP Boucle sans fin coeur du programme HUE la fonction loop s ex cute sans fin en boucle aussi longtemps que l Arduino est sous tension void loop debut de la fonction loop code type r ception valeur sur le port s rie while Serial available gt 0 tant qu un octet en r ception octetReception Serial read Lit le 1er octet re u et le met dans la variable compt compt 1 Serial println
57. cessing l acquisition d images la demande il est galement possible de r aliser des enregistrements vid os la demande notamment sur v nements d clencheurs en provenance d Arduino On utilise nouveau ici la librairie GS Video et l objet GSMovieMaker qui permet de cr er une vid o en ajoutant chaque nouveau frame au fichier L encodage utilis est param trable Cette fonction peut tre int ressante sur des applications de pi ge vid o o la pr sence d une personne ou d un animal d clenche la capture vid o Noter que chaque vid o sera enregistr e dans un fichier horodat Le test Ouvrir Processing sur la GLAP Box Copier coller le code suivant Programme processing g n r avec le g n rateur de code Processing du site www mon club elec fr par X HINAULT tous droits r serv s Programme crit le 15 9 2011 MAJ 07 2012 ll Licence du code de ce programme GPL v3 11111111111 11 Description du programme 1 Utilise le clavier Utilise la librairie GSVideo de capture et lecture vid o 1 gt ce programme affiche un flux vid o captur par la librairie GSVideo gt l appui sur la touche e enregistre le flux vid o dans un fichier Attention efface l enregistrement pr c dent gt l appui sur la touche s stoppe l enregistrement gt la lecture du fichier vid o se fera ensuite par double clic sur le nom du fichier 7 7 XXXXXXXXXXXXXX
58. claration constante de broche analogique D claration des variables globales int mesure_brute 0 Variable pour acquisition r sultat brut de conversion analogique num rique Initialisation des fonctionnalit s utilis es PASSE SEESSEEFEE ES FONCTION SETUP Code d initralisation 2225 La fonction setup est ex cut e en premier et 1 seule fois au d marrage du programme void setup debut de la fonction setup ici instructions ex cuter au d marrage Serial begin 115200 initialise connexion s rie 115200 bauds IMPORTANT r gler le terminal c t PC avec la m me valeur de transmission fin de la fonction setup LL FRERE ERREUR RURURURRORROR KR A ARR KR RH R HR RROROR HRK RER RER ERREUR JIFFEEREEEEEEREES FONCTION LOOP Boucle Sans fin coeur du programme FFAF F F X K la fonction loop s ex cute sans fin en boucle aussi longtemps que l Arduino est sous tension void loop debut de la fonction loop ici instructions ex cuter par le programme principal envoie sur le port s rie les 6 mesures sous la forme CAN val0 val1 val2 val3 val4 vals fin CAN les sont utilis s comme s parateur par le programme Processing ct PC Serial print CAN chaine de d but for int i 0 i lt 6 i d file les vois analogiques acquisition conversion analogique numerique CAN sur la voie analogique mesure_brute analogRead Vo
59. de d pannage e Sion n arrive pas galement en Ethernet on pourra essayer de simplement connecter un clavier la GLAP Box et faire un appui sur entr e ceci relance le d marrage lorsqu il se bloque suite un arr t brutal par exemple e Si malgr tout on n obtient aucune connexion automatique il faut connecter un cran sur la sortie VGA souris clavier pour v rifier ce qui se passe mais ceci ne doit quasiment jamais arriver l usage e Il est possible par VNC de copier coller directement du texte depuis le poste fixe vers la GLAP Box Ainsi par exemple une ligne de commande dans un document sur le poste fixe pourra tre copi e puis coll e ensuite dans la fen tre VNC Ceci est tr s pratique La m me chose fonctionnera pour copier coller un code Arduino Processing etc condition d ouvrir le code depuis un diteur texte simple comme Gedit et pas depuis IDE Arduino ou Procesing offrant une souplesse de d veloppement maximale L inverse ne semble pas fonctionner et il vaudra miexu se rabattre sur le partage de fichier NFS Pr sentation La GLAP Box permet la mise en place d un partage de fichier tr s simplement partir d un autre poste sous Xubuntu Cette fonctionnalit est tr s pratique car elle permet de copier coller des fichiers depuis le poste fixe vers la GLAP Box et inversement tr s simplement comme on le ferait dans un simple dossier du poste fixe lui m me Techniquement la
60. e en Java les centaines de fonctions natives de la librairie OpenCV 2500 algorithmes la librairie javacvPro doit tre pr sente dans le r pertoire modes java libraries du r pertoire Processing 1 5 dispo ici http www mon club elec fr pmwiki reference _lib_javacvPro pmwiki php n cessite galement que la librairie native OpenCV 2 3 1 soit install e sur votre ordinateur NB compatibilit avec la plupart des fonctions de la librairie OpenCV pour Processing http ubaa net shared processing opencv import java awt Classe Point Rectangle etc import jp nyatla nyar4psg La librairie NyARToolkit Processing library ARToolKit pour Processing Cette librairie permet de d tecter des pattern ou marker dans une image et d analyser leur transformation de perspective nyAR4psg est t l charger ici http sourceforge jp projects nyartoolkit releases et mettre dans le r pertoire des librairies noter javacvPro int gre des fonctions utilisables directement avec nyar4dpsg d claration objets Pimage imgSrc imgDest d clare un des objets PImage conteneur d image Processing GSCapture cam d clare un objet GSCapture repr sentant une webcam L objet GSCapture tend PImage se comporte comme un conteneur des frames issues de la webcam OpenCV opencv d clare un objet OpenCV principal PMatrix3D syst3D d clare une matrice 4x4 repr sentant un sys
61. ee printlin Enregistrement stopp flagRecord false fin si touche enfoncee l Fonction d arret de Processing public void stop fonction d arr t de Processing cam delete efface l objet GScapture le super stop obligatoire fin fonction stop XXXXXXXXXXXXXXXXXX Fin du programme XXXXXXXXXXXXXXXXX Avant de lancer l ex cution aller dans Tools gt CreateFont pour ajouter la police DejaVuSans 10 qui est utilis e par ce programme Fonctionnement principe d utilisation e l appui sur la touche e pour lancer l enregistrement Un rond rouge s affiche sur l cran e l appui sur la touche s pour stopper l enregistrement Noter que si on relance l enregistrement les images sont enregistr es la suite Une fois la capture termin e on obtient un r pertoire horodat qui contient les fichiers images num rot s monimage test 00000 jpg monimage test 00017 jpg monimage test 00001 jpg monimage test 00018 jpg EM monimage test 00002 jpg monimage test 00019 jpg EM monimage test 00003 jpg Mmonimage test 00020 jpg EH monimage test 00004 jpg Mmonimage test 00021 jpg EE monimage test 00005 jpg monimage test 00022 jpg EH monimage test 00006 jpg monimage test 00023 jpg BA monimage test 00007 jpg Mmonimage test 00024 jpg EM monimage test 00008 jpg EE monimage test 00025 jpg EM monimage test 00009 jpg E monimage test 00026 jpg monimage test 00010
62. efficient fixe label objet sliderCoeff setDecimalPrecision 2 fixe la pr cision sliderCoeff setColorActive color 255 0 0 fixe la couleur active sliderCoeff setColorBackground color 255 255 0 fixe couleur fond sliderCoeff setColorForeground color 0 0 255 fixe couleur avant s1 setArrayValue new float 100 255 fixe les valeurs min max du Slider sliderCoeff setColorCaptionLabel color 0 255 255 fixe couleur Label sliderCoeff setColorValueLabel color 0 0 255 fixe la couleur valeur Initialisation Objets Sliders addSlider theName theMin theMax theDefaultValue theX theY theW theH sliderBase controlP5 addSlider sliderBase 0 4 5 0 10 50 100 15 ajoute un Slider au ControlP5 sliderBase setWindow cw1 met l objet dans la fen tre s1 Slider controlP5 controller MonSlider1 initialise l objet Slider d clar m thodes propres l objet Slider sliderBase setNumberOfTickMarks 10 fixe le nombre crans n 1 pour n valeurs sliderCoeff setNumberOfTickMarks int s1 max 1 fixe le nombre crans n 1 pour n valeurs sliderBase showTickMarks true affichage des rep res sliderBase setSliderMode Slider FLEXIBLE fonctionnement du slider FLEXIBLE ou FIX m thodes communes tous les controles objet Controller sliderBase setLabelVisible true affichage des labels sliderBase setLabel Base fixe label objet sliderBase set
63. enCV partir du parent This opencv allocate widthCapture heightCapture initialise les buffers OpenCv la taille de l image cam start d marre objet GSCapture la webcam void draw fonction ex cut e en boucle Code capture GSVideo if cam available true si une nouvelle frame est disponible sur la webcam background 0 fond noir entre 2 images l gestion image webcam par GSCapture cam read acquisition d un frame image cam1 0 0 affiche image set 0 0 cam affiche image plus rapide l gestion image par Opencv img cam get r cup re l image GS video dans Pimage millisO millis m morise millis opencv copy img autre possibilit charge directement l image GSVideo dans le buffer openCV printlin Dur e chargement buffer OpenCV millis millisO ms affiche image de d part avant op ration sur image image opencv getBuffer 0 0 affiche le buffer principal OpenCV dans la fen tre Processing op rations sur image millisO millis m morise millis application du filtre mixerRGBGray opencv mixerRGBGray applique mixeur RGBGray sur le buffer principal OpenCV avec param tres par d faut 1 0 1 5 2 0 opencv mixerRGBGray 1 0 1 5 2 0 mixerRGBGray appliqu sur objet Iplimage avec param tres ici d tection couleur orang e image opencv getBuffer opencv width
64. ent des markers dans le MultiMarker nyartoolkit for int i 0 i lt markersArray length i nya addARMarker patternPath markersArray i name markersArray i realWidth ajoute le fichier de description l objet principal de d tection AR bordure 25 et 16x16 par d faut printin Fichier charg fin for markersArray i name fin fonction Setup 11 XXXXXXXXXXXXXXXXXXXXXX Fonction Draw XXXXXXXXXXXXXXXXXXXX void draw fonction ex cut e en boucle Code type capture GSVideo if cam available true si une nouvelle frame est disponible sur la webcam background 0 fond noir entre 2 images l gestion image webcam par GSCapture cam read acquisition d un frame image cam 0 0 affiche image set 0 0 cam affiche image plus rapide l gestion d tection et dessin 2D des Markers nya detect cam detection des markers dans l image la r solution voulue nyar4psg l image pass e en param tre doit avoir la m me r solution que ce qui a t d fini l initialisation du constructeur println seuil de binarisation actuel nya getCurrentThreshold affiche le niveau courant du seuillage binaire opencv updateMarkers nya markersArray false met jour le tableau des param tres 2D des markers javacvPro dessin 2D public void draw2DMarkers MultiMarker nyaln Marker markersIn int xRefIn in
65. es frames issues de la webcam OpenCV opencv d clare un objet OpenCV principal int widthCapture 320 largeur image capture int heightCapture 240 hauteur image capture int fpsCapture 30 framerate de Capture int millis0 0 variable m morisation millis void setup fonction d initialisation ex cut e 1 fois au d marrage initialise fen tre Processing size widthCapture heightCapture cr e une fen tre Processing de la 2xtaille du buffer principal OpenCV size img width img height aalternative en se basant sur l image d origine frameRate fpsCapture taux de rafraichissement de l image initialise la webcam cam new GSCapture this widthCapture heightCapture forme simplifi e cam new GSCapture this widthCapture heightCapture v4l2src dev video0 fpsCapture Initialise objet GSCapture d signant webcam forme compl te initialise OpenCV opencv new OpenCV this initialise objet OpenCV partir du parent This opencv allocate widthCapture heightCapture initialise les buffers OpenCv la taille de l image cam start d marre objet GSCapture la webcam charge le fichier de description opencv cascade usr local share OpenCV haarcascades haarcascade frontalface_alt xml utilise chemin absolu R p nom fichier supporte chemin absolu avec ou sans en fin de chaine void draw fonction ex cut e en bouc
66. est Ouvrir Processing sur la GLAP Box Copier coller le code suivant Programme Processing pour la GLAP Box par X HINAULT Tous droits r serv s GPL v3 2012 Test lancement URL site avec Firefox webradio import monclubelec glapbox importe librairie Glapbox qui comporte tout plein de fonctions utiles Glapbox glapbox D clare objet Glapbox qui donne acc s aux fonctions de la librairie String homePath System getProperty user home d finit le chemin utilisateur home user void setup initialisation objet Glapbox glapbox new Glapbox this initialise objet Glapbox glapbox lanceFirefox http mfmradio fr radio player mfm radio en vacances void draw On pourra utiliser cette fonction pour s lectionner une webradio la demande partir de boutons poussoir par exemple transformant la Glap Box en web radio A faire Test de la r cup ration de l adresse IP une fonction de la forme getIP eth Revoir fonction d j faite Test de la r cup ration de l info utile partir de la r ponse d un programme lanc en ligne de commande exemple d un programme de calcul de l l vation solaire Test d enregistrement dans des fichiers Test de l enregistrement de donn es dans un fichier texte Mat riel Aucun mat riel n cessaire en dehors de la GLAP Box Explications On teste ici l enregistrement de do
67. ielil affiche valeur numerique enti re ou virgule au format d cimal Serial print mesure_brute Serial print s parateur entre les valeurs E I REM FOF I Serial println finCAN fin de la chaine saut de ligne delay 100 fixe une pause entre 2 mesures plus le d lai est court plus la trace est rapide fin de la fonction loop le programme recommence au d but de la fonction loop sans fin PE kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk J Fin programme Programmer la carte Arduino Une fois la carte Arduino programm e pour v rifier le bon fonctionnement du programme __ ouvrir le Terminal S rie fixer le d bit 115200 e vous devez voir d filer une s rie de chaine correspondant aux mesures sur les 6 voies analogiques simultan ment E x V dev ttyACMO ste X CARE 222 227 239 249 259 272 finCAN ICARE 277 275 281 288 305 320 finCAN ICARE 321 316 319 320 339 352 finCAN CARE 351 346 346 347 357 374 finCAN CARE 371 364 363 355 352 339 finCAN ICARE 329 320 311 296 261 241 finCAN CARE 249 251 254 249 228 211 finCAN ICARE 223 229 241 251 257 275 finCAN ICANE 279 277 283 289 307 320 finCAN CARE 323 317 320 323 339 352 finCAN i j NM Autoscroll Newline w 115200 baud e Une fois que vous tes s r que marche bien fe
68. indispensable mais conseill A gauche dans le tableau de bord sup rieur cliquer sur l ic ne de mise jour et valider la mise jour Laisser le processus se faire tout simplement Cliquer sur fermer quand c est termin Des mises jour sont disponibles pour cet ordinateur Les mases jour lngoctetles corigent des emeus liminent des failles de S curit t appatett de nouvebes tonctioenalites Navigateur mermet simpie et s r de Mozilla Application des changements Application des changements Pr paration de la configuration de pidgin P D taiis Sr 62 mises juur ont st s lechonn es 95 2 Mio vont tre t l charges V rifie PAL les mises peaj D Descripbon de la mise juur Fsrom tres gt Installation Utilisation Truc d utilisation
69. jpg monimage test 00027 jpg monimage test 00011 jpg monimage test 00028 jpg EM monimage test 00012 jpg fmonimage test 00029 jpg EM monimage test 00013 jpg monimage test 00030 jpg EM monimage test 00014 jpg EM monimage test 00015 jpg EM monimage test 00016 jpg Pour manipuler facilement ces images il existe plusieurs logiciel Sous Xubuntu et donc sur la GLAP Box il existe stopmotion accessible depuis le menu XFCE gt Multim dia gt Stopmotion Avec ce logiciel de cliquer sur le bouton ajouter des images puis d ouvrir le r pertoire des images de toutes les s lectionner et de lancer la lecture en fixant la vitesse de d filement Tr s pratique Ce logiciel permet galement d exporter les images dans un fichier vid o 4 O4 bb oh n Sinon pour des manipulations plus avanc es on pourra aussi utiliser kino sous Ubuntu sur poste fixe La capture d image haute vitesse est tr s int ressante pour faire du slow motion mouvement ralenti Ceci est particuli rement int ressant lorsqu on la couple de la reconnaissance visuelle d objet color permettant la d tection des nombreuses positions interm diaires d un objet en mouvement Exemple de suivi d une balle haute vitesse r alis avec une GLAP Box et ma librairie Javacvpro OpenCV sous Processing Test de la reconnaissance visuelle et vision par ordinateur en temps r el Ces tests n cessitent une webcam c
70. le Code capture GSVideo if cam available true si une nouvelle frame est disponible sur la webcam background 0 fond noir entre 2 images l gestion image webcam par GSCapture cam read acquisition d un frame image cam1 0 0 affiche image set 0 0 cam affiche image plus rapide l gestion image par Opencv img cam get r cup re l image GS video dans Pimage millisO millis m morise millis opencv copy img charge l image GSVideo dans le buffer openCV printlin Dur e chargement buffer OpenCV millis millisO ms affiche image de d part avant op ration sur image image img 0 0 affiche le buffer principal OpenCV dans la fen tre Processing op rations sur image millisO millis m morise millis faceRect opencv detect true d tection des visages avec messages debug faceRect opencv detect 3 true d tection des visages avec coeff vitesse lev e et messages debug opencv drawRectDetect true affiche les rectangles d tect s avec messages debug printlin Nombre de visages de face d tect s faceRect length printin Dur e traitement image par OpenCV millis millis0 ms affiche image finale image opencv getBuffer widthCapture 0 affiche le buffer principal OpenCV dans la fen tre Processing fin if available fin
71. lle frame est disponible sur la webcam cami read acquisition d un frame image cami 0 0 affiche image set 0 0 cam affiche image plus rapide imgDest caml get r cup re l image GS video dans Pimage si l enregistrement est activ if flagRecord true trace cercle rouge dans coin sup droit fill rouge stroke rouge ellipse widthCapture 30 30 20 20 11 enregistrement des images imgDest loadPixels charge les pixels en m moire maVideo addFrame imgDest pixels ajoute les pixels de l image la vid o attention ajoute les pixels et pas l image if debug printlin Nombre de frames en attente maVideo getQueuedFrames if debug printlin Nombre de frame abandonn s maVideo getDroppedFrames fin if flagRecord fin if available while true stoppe boucle draw fin de la fonction draw XXXXXXXXXXXXXXXXXXXXXX Autres Fonctions XXXXXXXXXXXXXXXXXXXXXX fre gestion v nement clavier void keyPressed si une touche est appuy e if key e si touche ee enfoncee maVideo start lance l objet GSMovieMaker printin Enregistrement d marr flagRecord true if key s si touche s enfoncee maVideo finish ferme l objet MovieMaker printlin Enregistrement stopp flagRecord false fin si touche enfoncee fee Fonction d arret de Processing public void stop
72. ltats avec framerate webcam entre 20 et 30 et frameRate programme idem ou multiple plus grand 40 pour 20 par ex la liste des webcam install es sous Ubuntu Gnu Linux est donn e par la commande 1s dev video cami play d marre objet GSCapture la webcam version GSVideo avant 0 9 cam start d marre objet GSCapture la webcam version GSVideo apr s 0 9 Initialisation Objets OpenCV librairie javacvPro traitement d image et reconnaissance visuelle opencv new OpenCV this initialise objet OpenCV partir du parent This opencv allocate widthCapture heightCapture cr e les buffers image de la taille voulue cr ation d un objet MultiMarker avec r solution voulue les param tres cam ra et le syst me de coordonn es voulu nya new MultiMarker this widthAR heightAR camParamPath NyAR4PsgConfig CONFIG_ DEFAULT fixe le nombre de fois qu un marqueur ne doit plus etre d tect pour ne plus l afficher Par d faut 10 Mettre 1 pour visualisation imm diate nya setLostDelay 1 fixe le niveau de seuil de d tection utiliser Valeur possible entre 0 et 255 Mettre 1 THLESHOLD_AUTO pour seuil automatique respecter la faute nya setThreshold MultiMarker THLESHOLD_ AUTO fixe le niveau de seuil de confiance probabilit de correspondance utiliser pour la reconnaissance des markers Valeur possible entre 0 et 1 Valeur par d faut 0 51 D
73. me eth0 Link encap Ethernet HWaddr XX XxX XX XX XX XX inet adr 192 168 1 10 Bcast 192 168 1 255 Masque 255 255 255 0 adr inet6 fe80 221 85ff fe3f 705b 64 Scope Lien UP BROADCAST RUNNING MULTICAST MTU 1500 Metric 1 Packets re us 109 erreurs 0 0 overruns 0 frame 0 TX packets 81 errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lg file transmission 1000 Octets re us 15129 15 1 KB Octets transmis 16402 16 4 KB Interruption 43 Adresse de base 0xc000 Link encap Boucle locale inet adr 127 0 0 1 Masque 255 0 0 0 adr inet6 1 128 Scope H te UP LOOPBACK RUNNING MTU 16436 Metric 1 Packets re us 2071 erreurs 0 0 overruns 0 frame 0 TX packets 2071 errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lg file transmission 0 Octets re us 91741 91 7 KB Octets transmis 91741 91 7 KB Link encap Ethernet HWaddr XxX XX XX XX XX XX inet adr 192 168 3 106 Bcast 192 168 3 255 Masque 255 255 255 0 adr inet6 fe80 9afc 11ff febf 24c1 64 Scope Lien UP BROADCAST RUNNING MULTICAST MTU 1500 Metric 1 Packets re us 64118 erreurs 0 0 overruns 0 frame 0 TX packets 14347 errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lg file transmission 1000 Octets re us 22328447 22 3 MB Octets transmis 1252998 1 2 MB Sur ce poste 1l y a 3 interfaces r seaux identifi es chacune par les lettres de la premi re colonne e l interface eth0 correspondant un r seau thernet e l interface lo correspondant au r seau local sur le poste fixe lui m
74. nn es dans un fichier texte A intervalle r gulier on crit des valeurs dans un fichier texte au format dit CSV qui sera ensuite facilement utilisable dans un serveur Cette fonctionnalit sera tr s pratique pour r aliser des enregistrements de donn es partir de mesures faites par une carte Arduino par exemple On utilise ici la fonction suivante de la librairie Glapbox pour Processing e _java io PrintWriter ouvreFichierTexte java lang String cheminAbsoluFichierIn Le test Ouvrir Processing sur la GLAP Box Copier coller le code suivant Programme Processing pour la GLAP Box par X HINAULT Tous droits r serv s GPL v3 07 2011 MAJ 07 2012 Test de l criture de donn es dans un fichier texte import monclubelec glapbox importe librairie Glapbox qui comporte tout plein de fonctions utiles Objets utiles Glapbox glapbox D clare objet Glapbox qui donne acc s aux fonctions de la librairie PrintWriter output null initialise un objet PrintWriter pour stocker le flux de donn e crire dans le fichier String homePath System getProperty user home d finit le chemin utilisateur home user String cheminAbsoluFichier homePath Bureau trans positions txt le fichier doit exister chemin entier obligatoire long seconde0 0 comptSeconde 0 variables des secondes boolean debug true activation du debug void setup initialisation objet Glap
75. nt dans fichier avi cf nom fichier avec encodage MJPEG et qualit MEDIUM all quality settings are WORST LOW MEDIUM HIGH and BEST Available codecs are THEORA 71 XVID X264 DIRAC MJPEG MJPEG2K As for the file formats the following are autodetected from the filename extension FI ogg OGG 17 avi Microsofts AVI mov Quicktime s MOV flv Flash Video mkv Matroska container mp4 MPEG 4 3gp 3GGP video mpg MPEG 1 mj2 Motion JPEG 2000 Please note that some of the codecs containers might not work as expected depending on which gstreamer plugins are installed Also some codec container combinations don t seem to be compatible for example THEORA AVI or X264 0GG setQueueSize int npre int nenc maVideo setQueueSize 0 10 fixe le nombre de frame maxi en attente en pr encodage java 0 si pas de limite et en post encodage gstreamer Sets the maximum size of the pre encoding and encoding queues When the encoding queue is full the frames start to be accumulated in the pre encoding queue By setting the size of the pre encoding queue to zero it can grow arbitrarily large fin fonction Setup 17 XXXXXXXXXXXXXXXXXXXXXX Fonction Draw XXXXXXXXXXXXXXXXXXXX void draw fonction ex cut e en boucle Code type capture GSVideo utilisation possible aussi de captureEvent if cami available true si une nouve
76. o est un simple miroir qui va renvoyer sur le port s rie la cha ne re ue sur le port S rie Le code Processing va consister permettre la saisie d une cha ne de caract re vers Arduino l aide d un champ de saisie La cha ne re ue sur le port s rie par Processing sera affich e dans la console Le test c t Arduino Ouvrir Arduino sur la GLAP Box Copier coller le code suivant Programme Arduino Auteur du Programme X HINAULT Tous droits r serv s Programme crit le 02 02 2011 I _ Licence du code de ce programme 11 I IIIIIII 1 1 1 PRESENTATION DU PROGRAMME I _ Que fait ce programme Le programme re oit une cha ne de caract re se terminant par un saut de ligne depuis une interface Processing sur le port s rie USB Cette cha ne re ue est renvoy e vers Processing et peut etre affich e dans la console Processing Ce programme utilise la nouvelle classe String du langage Arduino Fonctionnalit s utilis es Utilise la connexion s rie vers le PC I _ Circuit r aliser La connexion s rie vers le PC utilise les broches 0 et 1 via le c ble USB LL AASS III IAIA TATLI 1 Ent te d clarative 1141 1117 ce niveau sont d clar es les librairies incluses les constantes les variables les objets ut iles D claration des variables globales int octetRe
77. ode CORNER origine image CORNER coin sup gauche CENTER centre ellipseMode CENTER origine cercles ellipses CENTER centre autres RADIUS CORNERS CORNER strokeWeight 0 largeur pourtour frameRate 15 Images par seconde The default rate is 60 frames per second initialisation fen tre de base size widthCapture 2 heightCapture ouvre une fen tre xpixels x ypixels background 0 0 0 couleur fond fenetre initialisation des objets et fonctionnalit s utilis es Initialisation Objets GSVideo capture et ou lecture video GSCapture this int requestWidth int requestHeight int frameRate String sourceName String cameraName cami new GSCapture this widthCapture heightCapture v4l2src dev video0 fpsCapture Initialise objet GSCapture d signant webcam largeur et hauteur doivent tre compatible avec la webcam typiquement 160x120 ou 320x240 ou 640x480 Meilleurs r sultats avec framerate webcam entre 20 et 30 et frameRate programme idem ou multiple plus grand 40 pour 20 par ex la liste des webcam install es sous Ubuntu Gnu Linux est donn e par la commande ls dev video cami play d marre objet GSCapture la webcam version GSVideo avant 0 9 camli start d marre objet GSCapture la webcam version GSVideo apr s 0 9 fin fonction Setup 17 XXXXXXXXXXXXXXXXXXXXXX Fonction Draw XXXXXXXXXXXXXXXXXXXX
78. onnect e la GLAP Box sur un port USB Test de la reconnaissance visuelle de visage Mat riel Ce test n cessite une webcam connect e la GLAP Box Explications Cette fonction utilise la librairie la librairie JavacvPro qui impl mente OpenCV sous Processing L ensemble de la cha ne logicielle est d j install e sur la GLAP Box et le test suivant doit fonctionner imm diatement normalement Le test Ouvrir Processing sur la GLAP Box Copier coller le code suivant il s agit de l un des exemples de ma librairie JavacvPro Programme d exemple de la librairie javacvPro 7 par X HINAULT Mars 2012 Tous droits r serv s Licence GPLv3 Exemple fonction Cascade d tection de visages import codeanticode gsvideo importe la librairie vid o GSVideo qui impl mente GStreamer pour Processing compatible Linux librairie comparable la librairie native vid o de Processing qui impl mente QuickTime Voi r Reference librairie Video Processing cette librairie doit tre pr sente dans le r pertoire modes java libraries du r pertoire Process ing 1 5 voir ici http gsvideo sourceforge net import monclubelec javacvPro importe la librairie javacvPro import java awt pour classes Point Rectangle Pimage img Rectangle faceRect GSCapture cam d clare un objet GSCapture repr sentant une webcam L objet GSCapture tend PImage se comporte comme un conteneur d
79. our ouvrir un dossier partir d un lanceur il faudra faire e sous Ubuntu nautilus rep e sous xubuntu thunar rep soit dans notre cas thunar mnt nfs Ici sont rassembl es toute une s rie de proc dures de test des principales fonctionnalit s de la GLAP Box ce qui permet Test de la synth se vocale avec espeaker Gspeaker Test de la synth se vocale avec pico TTS Test de la capture webcam standard Test de la capture webcam haute vitesse Test du retour vid o Test de la capture audio Test du retour audio gt prog miroir Afin de pouvoir facilement g rer les fonctionnalit s du syst me partir de Processing je vous propose la librairie Glapbox pour Processing qui int gre toute une s rie de fonctions faciles utiliser pour acc der directement aux programmes du syst me tels que la synth se vocale la lecture de fichier sons etc Ce test de base de Processing est tr s facile faire et permet de s assurer que Processing fonctionne normalement e se connecter la GLAP Box voir ici Acc s au bureau distant par VNC e clic sur l ic ne Processing dans le tableau sup rieur du bureau de la GLAP Box e une fois Processing activ aller dans Examples gt 3D gt Form gt RGBCube ou tout autre code de son choix e puis clic sur le bouton d ex cution on doit obtenir la fen tre graphique de Processing suivante gt oma gt OF E
80. r ici http ww sojamo de libraries controlP5 d claration objets String str1 machaine d clare un objet String chaine de caract re String chaineEnvoi d clare un objet String chaine de caract re port S rie Serial myPort Cr ation objet d signant le port s rie ControlP5 controlP5 d clare un objet principal de la librairie GUI controlPs Button envoiButton d clare objet Button Textfield chaineText d clare des objets Textfield d claration variables globales 11 d claration des variables de couleur utiles int jaune color 255 255 0 int vert color 0 255 0 int rouge color 255 0 0 int bleu color 0 0 255 int noir color 0 0 0 int blanc color 255 255 255 int bleuclair color 0 255 255 int violet color 255 0 255 17 XXXXXXXXXXXXXXXXXXXXXX Fonction SETUP XXXXXXXXXXXXXXXXXXXXXX void setup fonction d initialisation ex cut e 1 fois au d marrage initialisation param tres graphiques utilis s colorMode RGB 255 255 255 fixe format couleur R G B pour fill stroke etc fi11 0 0 255 couleur remplissage RGB stroke 0 0 0 couleur pourtour RGB rectMode CORNER origine rectangle CORNER coin sup gauche CENTER centre imageMode CORNER origine image CORNER coin sup gauche CENTER centre strokeWeight 0 largeur pourtour frameRate 30 Images par seconde initialisation fen tre de base
81. r return re oit la chaine println Ev nement CheminText avec valeur theText chaineEnvoi theText m morise le contenu du champ printlin Le chemin est chaineEnvoi fin ev nement champ texte chemin fichier XXXXXXXXXXXXXXXXXX Fin du programme XXXXXXXXXXXXXXXXX Avant de lancer l ex cution aller dans Tools gt CreateFont pour ajouter la police DejaVuSans 9 qui est utilis e par ce programme Ensuite lancer l ex cution du programme un champ de saisie appara t Saisir une cha ne et cliquer sur le bouton envoi La r ponse d Arduino doit s afficher dans la console OO ER REZ envoi_chaine_arduino Programme processing g n r avec l n rateur de code Processing www mon club elec fr par X HINAULT F vrier 2011 tous droits r serv P envoi_ chaine _arduino Ut Ut Ut Ut4 Ut Aj 4 k envoi d une autre chaine ENVOI Envoi EU Reco l CA cnmarne ENVOYEZ par aruru EL LE ATTEINTE UNS LE eurrsv le C est tout b te mais au moins vous tes s r que la communication USB entre Arduino et Processing se fait bien Ce qui suppose que le port USB soit bien reconnu notamment Sur la GLAP Box fonctionne normalement tout de suite par simple copier coller du code ci dessus Test interface graphique oscilloscope Mat riel Ce test n cessite une carte Arduino connect e la GLAP Box M Se Id alement connecter galement un capteur ou une r sist
82. rairie doit tre pr sente dans le r pertoire modes java libraries du r pertoire Process ing 1 5 voir ici http gsvideo sourceforge net import monclubelec javacvPro importe la librairie javacvPro PImage img Blob blobsArray null tableau pour la d tection des blobs contour de forme GSCapture cam d clare un objet GSCapture repr sentant une webcam L objet GSCapture tend PImage se comporte comme un conteneur des frames issues de la webcam OpenCV opencv d clare un objet OpenCV principal int widthCapture 320 largeur image capture int heightCapture 240 hauteur image capture int fpsCapture 30 framerate de Capture int millis0 0 variable m morisation millis void setup fonction d initialisation ex cut e 1 fois au d marrage initialise fen tre Processing size widthCapture 2 heightCapture 2 cr e une fen tre Processing de la 2xtaille du buffer principal OpenCV size img width img height aalternative en se basant sur l image d origine frameRate fpsCapture taux de rafraichissement de l image initialise la webcam cam new GSCapture this widthCapture heightCapture forme simplifi e cam new GSCapture this widthCapture heightCapture v4l2src dev video0 fpsCapture Initialise objet GSCapture d signant webcam forme compl te initialise OpenCV opencv new OpenCV this initialise objet Op
83. respondre 1 balle r affichage image de d part image img opencv width opencv height dessin du rectangle autour du trac de la forme opencv drawRectBlobs blobsArray xRef yRef scale colorStroke strokeWeight fill colorFill toutes ces formes sont possibles opencv drawRectBlobs blobsArray trace le rectangle avec les param tres par d faut opencv drawRectBlobs blobsArray opencv width opencv height 1 trace rectangle en se basant sur point r f rence et avec les param tres opencv drawRectBlobs blobsArray opencv width opencv height 1 color 255 0 255 2 false 0 trace rectangle avec les param tres dessin du pourtour du blob sur l image de d part opencv drawBlobs blobsArray xRef yRef scale radius colorStroke strokeWe ight fill colorFill mode toutes ces formes sont possibles opencv drawBlobs blobsArray trace les formes du tableau de Blobs avec param tre par d faut opencv drawBlobs blobsArray opencv width opencv height 1 trace les formes du tableau de Blobs en se basant sur point r f rence param tre par d faut opencv drawBlobs blobsArray opencv width opencv height 1 5 color 0 0 255 1 false 0 0 trace pourtour en cercles bleus dessin du centre du blob sur le trac de la forme opencv drawCentroidBlobs blobsArray xRef yRef scale radius colorStroke strokeWeight fill colorFill
84. rint mouseX Ecrit les coordonn es courantes de la souris dans le PrintWriter output print mouseY output printlin Ajoute saut de ligne affichage dans la console if debug print Ajoute au fichier la ligne print comptSeconde Ecrit la seconde courante dans le PrintWriter print mouseX Ecrit les coordonn es courantes de la souris dans le PrintWriter print mouseY printin Ajoute saut de ligne fin if debug output flush Ecrit les donn es dans le fichier E RA fin draw void keyPressed si une touche est appuy e on sort du programme output close Termine l enregistrement en fermant le fichier exit Stoppe le programme Fonctionnement principe d utilisation Une fois le programme lanc tant que l on d place la souris dans la fen tre Processing la position est enregistr e chaque seconde On peut envisager d enregistrer de la sorte tout ce que l on veut au format texte des cha nes en provenance d Arduino sur le port s rie notamment On peut ainsi r aliser du datalogging simplement ou cr er des fichiers de suivis d v nements Noter la possibilit d horodater facilement le nom du fichier On obtient ensuite un fichier dans le r pertoire utilis qui est accessible par VNC ou NFS positions2_8_2012_15_23_39 txt positions2_8_2012_15_26_45 txt positions2_8_2012_15_28_55 txt positions2_8_2012_15_30_56 txt
85. rmer la fen tre Terminal Ne pas oublier de le faire Sinon le port s rie de la carte Arduino est d j occup et Processing ne pourra pas s y connecter Le test c t Processing Ouvrir Processing sur la GLAP Box Copier coller le code suivant Programme processing g n r avec le g n rateur de code Processing X HINAULT Mars 2011 tous droits r serv s www mon club elec fr 11 _ Licence du code de ce programme This program is free software you can redistribute it and or modify it under the terms of the GNU General Public License as published by the Free Software Foundation either version 3 of the License _ or any later version This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the GNU General Public License for more details You should have received a copy of the GNU General Public License along with this program If not see lt http www gnu org licenses gt Description du programme Utilise le port Serie Utilise une police texte ENTETE DECLARATIVE 1 1111 inclusion des librairies utilis es import processing serial importe la librairie s rie processing import controlP5 importe la librairie GUI controlP5 cette librairie doit tre pr
86. s Suivi d objet color haute vitesse de capture 1640m 12ms 83fps Exemple de suivi d une balle haute vitesse r alis avec une GLAP Box et ma librairie Javacvpro OpenCV sous Processing Test de la reconnaissance de marker ARToolkit Mat riel Ce test n cessite une webcam connect e la GLAP Box Vous devez galement disposer d un marker reconna tre Voir ici comment en obtenir un n MAIN OutilsProcessingARToolkitAvecProcessing Explications Cette fonction est bas e sur la librairie Nyar4Psg qui impl mente ARToolkit sous Processing La librairie JavacvPro int gre des fonctions qui permettent de faciliter la d tection des markers Le test Ouvrir Processing sur la GLAP Box Copier coller le code suivant Programme processing g n r avec le g n rateur de code Processing du site www mon club elec fr par X HINAULT tous droits r serv s Programme crit le 29 2 2012 I Licence du code de ce programme GPL v3 This program is free software you can redistribute it and or modify it under the terms of the GNU General Public License as published by the Free Software Foundation either version 3 of the License or any later version This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
87. s d un robot mobile d un syst me de mesure ou de capture vid o d acc s difficile ou peu pratique etc VNC server VNC viewer client VNC protocol Principe de l acc s distant par VNC La GLAP Box est configur e par d faut en serveur VNC Le protocole VNC est opensource est ind pendant de la plateforme ainsi on peut acc der la GLAP Box depuis un MAC Windows Linux et m me Android Est peu s curis ce qui est sans importance sur un r seau local d di Mais si on souhaite plus de s curit on pourra tunnelliser la connexion VNC par SSH voir le manuel GLAP Box from Scratch pour le d tail de la proc dure Supporte le retour vid o On consid re ici que l acc s distant au bureau de la GLAP Box se fait par VNC Virtual Network Computing sur un r seau local disposant d un routeur Le r seau doit donc disposer au minimum du routeur du r seau soit une Box internet classique soit un routeur d di wifi et ou ethernet selon le mode de connexion utilis de la GLAP Box connect e au routeur soit en wifi soit en thernet filaire pour une premi re utilisation utiliser une connexion ethernet filaire du poste fixe sous Gnu Linux Windows ou Mac Os X voire Android permettant d acc der au bureau de la GLAP Box par VNC Pel fan Masque 255 255 255 0 Port VNC ouvert 5900 Carte Arduino On consid re ici que l attribution des adresses sur le r seau se fait
88. sente dans le r pertoire libraries du r pertoire Processing voir ici http www sojamo de libraries controlP5 d claration objets 1J port S rie Serial myPort Cr ation objet d signant le port s rie ControlP5 controlP5 d clare un objet principal de la librairie GUI controlPs police texte PFont fontA cr e un objet de police texte d claration variables globales l d claration des variables de couleur utiles int jaune color 255 255 0 int vert color 0 255 0 int rouge color 255 0 0 int bleu color 0 0 255 int noir color 0 0 0 int blanc color 255 255 255 int bleuclair color 0 255 255 int violet color 255 0 255 variables de configuration g n rales des trac s int nombreVoies 1 nombre de voies de mesure boolean niveauxLogiques false pour affichage niveaux logiques sur trac int heightTrace widthTrace variable taille trac int decalageGauche 100 int taillePoliceTrace 9 d cla tableau int numbers new int 3 o int numbers 90 150 30 int xRef new int nombreVoies tableau variable x de r f rence coin inf gauche du trac int yRef new int nombreVoies tableau variable y de r f rence coin inf gauche du trac int couleurVoie new int 6 tableau de variables de couleur du trac des voies analogiques int xPos new int nombreVoies tableau v
89. t me de coordonn es 3D MultiMarker nya d claration de l objet principal pour reconnaissance des markers nya pour nyArtoolkit d claration variables globales 11 d claration des variables de couleur utiles int jaune color 255 255 0 int vert color 0 255 0 int rouge color 255 0 0 int bleu color 0 0 255 int noir color 0 0 0 int blanc color 255 255 255 int bleuclair color 0 255 255 int violet color 255 0 255 variable pour la taille de la capture video int widthCapture 320 2 largeur capture int heightCapture 240 2 hauteur capture int fpsCapture 15 framerate image secondes pour la capture video NB pour la d tection des markers on peut utiliser une grande r solution facilement Le r sultat sera quand m me rapide et la pr cision plus lev e l variables pour calibration webcam float ouvertureX 19 43 ouverture largeur en degres Hercules DualPix Exchange float ouvertureX 22 53 ouverture largeur en degres Logitech C270 calcul avec tan angle largeur r elle 2 distance camera exemple Logitech C270 1 2 largeur r elle 83cm distance 200 cm d o tan angle 0 415 et d o angle 22 53 deg l variables pour reconnaissance des Markers avec nyARToolkit String homePath System getProperty user home d finit le chemin utilisateur home user l chemin absolu fichier de p
90. t nfs Voil si pas de message d erreur c est bon Ne pas oublier le avant le nom du chemin de montage apr s l adresse A noter pour automatiser le montage NFS depuis le poste client on pourra utiliser un script comme par exemple bin bash script montage NFS par XH Aout 2011 echo script de Montage NFS c t client disque read p Quelle est l adresse du serveur NFS 192 168 x x ou quiv adresse saisie de l adresse echo L adresse IP du serveur NFS monter est adresse read p Quel est le r pertoire du home du serveur NFS monter sur le client xavier ou glapbox Bureau ou quiv repertoire saisie du r pertoire echo Le r pertoire du home du serveur NFS monter sur le client est repertoire echo Le script va monter adresse home repertoire sur mnt nfs read p lt OK gt pour attendre entr e pour continuer sudo mount t nfs o rw adresse home repertoire mnt nfs Test Saisir dans la console pour voir si le montage nfs est bien en place ce qui donne Utilisation Il suffit pr sent d aller dans r pertoire mnt nfs on doit voir le contenu de la GLAP Box On peut d s lors r aliser des changes de fichiers entre la GLAP Box et le PC de contr le en toute simplicit On pourra galement cr er un lanceur sur le bureau du client vers le r pertoire mnt nfs pour acc der facilement au contenu du r pertoire A noter que p
91. t yRefIn float scaleIn int radius int colorStrokeln int strokeWeightIn boolean fillIn int colorFillIn boolean debugIn opencv draw2DMarkers nya markersArray trace les markers javacvPro opencv distanceMarkers nya markersArray ouvertureX widthCapture false calcule et m morise la distance r elle des Markers la cam ra javacvPro acc der aux caract ristiques 2D des markers le centre la rotation du marker sur lui meme s lectionner un Marker voulu premi re possibilit if nya isExistMarker 3 si le marker indice 3 est d tect println Le marker markersArray 3 name est d tect le nom du fichier de description du marker 7 2 me possibilit if opencv isExistMarker nya markersArray 4x4 _23 patt d tecte si marker d tect partir de son nom printin Le marker 4x4 _23 patt est d tect le nom du fichier de description du marker ai 3 me possibilit if opencv isExistMarker nya markersArray 23 d tecte si marker d tect partir de son numero pas l indice Marker selectedMarker opencv selectMarker markersArray 23 s lectionne le marker voulu printin Le marker selectedMarker name est d tect le nom du fichier de description du marker printin Le centre est en x selectedMarker center2D x y selectedMarker center2D y
92. tre de la fenetre cew1 setLocation 100 100 fixe la localisation dans la fenetre ew1 setUndecorated true fixe la bordure de la fen tre ajout de controles la fenetre ControlWindow nomObjet setWindow cw1 met l objet dans la fen tre b1 setWindow cw1 met l objet dans la fen tre t1 setWindow cw1 met l objet dans la fen tre s1 setWindow cw1 met l objet dans la fen tre Initialisation Objets Toggle addToggle String theName boolean theDefaultValue float theX float theY int theWidth int theHeight togglePause controlP5 addToggle togglePause false 10 90 20 20 initialise et ajoute un Button au ControlPs5 m thodes propres l objet Toggle togglePause setMode ControlP5 DEFAULT fixe le mode de fonctionnement du Toggle ControlP5 DEFAULT ou ControlP5 SWITCH togglePause setWindow cw1 met l objet dans la fen tre t2 setMode ControlP5 SWITCH fixe le mode de fonctionnement du Toggle ControlP5 DEFAULT ou ControlP5 SWITCH m thodes communes tous les controles objet Controller togglePause setLabelVisible true affichage des labels togglePause setLabel Pause fixe label objet togglePause setDecimalPrecision 2 fixe la pr cision togglePause setColorActive color 255 0 0 fixe la couleur active togglePause setColorBackground color 255 0 255 fixe couleur fond togglePause setColorForeground color 0 0 255
93. ur R G B pour fill stroke etc fi11 0 0 255 couleur remplissage RGB noFill si pas de remplissage stroke 0 0 255 couleur pourtour RGB noStroke si pas de pourtour rectMode CORNER origine rectangle CORNER coin sup gauche CENTER centre imageMode CORNER origine image CORNER coin sup gauche CENTER centre ellipseMode CENTER origine cercles ellipses CENTER centre autres RADIUS CORNERS CORNER strokeWeight 0 largeur pourtour frameRate 30 Images par seconde The default rate is 60 frames per second initialisation fen tre de base size widthCapture heightCapture P3D ouvre une fen tre xpixels x ypixels 3D active background 0 0 0 couleur fond fenetre initialisation des objets et fonctionnalit s utilis es Initialisation Objets GSVideo capture et ou lecture video GSCapture this int requestWidth int requestHeight int frameRate String sourceName String cameraName cami new GSCapture this widthCapture heightCapture fpsCapture v4l2src dev video0 Initialise objet GSCapture d signant webcam avant GSVideo 1 0 cam new GSCapture this widthCapture heightCapture v4l2src dev video0 fpsCapture Initialise objet GSCapture d signant webcam depuis GSVideo 1 0 largeur et hauteur doivent tre compatible avec la webcam typiquement 160x120 ou 320x240 ou 640x480 Meilleurs r su
94. us pais trace ligne niveau tension line xRef nbTrace yRef nbTrace heightTrace heightTrace 5 i xRef nbTrace widthTrace 1 yRef nbTrace theightTrace heightTrace 5 i affiche valeur tension de la ligne textFont fontA taillePoliceTrace text i coeff base V int i 1023 5 coeff xRef nbTrace 5 yRef nbTrace heightTrace heightTrace 5 i taillePoliceTrace if niveauxLogiques true si dessin niveau logique activ stroke 255 255 0 couleur pourtour RGB strokeWeight 2 largeur du trait en pixels fi11 255 255 0 couleur remplissage RGB ligne niveau logique bas 0 3 x Vcc pour carte Arduino ATmega328 textFont fontA taillePoliceTrace text Niveau BAS xRef nbTrace 5 yRef nbTrace heightTrace 0 3 coeff heightTrace 5 line xRef nbTrace 0 yRef nbTrace heightTrace 0 3 coeff heightTrace xRef nbTrace widthTrace 1 yRef nbTrace theightTrace 0 3 coeff heightTrace ligne niveau logique haut 0 6 x Vcc pour carte Arduino ATmega328 textFont fontA taillePoliceTrace text Niveau HAUT xRef nbTrace 5 yRef nbTrace heightTrace 0 6 coeff heightTrace 5 line xRef nbTrace 0 yRef nbTrace theightTrace 0 6 coeff heightTrace xRef nbTrace widthTrace 1 yRef nbTrace theightTrace 0 6 coeff heightTrace fin si dessin niveaux logiques fin boucle d filement des trac s affichage du coefficient courant
95. vec valeur valeur base valeur base delay 100 vite prise en compte multiple AIVII1 1 1 1 7 fin du programme 11 1 1111 1 1 11 1 77 Avant de lancer l ex cution aller dans Tools gt CreateFont pour ajouter la police DejaVuSans 9 qui est utilis e par ce programme Ensuite lancer l ex cution du programme un graphique doit appara tre correspondant l affichage sous forme oscilloscope de la mesure r alis e par Arduino koen sketch _aug03a Lil k foo ear TECH CET OT A affiche dar 3 i e la s Serial list 0 115200 7 ET A i s S idre La chaine CAN re ue est valide Vous voyez sur votre poste fixe et distance en live les mesures r alis es par votre carte Arduino embarqu e distance pas mal non Ce qu il faut bien comprendre c est qu partir du moment o l acc s la GLAP Box peut se faire par wifi votre GLAP Box peut d s lors se trouver embarqu e sur un robot mobile ou une plateforme en hauteur ou ext rieure et vous pouvez visualiser sur le poste fixe les mesures en cours distance etc J imagine que vous donne quelques id es non A noter que vous pouvez galement stopper l ex cution du code Processing reprogrammer aussi bien Arduino que Processing et relancer l ex cution SANS TOUCHER PHYSIQUEMENT la GLAP Box C est tr s puissant pour d velopper vos codes tout en laissant votre montage en situation r elle
96. xport Test du d clenchement de la synth se vocale par programme Mat riel Ce test n cessite une paire d enceintes ou un casque connect la GLAP Box Explications La librairie Glapbox pour Processing permet d acc der 2 moteurs de synth se vocale pr sents sur la GLAP Box espeak et picoTTS Les fonctions disponibles avec la librairie Glapbox sont e void direTexte java lang String texte java lang String moteurTTS boolean flagWait e void direTexteEspeak java lang String texte e void direTexteEspeakNoWait java lang String texte e void direTextePico java lang String texte e void direTextePicoNoWait java lang String texte Le test Ouvrir Processing sur la GLAP Box Copier coller le code suivant Programme Processing pour la GLAP Box par X HINAULT Tous droits r serv s GPL v3 2012 EEE Ya import monclubelec glapbox importe la librairie Glapbox qui comporte tout plein de fonctions utiles Glapbox glapbox D clare objet Glapbox qui donne acc s aux fonctions de la librairie void setup initialisation objet Glapbox glapbox new Glapbox this initialise objet Glapbox void draw String texte Bonjour tous Je mappelle pico et je sais parler glapbox direTexte texte PICOTTS true synth se vocale avec PICOTTS attend fin synthese texte Bonjour tous Je mappelle ispik et je sais aussi parler glapbox direTexte texte E

Download Pdf Manuals

image

Related Search

Related Contents

MODEMPLOI_GoTalk - Les fiches tactiles du CRETH  Untitled - Hammer Nederland by NRG fitness systems  製品名称 - 富士通  Bicycle 30447A User's Manual  Colorlab 250 manual  User manual  Mise en page 1  Bulletin du collectif des plaisanciers et pêcheurs  Circulaire  TDSH ー BA 東芝ガーデンライ ト用ポール取扱説明書  

Copyright © All rights reserved.
Failed to retrieve file