Aimant intelligent : Différence entre versions
(→Semaine 7) |
(→Semaine 7) |
||
Ligne 198 : | Ligne 198 : | ||
Nous avons réussit l'envoie et la réception de donnée (texte) entre la BLE et l'application Android. Il faut maintenant passer à la sauvegarde des messages. | Nous avons réussit l'envoie et la réception de donnée (texte) entre la BLE et l'application Android. Il faut maintenant passer à la sauvegarde des messages. | ||
− | [[Fichier:Reception_message.jpg|600px | + | [[Fichier:Reception_message.jpg|1000px|600px]] |
[[Partie BLE :]] | [[Partie BLE :]] |
Version du 11 mai 2015 à 16:57
Sommaire
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
- 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 ?]
- 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 :
- 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.
- 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
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.
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]
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
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
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
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 ne détecte pas le RFduino. On travaille sur ce problème la
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
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
Puis nous avons réussit aussi la connexion à la BLE en appuyant sur un bouton "Connexion":
On observe le statut qui change entre les deux images : "Déconnecter" à "Connecter"
La semaine prochaine, on va se focaliser sur l'envoie et le reception de donnée à la BLE.
Cette semaine, nous avons géré, dans un premier temps, l'envoie d'une donnée d'une application vers la balise. Test avec une autre appli avec affichage de ce qui à été envoyé sur le port série. Ça fonctionne bien. Envoie de donné vers la BLE en recopiant le message arrivant
Semaine 7
Nous avons réussit l'envoie et la réception de donnée (texte) entre la BLE et l'application Android. Il faut maintenant passer à la sauvegarde des messages.
La semaine prochaine, nous allons faire la réalisation du réceptacle de la BLE avec l'imprimante 3D
Semaine 8
Problème avec l'affichage du message reçu par la BLE.
Travail sur le logiciel pour modéliser nos pièces avant l'impression 3D
Ici le socle avec 4 petites pièces pour pouvoir mettre une visse et boulon pour fermer.
Ici la seconde pièce qui est une demi-sphère vide :
Nous n'avons pas réussi à rajouter les 4 cubes sous Freecad.
On va donc essayer de faire la pièce sous solidworks.
Après les problèmes de modélisation rencontrés sous Freecad, on a utilisé SolidWorks. Nous obtenons les pièces suivantes:
Le "dessus" du boitier:
Le "couvercle" :
Une fois que le boitier est fermé, nous obtenons :
Objectifs pour la semaine 9 : impression de notre pièce et faire fonctionner la sauvegarde des messages
Semaine 9
Toujours sur le problème d'affichage du message reçu par la BLE. N'affiche que la première lettre.
Nous avons réussit à imprimer notre première piece via l'imprimante 3D.
La semaine prochaine, nous allons imprimer la seconde partie du boitier et travailler sur le debug de l'application
Semaine 10
Nous avons imprimé le socle (2nd pièce).
Et voici une image de notre boite fermé.
Nous avons au début pensé à fermer le boîtier avec des vis en fessant des troues mais nous avons préférer mettre des élastiques sur le prototype.
Nous avons aussi remarqué que notre boîtier est un peu trop grand. La BLE ce balade dans le boitier.
La semaine prochaine, réalisation du PCB pour le support de pile
Semaine 11
Finalisation du boîtier, nous avons coller des aimants sous le boîtier.
Nous avons été malade cette semaine, nous avons donc pas réussit à faire notre PCB.
La semaine prochaine : -Préparation de la video
Semaine 12
Nous avons trouvé le problème d'affichage du message. Avec la BLE, nous envoyions lettre par lettre donc du coup nous affichions que la premiere lettre reçu. Nous envoyions maintenant le mot en entier et celui-ci s'affiche.
Réalisation de la video faite le jeudi 23 avril à 8H30 avec le service Video de l'école
Bilan
Nous avons malheureusement pas eu le temps de porter notre projet à bout. Il nous manque encore quelques points a traiter :
- La suppression individuel d’un message - Faire marcher la sauvegarde des messages par la BLE - Le PCB de la pile qui nous permettre de rendre la balise indépendante
Mais ce projet a été pour nous une excellente expérience personnelle et pédagogique. Nous avons pu mener un projet de A à Z, avec la mise en place d’un cahier des charges et d’un planning prévisionnelle. Nous avons su nous montrer autonomes face aux difficultés rencontrées. Nous avons dû apprendre à gérer notre projet au niveau de l’organisation du travail et du temps. Nous avons acquis de nouvelles compétences comme le développement Android/Java ou encore l'utilisation de l'imprimante 3D.