0% ont trouvé ce document utile (0 vote)
62 vues11 pages

Programmation Systeme Temps Reel

Le document présente plusieurs projets de systèmes utilisant l'ESP8266, chacun ayant des objectifs spécifiques tels que le contrôle à distance d'un relais, la création d'une station météo connectée, un système d'alarme, une boîte aux lettres connectée, et une station de surveillance de la qualité de l'air. Chaque projet inclut une liste de matériel nécessaire, des étapes de fonctionnement, et des connaissances requises en programmation et en web. Les projets visent à intégrer des capteurs et à communiquer avec un serveur web pour diverses applications IoT.

Transféré par

ngembastella
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
62 vues11 pages

Programmation Systeme Temps Reel

Le document présente plusieurs projets de systèmes utilisant l'ESP8266, chacun ayant des objectifs spécifiques tels que le contrôle à distance d'un relais, la création d'une station météo connectée, un système d'alarme, une boîte aux lettres connectée, et une station de surveillance de la qualité de l'air. Chaque projet inclut une liste de matériel nécessaire, des étapes de fonctionnement, et des connaissances requises en programmation et en web. Les projets visent à intégrer des capteurs et à communiquer avec un serveur web pour diverses applications IoT.

Transféré par

ngembastella
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

PROGRAMMATION

SYSTEME TEMPS REEL :

Par Prof. KAPITA


Par groupe de 5 ou moins
(Chaque groupe doit choisir un projet parmi les suivants)
PROJET 1 : CONTROLE D'UN RELAIS A DISTANCE VIA UNE INTERFACE
WEB AVEC ESP8266 (CLIENT WEB)

Objectif du TP :

Concevoir et réaliser un système permettant de contrôler l'état d'un relais


(ON/OFF) à distance via une page web hébergée sur un serveur externe.
L'ESP8266 agira ici comme un client web, envoyant des requêtes HTTP au
serveur pour changer l'état du relais.

Il est possible de connecter une lampe à la sortie du relais.

Matériel Nécessaire :

• 1 x ESP8266 (module ESP-01 ou carte de développement type


NodeMCU)
• 1 x Module Relais 5V (adapté à la tension de l'appareil à contrôler)
• 1 x Transistor NPN (ex : 2N2222)
• 1 x Diode de roue libre (ex: 1N4001)
• 1x Relais
• 1 x Résistance de base pour le transistor (ex: 1kΩ)
• 1 x Résistance pour la LED témoin (ex: 220Ω)
• 1 x LED témoin (couleur au choix)
• Fils de connexion (Jumper wires)
• Alimentation 5V pour l'ESP8266 et le relais (peut être une
alimentation externe ou via USB pour l'ESP8266 et une alimentation
séparée pour le relais si nécessaire)
• Un ordinateur avec l'IDE Arduino installé et configuré pour l'ESP8266.
• Un serveur web accessible via internet ou en local (vous pouvez
utiliser des services d'hébergement gratuits pour des tests).
• Des connaissances de base en programmation Arduino et en concepts
web (requêtes HTTP GET/POST).
NB : SI le module relais a été acheté, alors les composants en rouge ne
valent plus la peine. SI le module relais n’a pas été trouvé, alors il convient
d’utiliser les composants en rouge.

Fonctionnement du Système :

1. Configuration WiFi de l'ESP8266 : Au démarrage, l'ESP8266 se


connecte au réseau WiFi configuré dans le code.
2. Envoi de Requêtes HTTP :
o L'ESP8266 envoie périodiquement (ou sur un événement) une
requête HTTP GET au serveur web pour vérifier l'état souhaité
du relais.
o Le serveur web (script PHP, Python, Node.js, etc.) maintient
une variable ou une base de données indiquant l'état actuel du
relais.
o La réponse du serveur à la requête GET contient l'état actuel du
relais (par exemple, "ON" ou "OFF").
3. Contrôle du Relais :
o L'ESP8266 reçoit la réponse du serveur.
o En fonction de la réponse, l'ESP8266 active ou désactive la
broche GPIO connectée à la base du transistor.
o Le transistor commute le courant à travers la bobine du relais,
activant ou désactivant le contact du relais.
4. Interface Web :
o Le serveur web héberge une page web avec des boutons ou des
commandes permettant à l'utilisateur de changer l'état souhaité
du relais.
o Lorsqu'un utilisateur interagit avec la page web (clique sur un
bouton), une requête HTTP (GET ou POST) est envoyée au
serveur pour mettre à jour l'état du relais dans sa variable/base
de données.
PROJET 2 : STATION METEO CONNECTEE AVEC ESP8266 ET ENVOI
DE DONNEES AU SERVEUR

Objectif du TP :

Concevoir et réaliser une station météorologique simple utilisant un


ESP8266 pour lire les données de température et d'humidité d'un capteur
DHT (DHT11 ou DHT22) et les envoyer à un serveur web distant pour
l'enregistrement et potentiellement la visualisation.

Matériel Nécessaire :

• 1 x ESP8266 (module ESP-01 ou carte de développement type


NodeMCU)
• 1 x Capteur DHT11 ou DHT22 (capteur de température et d'humidité)
• 1 x Résistance de pull-up (généralement 10kΩ) pour la broche de
données du DHT
• Fils de connexion (Jumper wires)
• Alimentation 3.3V pour l'ESP8266 et le capteur DHT (peut être via
USB pour l'ESP8266)
• Un ordinateur avec l'IDE Arduino installé et configuré pour l'ESP8266.
• Un serveur web accessible via internet ou un réseau local (vous
pouvez utiliser des services d'hébergement gratuits ou votre propre
serveur).
• Des connaissances de base en programmation Arduino et en concepts
web (requêtes HTTP GET/POST).
• (Optionnel) Un écran LCD (16x2) pour afficher les données
localement.

Fonctionnement du Système :

1. Configuration WiFi de l'ESP8266 : Au démarrage, l'ESP8266 se


connecte au réseau WiFi configuré dans le code.
2. Lecture des Données du Capteur DHT : L'ESP8266 utilise une librairie
pour communiquer avec le capteur DHT et lire les valeurs actuelles
de température et d'humidité.
3. Envoi des Données au Serveur :
o L'ESP8266 envoie une requête HTTP (GET ou POST) au serveur
web.
o La requête contient les données de température et d'humidité
lues. Par exemple, en utilisant des paramètres dans l'URL (pour
GET) ou dans le corps de la requête (pour POST).
4. Réception et Traitement des Données sur le Serveur :
o Le serveur web (script PHP, Python, Node.js, etc.) reçoit la
requête HTTP.
o Le script côté serveur extrait les données de température et
d'humidité de la requête.
o Les données peuvent ensuite être enregistrées dans une base de
données, un fichier texte, ou utilisées pour une visualisation en
temps réel.
PROJET 3 : SYSTEME D'ALARME CONNECTE AVEC ESP8266
(CLIENT WEB)

Objectif du TP :

Concevoir et réaliser un système d'alarme simple qui peut être armé et


désarmé à distance via une interface web. L'ESP8266 agira comme un client
web pour communiquer avec un serveur qui gère l'état de l'alarme et reçoit
les alertes des capteurs.

Matériel Nécessaire :

• 1 x ESP8266 (module ESP-01 ou carte de développement type


NodeMCU)
• 1 x Capteur de mouvement PIR (Passive Infrared)
• 1 x Buzzer ou Sirène 5V
• 1 x Résistance de pull-down (généralement 10kΩ) pour la sortie du
PIR
• 1 x Transistor NPN (ex: 2N2222) pour contrôler le buzzer/sirène (si
nécessaire pour le courant)
• 1 x Résistance de base pour le transistor (ex: 1kΩ) (si transistor utilisé)
• Fils de connexion (Jumper wires)
• Alimentation 3.3V pour l'ESP8266 et le PIR (peut être via USB)
• Alimentation 5V pour le buzzer/sirène (si nécessaire, peut être la
même que l'ESP si le courant est faible)
• Un ordinateur avec l'IDE Arduino installé et configuré pour l'ESP8266.
• Un serveur web accessible via internet ou en local (vous pouvez
utiliser des services d'hébergement gratuits ou votre propre serveur).
• Des connaissances de base en programmation Arduino et en concepts
web (requêtes HTTP GET/POST).

NB : Il est possible d’utiliser le module relais pour remplacer certains


composants de ce système.

Fonctionnement du Système :

1. Configuration WiFi de l'ESP8266 : Au démarrage, l'ESP8266 se


connecte au réseau WiFi.
2. État de l'Alarme sur le Serveur : Le serveur web maintient un état de
l'alarme (ARMED ou DISARMED).
3. Contrôle de l'Alarme via l'Interface Web :
o Une page web permet à l'utilisateur d'envoyer des requêtes
HTTP (GET ou POST) au serveur pour changer l'état de
l'alarme.
o Le serveur met à jour son état en conséquence.
4. Lecture du Capteur PIR par l'ESP8266 :
o L'ESP8266 lit en continu l'état de la broche connectée à la sortie
du capteur PIR.
5. Détection de Mouvement et Envoi d'Alerte :
o Si le capteur PIR détecte un mouvement et que l'état de l'alarme
sur le serveur est "ARMED", l'ESP8266 :
▪ Déclenche-le buzzer/sirène localement.
▪ Envoie une requête HTTP (GET ou POST) au serveur
pour signaler une intrusion.
o La requête d'alerte peut inclure un horodatage et
potentiellement l'identifiant du capteur.
6. Gestion des Alertes sur le Serveur :
o Le serveur reçoit la requête d'alerte.
o Il peut enregistrer l'alerte dans une base de données, envoyer
une notification par email ou SMS, ou afficher l'alerte sur
l'interface web.
7. Désactivation du Buzzer : Le buzzer local peut être désactivé par
l'ESP8266 après un certain délai ou via une commande reçue du
serveur (implémentation plus avancée).
PROJET 4 : BOITE AUX LETTRES CONNECTEE AVEC NOTIFICATION
EN TEMPS REEL (ESP8266 CLIENT WEB)

Objectif du TP :

Concevoir et réaliser une boîte aux lettres connectée qui envoie une
notification en temps réel à un serveur web lorsqu'un courrier est déposé.
L'ESP8266 agira comme un client web pour détecter l'événement et notifier
le serveur.

Matériel Nécessaire :

• 1 x ESP8266 (module ESP-01 ou carte de développement type


NodeMCU)
• 1 x Capteur de proximité (infrarouge, inductif ou à ultrasons - adapté
à la détection de courrier)
• (Optionnel) 1 x Microswitch ou interrupteur de fin de course (pour
détecter l'ouverture/fermeture de la fente de la boîte aux lettres)
• 1 x Résistance de pull-down ou pull-up (selon le capteur/interrupteur)
• Fils de connexion (Jumper wires)
• Alimentation 3.3V pour l'ESP8266 et le capteur
• Un ordinateur avec l'IDE Arduino installé et configuré pour l'ESP8266.
• Un serveur web accessible via internet ou en local (vous pouvez
utiliser des services d'hébergement gratuits ou votre propre serveur).
• Des connaissances de base en programmation Arduino et en concepts
web (requêtes HTTP GET/POST).

Fonctionnement du Système :

1. Configuration WiFi de l'ESP8266 : Au démarrage, l'ESP8266 se


connecte au réseau WiFi.
2. Détection de Courrier :
o Le capteur de proximité est positionné de manière à détecter
l'insertion d'un courrier dans la boîte aux lettres.
o Le microswitch est positionné pour changer d'état lorsque la
fente de la boîte est ouverte pour insérer du courrier.
3. Envoi de Notification au Serveur :
o Lorsqu'un événement de dépôt de courrier est détecté
(changement d'état du capteur ou du microswitch), l'ESP8266
envoie immédiatement une requête HTTP (GET ou POST) au
serveur web pour signaler l'événement.
o La requête peut inclure un horodatage.
4. Réception et Traitement de la Notification sur le Serveur :
o Le serveur web reçoit la requête de notification.
o Le script côté serveur peut enregistrer l'événement (horodatage)
dans une base de données ou un fichier de log.
o Le serveur peut ensuite déclencher une action, comme l'envoi
d'une notification push vers un smartphone via une application
dédiée (nécessite une implémentation plus avancée avec des
services comme Firebase Cloud Messaging (FCM) ou
équivalent).
PROJET 5 : STATION DE SURVEILLANCE DE LA QUALITE DE L'AIR
INTERIEUR CONNECTEE (ESP8266 CLIENT WEB)

Objectif du TP :

Concevoir et réaliser une station de surveillance de la qualité de l'air


intérieur qui mesure en temps réel des paramètres tels que le niveau de
CO2, les particules fines (PM2.5), la température et l'humidité, et envoie
ces données à un serveur web pour la visualisation et l'enregistrement.
L'ESP8266 agira comme un client web pour collecter les données des
capteurs et les transmettre.

Matériel Nécessaire :

• 1 x ESP8266 (module ESP-01 ou carte de développement type


NodeMCU)
• 1 x Capteur de CO2 (ex: MH-Z19B)
• 1 x Capteur de particules fines PM2.5 (ex: PMS5003)
• 1 x Capteur DHT11 ou DHT22 (température et humidité)
• Convertisseur de niveau logique (si nécessaire pour le MH-Z19B qui
fonctionne en 5V)
• Fils de connexion (Jumper wires)
• Alimentation 5V pour le MH-Z19B et le PMS5003 (si nécessaire)
• Alimentation 3.3V pour l'ESP8266 et le DHT
• Un ordinateur avec l'IDE Arduino installé et configuré pour l'ESP8266.
• Un serveur web accessible via internet ou en local (vous pouvez
utiliser des services d'hébergement gratuits ou votre propre serveur).
• Des connaissances de base en programmation Arduino et en
communication série (pour les capteurs).
• Des connaissances en concepts web (requêtes HTTP GET/POST).
• (Optionnel) Un écran LCD (16x2 ou OLED) pour afficher les données
localement.

Fonctionnement du Système :

1. Configuration WiFi de l'ESP8266 : Au démarrage, l'ESP8266 se


connecte au réseau WiFi.
2. Lecture des Données des Capteurs :
o L'ESP8266 communique via la liaison série (UART) avec les
capteurs MH-Z19B (CO2) et PMS5003 (PM2.5). Des librairies
Arduino spécifiques facilitent la lecture de ces capteurs.
o L'ESP8266 utilise une librairie DHT pour lire la température et
l'humidité du capteur DHT.
3. Envoi des Données au Serveur :
o Périodiquement (selon un intervalle configuré), l'ESP8266
envoie une requête HTTP (POST de préférence pour plus de
données) au serveur web.
o Les données de CO2, PM2.5, température et humidité sont
incluses dans le corps de la requête (au format JSON par
exemple).
4. Réception et Traitement des Données sur le Serveur :
o Le serveur web reçoit la requête HTTP.
o Le script côté serveur extrait les données du corps de la requête
(parsing JSON).
o Les données sont ensuite enregistrées dans une base de données
horodatée.
5. Visualisation des Données (Serveur Web) :
o Le serveur web héberge une interface web (page HTML avec
du Javascript) qui récupère les données de la base de données.
o Des librairies de graphiques (ex : Chart.js) peuvent être utilisées
pour afficher l'évolution des différents paramètres de qualité de
l'air au fil du temps.

Vous aimerez peut-être aussi