nodelab

AerMotion

AerMotion est une application permettant de contrôler son ordinateur grâce à son smartphone. Le contrôle se fait par des gestes qui seront captés par la caméra du smartphone.

aermotion

Comment ça marche ?

L'application Android se connecte à votre ordinateur par Bluetooth, et c'est par ce biais qu'il envoie les informations à un logiciel installé sur votre ordinateur pour interagir avec celui-ci. Pour pouvoir utiliser AerMotion vous devez donc disposer d'un smartphone Android et d'un ordinateur sous Windows. Les versions pour les autres systèmes d'exploitation ne sont pas encore disponibles. Vous pouvez par contre télécharger les versions de test qui se trouvent sur le site officiel www.aermotion.com.

But

Ce projet a été réalisé par quatre étudiants de la HES-SO//Valais entre septembre 2013 et janvier 2014 dans le cadre d'un cours de "Projet et Gestion appliquée".

Le but était d'utiliser la librairie de vision par ordinateur OpenCV (Open Source Computer Vision Library) sur un smartphone Android. Cette librairie est initialement une librairie en C++ destinée aux ordinateurs. Mais avec l'augmentation de la puissance de calcul des smartphones, il est devenu imaginable de faire tourner ces algorithmes de traitement d'image sur smartphone. C'est pourquoi OpenCV a été porté en Java, ce qui nous permet de l'utiliser dans une application Android.

Un aspect intéressant de ce projet est qu'il fallait développer le produit, mais également faire toute la partie gestion, création de startup, lancement du produit, etc.

Détection de mouvement

Plusieurs traitements du flux vidéos sont effectués pour extraire les informations voulues, soit les mouvements de la main de gauche à droite et de droite à gauche dans un premier temps. Juste pour les énoncer, ces traitements sont les suivants :

  • Conversion des couleurs en HSV
  • Filtrage du bruit
  • Filtrage de couleurs
  • Soustraction du background
  • Détection des contours
  • Extraction de la position du centre de la main

Avec la position du centre de la main en continu, le mouvement peut être déterminé selon des patterns.

Connexion entre le smartphone et l'ordinateur

La connexion entre les deux appareils se fait par Bluetooth. Pour communiquer avec l'appareil Android, le logiciel installé sur l'ordinateur utilise le profil SPP (Serial Port Profile) du Bluetooth, c'est-à-dire qu'ils communiquent via un port série virtuel. Une fois que le logiciel a trouvé le port COM sur lequel le smarthpone s'est connecté, il capture chaque trame envoyée du smartphone et la transforme en commande Windows pour émuler une touche du clavier.

Utilisation

L'app peut donc permettre de contrôler différents logiciels sur l'ordinateur comme une présentation PowerPoint, un lecteur de musique ou même pour gérer les applications ouvertes.

aermotion usage

Où en est le projet ?

L'application pour Windows est terminée et fonctionnelle. L'application Android quant à elle est au stade de prototype : la détection de mouvement peut être améliorée et le design de l'interface mérite un bon coup de pinceau. Ce projet en est resté au stade de projet et aucune suite n'a donc été prévue.