Enceintes connectées

Android, Bluetooth, Raspberry et objets connectés

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour à tous,

Je travaille actuellement sur un projet universitaire avec quelques amis, aussi j'aimerais bien avoir vos avis et conseils… mais avant, laissez-moi vous le présenter !

Qu'est-ce que ce projet ?

Il s'agit de deux enceintes, chacune placée dans une salle de manière contigüe. Quand l'utilisateur-final entre dans la pièce n°1, la musique se déclenche. Quand il en sort, la musique se met en pause. Quand il entre dans la pièce n°2, la musique reprend là où elle s'était arrêtée. Enfin, vous l'aurez deviné, quand il sort de la pièce n°2, la musique se met en pause.

Présentation de l'équipement

L'utilisateur-final possède un smartphone Android compatible Bluetooth. Les enceintes, filaires, sont reliées à un Raspberry Pi. Ce dernier, compatible Bluetooth, est en communication sans-fil avec le smartphone de l'utilisateur-final.

Enfin, un détecteur de mouvements (webcam) est branché au-dessus de chaque porte d'une salle donnée.

Comment notre projet fonctionne-t-il ?

Pour vous expliquer ça, je vais me placer du côté de l'utilisateur-final :p .

Sur mon smartphone Android, je lance l'application du projet. La liste de mes musiques y apparaît. J'en sélectionne quelques-unes (celles que je veux entendre), puis je clique sur le gros bouton "Envoyer au Raspberry Pi".

Les musiques sont donc envoyées, par Bluetooth, au Raspberry Pi. Ce dernier les reçoit, ouvre son lecteur de musique, et y charge la première musique sélectionnée : il s'apprête à commencer la lecture (mais ne le fait pas encore).

J'entre dans la pièce n°1. Le détecteur de mouvements au-dessus de la porte m'a remarqué, et informe le Raspberry Pi qu'une personne a pénétré dans la salle contenant l'enceinte n°1. Le Raspberry ne doit cependant pas encore lancer la musique : il doit s'assurer que la personne qui est entrée est bien le propriétaire des enceintes, de l'appli, des détecteurs, du Raspberry : bref du produit final.

Pour ce faire, le Raspberry Pi contacte le smartphone qui a envoyé les musiques et lui demande de lui envoyer la position GPS. Si celle-ci correspond à la position GPS de la salle, pas de souci, la musique est lancée. Et c'est le cas !

Ok ok, du coup j'écoute la musique et paf, je quitte la salle n°1. Un détecteur de mouvements de la salle n°1 (n'importe lequel) a en effet détecté un mouvement. Le Raspberry Pi contacte alors le smartphone qui a donné les musiques, s'assure que la position GPS correspond à celle de la salle et bim, arrête la musique le cas échéant.

Pour lancer une musique, le Raspberry Pi dit juste à son lecteur musical de lire la musique. Et comme il est relié par fil aux enceintes, ce sont elles qui diffuseront la musique. Plus précisément, ce sera celle qu'il aura choisi qui le fera. En effet, le Raspberry Pi peut choisir quelle enceinte doit diffuser de la musique car il sait dans quelle salle se trouve l'utilisateur, et il sait aussi dans quelle salle se trouve telle ou telle enceinte (le détecteur de mouvements indiquant la salle).

Voilà, je pense que c'est assez clair :) .

Pourquoi je vous demande votre avis ?

Comme je l'ai dit en introduction, je souhaiterais que vous me donniez vos avis, vos conseils, vos remarques… Que pensez-vous de ce projet ? Est-il réalisable en 3 mois ? Vous paraît-il simple/assez difficile/compliqué à faire ?

Par ailleurs, j'ai quelques questions techniques à vous poser. Les voici.

  1. Savez-vous comment envoyer des données (ici des fichiers de musique) d'un device Android (le smartphone) vers un device non-Android mais compatible Bluetooth lui aussi (le Raspberry Pi) ?

  2. Avez-vous une idée de comment faire pour utiliser des webcam comme détecteurs de mouvements ? Faut-il un gros bagage mathématique ?

Université de Bretagne-Sud <3

+1 -0

C'est un projet très largement faisable en 3 mois. Je vais juste répondre aux 2 dernières questions :

  1. On se fout un peu de savoir si l'appareil est un Android ou non, au final tu envoies un flux audio, et tu peux le faire traiter par le rasp sans soucis. Te faut juste une application sur le rasp qui écoute.
  2. Le truc, c'est comment tu souhaites gérer le cas où il y a 2 personnes, chacune dans une des pièces ? Soit ça suit une personne particulièrement, soit ça joue dans les 2 pièces. Si tu n'as pas besoin de reconnaitre une personne en particulier, c'est l'affaire de quelques lignes de python avec OpenCV, tu n'auras pas besoin de bagage mathématique (sauf si tu veux comprendre plus en détail ce que tu fais)
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte