Aimant intelligent

De Wiki de Projets IMA
Révision datée du 20 mars 2015 à 14:49 par Byvernau (discussion | contributions) (Avancement du Projet)


Cahier des charges

Présentation générale du projet

Contexte

Les objets connectés sont de plus en plus présent et deviendront très utiles au quotidien. Vous voulez avoir une liste de course ou un rappel sur un rendez-vous que vous avez dans la journée, tout ceux ci peut être possible grâce aux objets connectés.

Objectif du projet

Concevoir un objet connecté aimanté permettant de délivrer des rappels (agenda, liste de courses, ...).

Description du projet

Le but de ce projet est de développer un "aimant" qui utilisera une balise BLE (Bluetooth Low Energy) qui nous permettra de partager des données simplement et localement depuis un téléphone portable cela reprend l'idée du post-it sur le réfrigérateur.

On sépare ce projet en deux parties :

  • un système embarqué permettant de recevoir et de transmettre des informations
  • une application Android permettant de communiquer avec le système

On concevra à l'aide de l'imprimante 3D le boitier qu’accueillera le système.

Choix techniques : matériel et logiciel

Partie système :

  • RFduino et programmateur [disponible dans votre boîte au 05/02/2015, un programmateur et 3 RFduino]
  • Batterie [à spécifier]
  • Des matériaux pour la fabrication du boitier (non encore spécifié) [ PLA avec imprimante 3D ?]

Partie application Android :

  • logiciel JDK (Java Development Kit)
  • le paquet "Android Studio"
  • émulateur Android Virtual Device
  • Téléphone portable Android compatible avec BLE [Fourni le 25/02/2015]

Etapes du projet

Etape 1 : Étude bibliographique sur le BLE et sur le développement d'application Android (java)

Etape 2 : Faire fonctionner la balise BLE avec la transmission et la réception d'un message.

Etape 3 : Faire un début d'application Android pour gérer l'écriture d'un message et sa réception

Etape 4 : Finition de l'application et réflexion sur la forme du boitier

Etape 5 : Réalisation du boîtier

Planning prévisionnel de l'avancement du projet

semaine 1 : Recherche bibliographique sur le fonctionnement de la BLE et sur les applications Android (développement en java)

semaine 2 à 6 : Faire fonctionner la balise BLE en transmission et réception

semaine 2 à 6 : Développement de l'application sous Android

semaine 6 à 9 : mise en marche des deux systèmes ensemble (BLE + application Android)

semaine 7 à 9 : Fabrication du boitier

semaine 10 à 11 : réalisation de la vidéo

Avancement du Projet

Semaine 1

Finalisation du cahier des charges.

Pendant cette premiere semaine, nous avons effectué nos recherches documentaires sur la technologie BLE et sur la réalisation d'une application Android :

- BLE : [1]

- RFduino [2] : Kit pour débuter avec le RFduino [3]

- Cours de Java [4]

- Cours pour créer un application Android [5]


Nous avons installer une application " Android Studio " qui va nous permettre le codage de notre application.

Semaine 2

Cette seconde semaine est le prolongement de la semaine 1 :

Application android :

- Nous avons continué la recherche et l'apprentissage de programmation android et java grâce aux cours sur internet.

- Nous avons aussi commencé à ce pencher sur le coté relation entre la BLE et l'application android.

Partie système :

- Récupération de la BLE à la fin de la fin semaine

- Recherche d'information sur la balise RFduino et les applications réalisées


Pour la prochaine semaine, commencement de la programmation de la BLE et commencement de l'application android.

Semaine 3

Partie android :

Nous avons fait la partie .xml de l'application donc qui prend en compte le coté "design" de l'application pour avoir une idée de qu'est ce que l'application va prendre en compte.

Capture d’écran.png

On va essayer de réaliser les points suivant :

 - un bouton pour la mise en marche du bluetooth
 - une bulle avec les différents bluetooth scanné autour
 - un bouton pour se connecter à l'appareil voulu
 - une bulle avec le message déposer
 - une bulle pour poser un message

Pour la semaine prochaine, nous allons commencer le code .java pour la communication avec le RFduino avec l'aide du tutoriel suivant [6].

Pour la partie .xml, nous amélioreront la partie "design" quand notre connection avec l'RFduino marchera.

[Alexandre] Attention, la partie "design" n'est pas forcément essentielle au départ. Il faut absolument avoir une communication pour avoir très rapidement une démonstration fonctionnelle ; n'oubliez pas non plus la partie encapsulation avec l'imprimante 3D [Alexandre]

Partie BLE :

Récupération de la librairie RFduino pour pouvoir coder avec l'IDE Arduino [7]

Installation de cette librairie comme indiqué sur le lien suivant [8]

Etude des différents exemples donnés avec la librairie grâce aux explications des fonctions utilisées [9]

Réflexion sur l'alimentation de la balise : la balise doit être alimenté en 3V. On a donc choisi d'utiliser une pile bouton de 3V pour avoir un objet le plus petit au final.

Semaine 4

Android :

Réalisation du code java pour la connexion avec RFduino [10]. J'ai effectué des testes avec l'émulateur de android studio (certain bug avec l'émulateur) du code pour la détection de bluetooth mais il y a quelques erreurs avec "Bluetooth permission". L'application se lance et se ferme directement


Partie BLE :

Début de la réalisation du code pour la partie connexion. Essai de ce code mais il y a un problème au niveau de la compilation.

Semaine 5

Partie Android :

Récupération d'un tablette samsung, passage de la tablette en "option de développement" pour permettre de tester directement l'application sur la tablette.

Correction du problème de "permission du bluetooth", l'application s'ouvre sur notre tablette samsung. Par contre notre code de détecte pas le RFduino. On travaille sur ce problème la

Partie BLE :

Continuation du travail de la semaine dernière. Correction de l'erreur et test de ce code. Cependant comme l'application Android ne fonctionne pas encore, on a testé la connexion avec une application déjà existante.

Réflexion sur comment gérer la transmission des messages et comment les sauvegarder. Mais nous ne savons pas encore comment faire pour sauvegarder (soit dans l'appli soit avec la balise).

Réflexion sur le boîtier qui va accueillir la balise BLE. Une première idée est de faire une sphère dont il y a une partie plate ou une demi sphère pour avoir une certaine stabilité. On a aussi réfléchit à comment pouvoir changer la pile sans enlever toute la balise du support. Peut-être faire deux compartiments : un pour la balise et un autre pour la pile.

Semaine 6

Partie Android :

Continuation de l'application : Nous arrivons à détecter la BLE sur notre application en appuyant sur un bouton "Scan" qui après nous affiche : -Nom -Mac -RSSI -Scan Rtecord

Capture deconnecter.png

Puis nous avons réussit aussi la connexion à la BLE en appuyant sur un bouton "Connexion":

Capture connecter.png

On observe le statut qui change entre les deux images : "Déconnecter" à "Connecter"

La semaine prochaine, on va se focaliser la l'envoie de donnée à la BLE.

Partie BLE :

Semaine 7

Fichiers Rendus