Poubelle connectée : Différence entre versions
(→Début de l'application Android) |
(→Déroulé détaillé des séances) |
||
Ligne 34 : | Ligne 34 : | ||
Le projet peut être vu comme un puzzle. Chacune de ses pièces était indépendante au départ, puis nous les avons réunies au fil de l'avancement du travail. | Le projet peut être vu comme un puzzle. Chacune de ses pièces était indépendante au départ, puis nous les avons réunies au fil de l'avancement du travail. | ||
− | Ainsi, au cours de cette partie, nous allons expliquer le projet selon ses différentes parties et thématiques plutôt que selon les séances | + | Ainsi, au cours de cette partie, nous allons expliquer le projet selon ses différentes parties et thématiques plutôt que selon les séances. |
===Réalisation du circuit électronique et acquisition des mesures=== | ===Réalisation du circuit électronique et acquisition des mesures=== | ||
Ligne 65 : | Ligne 65 : | ||
[[Fichier:BLE_Blocs.jpeg]] | [[Fichier:BLE_Blocs.jpeg]] | ||
+ | |||
+ | Comme nous pouvons le voir-dessus, les blocs permettent de définir les actions à effectuer lorsque l'on appuie sur l'un des boutons de l'application. | ||
+ | *Scanner les réseaux disponibles lorsque l'on appuie sur le bouton ''Scan''. | ||
+ | *Afficher la liste des réseaux lorsque ceux-ci sont détectés. | ||
+ | *Se connecter au réseau sélectionné dans la liste lorsque l'on appuie sur ''Connect''. | ||
+ | |||
+ | Nous pouvions vérifier du côté Arduino que la connexion se faisait bien. | ||
+ | En effet, nous pouvions afficher dans le port série qu'une connexion/déconnexion avait eu lieu. | ||
+ | |||
+ | ===Transfert de données entre l'Arduino et le téléphone=== | ||
+ | |||
+ | L'étape de transfert des données était plus complexe. | ||
+ | Afin de transmettre des données entre périphériques BLE, il faut avoir recours aux UUID. Ce sont des identifiants propres à chaque périphérique BLE. Il existe plusieurs "sous UUID" selon que l'on est en lecture ou en écriture. |
Version du 20 janvier 2019 à 13:22
Sommaire
Présentation du sujet
Contexte
Le module transversal "Internet des objects" a pour but de nous familiariser avec le concept des objets connectés et d'en réaliser un.
La durée totale dédiée au projet est de 24h.
Description du sujet
Nous avons choisi de réaliser une poubelle connectée qui peut avoir plusieurs utilisations. Celle qui nous est venue à l'esprit est de simplifier la vie des personnes en charge du ménage et notamment notamment du changement des sacs des poubelles.
En effet, le but de notre projet est de réaliser une application permettant de savoir en un coup d’œil si une poubelle doit être vidée ou non. Ainsi, il n'est plus nécessaire d'ouvrir toutes les poubelles pour voir si celles-ci doivent-être vidées ou si le sac est encore suffisamment vide.
Réalisation
Matériel utilisé
- Carte Arduino Uno
- Shield Bluetooth Low Energy (BLE)
- Breadboard
- Capteur de température et d'humidité (DHT11)
- Capteur de contact
- Capteur de force
Principales tâches à effectuer
- Réalisation du circuit électrique comprenant la carte Arduino et les capteurs
- Réalisation de l'application Android (via MIT App Inventor)
- Transfert des données en Bluetooth entre la carte Arduino et l'application Android
Déroulé détaillé des séances
Le projet peut être vu comme un puzzle. Chacune de ses pièces était indépendante au départ, puis nous les avons réunies au fil de l'avancement du travail. Ainsi, au cours de cette partie, nous allons expliquer le projet selon ses différentes parties et thématiques plutôt que selon les séances.
Réalisation du circuit électronique et acquisition des mesures
Une fois le choix du sujet établi, nous avons sélectionné les différents capteurs. L'ensemble du matériel nécessaire pour mener à bien le projet était déjà disponible en salle de TP.
Nous avons donc réalisé le circuit électronique à l'aide la breadboard, sur laquelle nous avons connecté les composants/capteurs :
- DHT11 (humidité et température à l'intérieur de la poubelle)
Les données issues du capteur capteur DHT11 (ci-dessus) peuvent être lues à l'aide d'une librairie. La connexion à la carte Arduino se fait de manière numérique et non analogique.
- Contact (poubelle correctement refermée ou non)
Le capteur de contact fonctionne également de manière numérique (Oui/Non <==> contact/pas de contact).
- Force (poids des déchets à l'intérieur de la poubelle)
Les données sont ici transmises de manière analogique (renvoie une valeur de 0 à 1023 car le CAN de l'Arduino est de 10 bits).
Nous avons utilisé un port Série pour afficher dans l'interface Arduino les valeurs issues de ses capteurs et leur bon fonctionnement.
Début de l'application Android
Nous avons utilisé l'outil MIT App Inventor pour réaliser notre application. Il s'agit d'un outil basé sur une programmation par blocs. Chaque bloc reprend les instructions de base (IF, WHEN, etc...) donc lequel on place d'autres blocs indiquant les actions à effectuer.
La connexion Bluetooth entre la Shield BLE et le téléphone (en passant par les paramètres Android) se faisait simplement. Nous devions alors implémenter la connection Bluetooth dans le module MIT. Il fallait d'une part ajouter le composant Bluetooth (prenant en charge le Low Energy) et ensuite saisir les instructions pour effectuer la connexion.
Comme nous pouvons le voir-dessus, les blocs permettent de définir les actions à effectuer lorsque l'on appuie sur l'un des boutons de l'application.
- Scanner les réseaux disponibles lorsque l'on appuie sur le bouton Scan.
- Afficher la liste des réseaux lorsque ceux-ci sont détectés.
- Se connecter au réseau sélectionné dans la liste lorsque l'on appuie sur Connect.
Nous pouvions vérifier du côté Arduino que la connexion se faisait bien. En effet, nous pouvions afficher dans le port série qu'une connexion/déconnexion avait eu lieu.
Transfert de données entre l'Arduino et le téléphone
L'étape de transfert des données était plus complexe. Afin de transmettre des données entre périphériques BLE, il faut avoir recours aux UUID. Ce sont des identifiants propres à chaque périphérique BLE. Il existe plusieurs "sous UUID" selon que l'on est en lecture ou en écriture.