Introduction
Un projet marquant de ma 3ème année en MMI (Métiers du Multimédia et de l'Internet) a été la conception d'une table basse interactive avec des dispositifs IoT (Internet of Things) au sein d'une équipe étudiante.
Réalisation créée le : 11/04/2025 09:47:01
Réalisation mise à jour le : 11/04/2025 16:18:10
Un projet marquant de ma 3ème année en MMI (Métiers du Multimédia et de l'Internet) a été la conception d'une table basse interactive avec des dispositifs IoT (Internet of Things) au sein d'une équipe étudiante.
L'enjeu de ce projet était de taille : nous devions créer un prototype de table basse interactive avec à notre disposition un plateau de table, une télé Samsung non tactile, du matériel Arduino et un Raspberry Pi 5.
Étant libre sur le choix de la technologie à utiliser pour créer l'interface projetée sur la télé, nous avons décidé de prendre un défi supplémentaire en optant pour VueJS, langage de programmation front-end qu'aucun membre de l'équipe n'avais expérimenté auparavant. Disposant de cartes Arduino, nous avons logiquement ajouté du C++ à notre projet.
De plus, l'objectif était de concevoir un produit qui pourrait servir comme table de salon, il nous a donc fallu penser à l'optimisation de l'espace utilisé.
Après réflexion, nous avons décidé de créer une application web proposant 2 modes : l'un permet d'afficher un fond d'écran sur la télé parmi ceux que nous avons conçus pour ce projet. L'autre mode propose aux utilisateurs 3 jeux différents :
- Golfeer Pong : un savant mélange entre une partie de golf et un beer pong, les joueurs jouent chacun leur tour pour tenter de rentrer leurs balles dans les emplacements situés au milieu de l'écran. Le jeu s'arrête quand les joueurs le décident !
- Ça passe ou ça casse : dans ce jeu inspiré inspiré de Limite-Limite, les joueurs tentent de proposer la phrase la plus drôle ou incongrue pour compléter une phrase à trou !
- Question pour un Mojito : comme son titre le suggère, ce jeu met en confrontation ses joueurs pour déterminer lequel d'entre eux méritera de boire un Mojito !
Nous avons également du penser à optimiser l'espace qu'utiliserait nos différents dispositifs Arduino, nous les avons donc accrochés à la table une fois que nous l'avons montée, et nous les avons reliés par USB au Raspberry Pi 5 que j'ai configuré afin qu'il serve comme serveur d'hébergement en local avec Nginx. Dans un souci d'expérience utilisateur, j'ai également mis en place le lancement automatique d'une fenêtre Chromium en mode kiosque sur notre application dès que le Raspberry est démarré.
Après plusieurs semaines à travailler d'arrache-pied sur ce projet, nous sommes parvenus à le livrer dans les délais avec l'ensemble des fonctionnalités que nous avions prévu.
Les utilisateurs qui feront l'acquisition de Cheers auront la possibilité de démarrer l'application très simplement en branchant le Raspberry à la télévision grâce à un câble HDMI, et en alimentant le boitier sur une prise secteur. Aucune connaissance technique n'est demandée, les utilisateurs peuvent ainsi se livrer à des apéritifs endiablés autour de ce produit innovant.
Pour jouer, chaque joueur prend un verre équipé d'un jeton RFID et vient le placer sur les puces de détection, il peut alors se placer du côté de la table ou sa zone de jeu s'est créée et utiliser les boutons pour les différentes actions disponibles en fonction des jeux.
Ce projet a été une expérience enrichissante à plusieurs niveaux, tant au niveau humain grâce au travail en groupe que sur le plan technique, malgré les élément qui ont pu faire obstacle à nos planifications : contraintes matérielles, manque de connaissance sur un langage, imprévus temporels…
Je ressors donc de ce projet enrichi d'une première expérience avec le Framework VueJs, dont j'ai apprécié l'utilisation qui m'a paru fluide de par son approche par composants, et grâce aux options qu'il propose (computed, watch, method, mounted...).
C'était également ma première expérience en configuration d'un serveur d'hébergement en partant de 0, n'ayant pas beaucoup de connaissances en Linux cela a été un challenge très instructif car j'ai pu voir comment gérer les permissions, l'installation de packages et la configuration de différents services.
C'est avec plaisir que je travaillerais à nouveau sur des problématiques de ce genre, pour améliorer mes compétences et découvrir de nouveaux aspects !