Ceci est une ancienne révision du document !
Présentation du projet
Yann SEREE - Créneau matin – yann.seree@gmail.com
Kaiwen YU - Créneau matin
Nom du projet : Économiseur de batterie
Description et scénario
Le but de l’application est de permettre à l’utilisateur d’économiser sa batterie en fonction de son emplacement et de ses habitudes d’utilisation.
L’application permet de cartographier la consommation de la batterie du smartphone de l’utilisateur.
Trois clusters se dégageront de cette carte : les lieux où on ne consomme pas beaucoup de batterie, les lieux où on en consomme moyennement et ceux où on consomme beaucoup.
Ainsi l’utilisateur pourra consulter cette carte et ainsi déterminer ou non s’il doit recharger son smartphone en fonction de l’endroit qu’il souhaite se rendre.
Ainsi en fonction de la position de l’utilisateur, on lui conseillera de recharger ou non son téléphone.
Matériel disponible
Nom du smartphone : OnePlus 3
Caractéristiques techniques : https://oneplus.net/fr/3/specs
Résumé des fiches techniques en termes de ressource :
- Capteurs :
- capteur d’empreinte digitale
- capteur Hall
- accéléromètre,
- gyroscope
- capteur de proximité
- capteur de luminosité ambiante
- boussole électronique
- Localisation
- GPS
- GLONASS
- BeiDou
OS : Android 6.0.1
Environnement logiciel :
- Android Studio (dernière version)
- Projet GitHub
Ressources utilisées dans le projet
Capteurs et data collectés par le mobile :
- Coordonnées GPS
- Consommation de la batterie
Liste des SDK et API : cf. Faisabilité du projet
Cible mobile: la cible mobile sera les smartphones tournant sous Android 4.1 (Jelly Bean) ou supérieur couvrant ainsi 97,1 % des terminaux Android.
Algorithme
Avec les données récoltées nous recherchons à faire 3 clusters : les lieux où on ne consomme pas beaucoup de batterie, les lieux où on en consomme moyennement et ceux où on consomme beaucoup.
Un algorithme non supervisé de type Clustering comme K-means sera donc utilisé.
Faisabilité du projet
Le projet est faisable, en effet les données sont facilement récupérables.
Pour la géolocalisation de l'utilisateur, Google recommande d’utiliser l’API Google Play services location
https://developer.android.com/training/location/index.html?hl=fr
L’API Google Maps sera utilisée pour afficher la carte à l’utilisateur
https://developers.google.com/maps/documentation/android-api/?hl=fr
Le SDK d’Android nous permet d’avoir accès au pourcentage de batterie courante
https://developer.android.com/training/monitoring-device-state/battery-monitoring.html.
Rendu final
Version SEREE
Code
Code source
Serveur
Lancement du serveur
Pour lancer le serveur télécharger le .zip du serveur ci-dessus.
Extraire le .zip puis lancer start.bat.
Le fichier values.json contient les données collectées, le kmean est exécuté à partir des données contenues dans ce fichier.
Application Android
Capture d'écran
Lancement de l'application Android
- Télécharger le zip contenant l'apk (lien ci-dessus)
- Extraire le zip et lancer l'installation de l'apk sur le smartphone
- Rentrez tout d'abord l'adresse IP de la machine qui exécute le serveur (comme sur la première capture d'écran ci-dessus) et cliquez sur le bouton START
- Acceptez ensuite la permission pour la localisation
- Cliquer sur le bouton REFRESH KMEAN pour obtenir le Kmean du serveur, comme sur la seconde capture d'écran ci-dessus, vous obtiendrez les centroids ainsi que les points correspondants aux clusters (vert correspondant à une consommation de batterie faible, bleu à une consommation moyenne et rouge à une consommation forte).
L'utilisateur peut afficher uniquement certain cluster en cochant/décochant les chekbox (faible/moyenne/forte)
Il est également possible de consulter tout les points en cliquant sur l'onglet Liste.
Détails techniques de l'application
en cours…