Retour aux projets
Programmation · 2025

Prise WiFi pilotable

Conception et développement d'une prise connectée en WiFi, pilotable à distance via une application mobile et une interface web, intégrant la programmation horaire et des alertes de température automatiques.

2025
Cameron FLORENCE
Programmation
Prise WiFi pilotable
Idée de départ

L'objectif de ce projet était de concevoir une prise intelligente (connectée en WiFi) entièrement contrôlable à distance via un site web et une application mobile.

Au-delà du simple allumage et de l'extinction, le système devait intégrer des fonctionnalités domotiques avancées telles que la programmation de créneaux horaires d'activation et la surveillance thermique. En cas de dépassement d'un seuil de température critique (surchauffe), le dispositif devait être capable d'alerter l'utilisateur instantanément par l'envoi d'un SMS et d'un e-mail.

Technologies utilisées
ArduinoArduino
ESP32
Capteur de température & LED
Raspberry PiRaspberry Pi
PythonPython
DjangoDjango
MQTTMQTT
MIT App InventorMIT App Inventor
Répartition des rôles
Groupe site web
Développement du site web sous Django/Python et gestion de la communication MQTT côté serveur.
  • Arthur
Groupe programmation
Assemblage matériel (capteurs, ESP32, LEDs), programmation C++ (Arduino), configuration WiFi et implémentation du protocole MQTT (commandes individuelles et groupées).
  • Cameron
Groupe application mobile
Création de l'application mobile (MIT App Inventor), interface utilisateur, système d'authentification, gestion des créneaux horaires et intégration du système d'alertes (SMS/E-mail).
  • Tanguy
  • Louis
Déroulement du projet
1
Configuration du serveur — Installation et paramétrage du système d'exploitation sur le Raspberry Pi pour héberger l'infrastructure web.
2
Conception matérielle & embarquée — Montage électronique (ESP32, capteur de température, LED) et programmation Arduino incluant la gestion de la connexion WiFi.
3
Communication IoT (MQTT) — Implémentation des topics MQTT pour le contrôle individuel des prises, ainsi qu'une commande de groupe.
4
Développement Web — Création de l'interface de contrôle web sous Django/Python, avec développement de scripts externes pour la gestion des flux MQTT.
5
Application Mobile & Sécurité — Conception de l'application (MIT App Inventor) avec écran de connexion, gestion des planifications horaires et système d'alertes automatisées (SMS/E-mails).

Application mobile
Application mobile
Contraintes et solutions

Lors de la configuration initiale du Raspberry Pi, nous avons été confrontés à des refus de connexion lors du partage de réseau en WiFi. Pour contourner ce blocage et finaliser sereinement l'installation du système d'exploitation, nous avons opté pour une connexion filaire directe via un câble RJ45.

Sur la partie logicielle, l'intégration de la réception MQTT (l'abonnement aux topics) directement au sein du framework Django s'est révélée complexe, le framework n'étant pas nativement pensé pour des écoutes de ce type. La solution technique a consisté à développer des scripts Python externes dédiés à l'écoute MQTT, que nous appelions ensuite de manière dynamique depuis Django.

Résultats
Prises connectées totalement opérationnelles et réactives.
Application mobile ergonomique et sécurisée fonctionnelle.
Site web de pilotage distant déployé avec succès sur le Raspberry Pi.
Système de planification horaire et d'alertes (SMS/E-mail) validé.
Retour d'expérience

Ce projet a été une excellente opportunité pour mettre en pratique et approfondir mes compétences en programmation embarquée (Arduino/C++) et en communication IoT avec le protocole MQTT.

Il m'a également permis de travailler pour la première fois avec un Raspberry Pi, me faisant découvrir son potentiel et son efficacité en tant que serveur léger pour des projets domotiques.