Fireman dispositif mobile IOT pour détection d'incendies

De Ensiwiki
Aller à : navigation, rechercher


Project schedule.png
Titre du projet MyAlarm
Cadre Projets Réseaux Mobiles et Avancés

Équipe Omar LaraquiMalak Britel, Ali Hajji
Encadrants Franck Rousseau


Présentation du Projet

Lien vers le projet

https://github.com/Omaroid/IOT-Fireman

Membres de l'équipe

  • Omar Laraqui
  • Malak Britel
  • Ali Hajji

Introduction

Notre projet s'inscrit dans le cadre du cours de Réseaux Mobiles & Avancés. L'idée générale part du principe que l'utilisateur puisse visualiser des informations concernant la température et l'humidité ambiantes chez lui et ceci sur chacune des chambres de sa maison ou appartement et d'avoir une alerte d'incendie en cas de déclenchement du feu chez lui, il sera notifié par SMS lors d'une anomalie.

Contraintes du projet

Parmi les contraintes du projet, nous avons tout d'abord la contrainte de sécurité du système.
La communication entre les différents éléments de l'architectures doit se faire d'une manière sécurisée. Il faut donc penser à un tiers qui pourra jouer le rôle de tiers de confiances entre les éléments.

Matériels et outils

Matériels

  • Raspberry Pi 3 model B
  • Arduino UNO
  • HC-05 (module bluetooth pour l’arduino)
  • Capteur de feu
  • Capteur de température et d'humidité

Technologies

  • Firebase
  • Android
  • Python

Architecture

Architecture du réseau
Architecture du réseau

Notre projet s'est articulé sur deux phases. Nous avons commencé par une architecture simple qui permet d'envoyer les données des capteurs à l'arduino puis via le module bluetooth HC 05 les données sont envoyées à la raspberry Pi pour finalement les stocker sur Microsoft Azure à travers le service IOT-Hub. Mais finalement nous avons préféré de changer l'architecture en une autre plus complexe mais plus sécurisée sutout.
En effet, l'architecture finale fait appel à l'intervention de l'utilisateur via son smartphone comme un tiers de confiance.
L'utilisateur ajoute une chambre,où le dispositif de notre projet est mis en place, via son smartphone. Les données reçues des capteurs sont toujours acheminées à l'arduino qui les renvoie à la raspberry pi via le module bluetooth HC05. Et donc stocké sur FireBase qui est une base de données qui permet de visualiser les changements en temps réel.
Comme l'arduino a un mot de passe par défaut, l'utilisateur devra donc le changer pour sécuriser son système. Il le modifie via son smartphone et la nouvelle donnée est stockée directement dans Firebase et sur l'arduino. Pour que la raspberry pi sache la modification apportée, nous avons ajouté un champ dans la base de données appelé "update" qui prend la valeur 1 une fois que l'utilisateur apporte des modifications sur le mot de passe. Il revient donc à la raspberry de vérifier depuis firebase les chambres qui ont un "update" 1 de prendre le nouveau mot de passe et puis se connecter à l'arduino avec ce dernier.

Architecture Firebase

La conception de la base de donnnées par du principe qu'un utilisateur a plusieurs chambre dans sa maison et donc chaque chambre a ses propres attributs tel-que: un nom, une addresse, le degré de température, le taux d'humidité, état du feu, le pin de l'arduino auquel elle est rattachée et finalement l'attribut update qui permet à la raspberry de savoir si l'utilisateur a modifié le pin de l'arduino.

Firebase

Arduino

L'Arduino reçoit les données des deux capteurs (capteur de feu et capteur de température/humidité) puis les véhicule à la Raspberry Pi via le module bluetooth. Par défaut, l'Arduino a un pin qui est 1234 il faut donc le changer par des commandes AT wrapées dans le code de l'Arduino.
Il reçoit bien l'ancien mot de passe et le nouveau remplis par l'utilisateur, compare le pin actuel avec le mot de passe ancien saisi par l'utilisateur s'ils sont identiques, il remplace alors le pin par le nouveau saisi par l'utilisateur.

Raspberry PI modèle B

La raspberry reçoit les données depuis l'arduino via le module bluetooth HC 05, après le premier pairage en utilisant le pin par défaut, et les dirige vers firebase. Le code de la raspberry permet de boucler sur la base de données plus exactement sur le champ update pour pouvoir pairer à nouveau avec l'arduino de le chambre dont l'attribut update est égal à 1.

Interface Homme Machine

Lorsque l'utilisateur accède à l'application via son smartphone, il s'identifie en tant qu'utilisateur en remplissant les champs email et mot de passe puis il est renvoyé à une page où il peut visualiser l'état de chaque chambre ( température, humidité et alerte de feu), il peut ajouter une chambre ainsi que modifier le mot de passe de l'arduino de la chambre. Comme présenté dans les interfaces suivantes. Capture 1 Capture 2] Capture 3] Capture 4]

Évolutions possibles du projet :

Matériel

  • Capteur dht11 est un capteur capable de mesurer des températures de 0 à +50°C avec une précision de +/- 2°C et des taux d'humidité relative de 20 à 80% avec une précision de +/- 5%. Une mesure peut être réalisée toutes les secondes.
  • Capteur de feu est un capteur qui permet de se lier à une arduino pour lui envoyer une alerte à chaque fois qu'il reçoit une notification de feu, il est capable de mesurer une température jusqu'à 85°C
  • Le module bluetooth HC-05 permet d'ajouter une liaison Bluetooth, il a une porté de 10 mètres, peut être configuré via des commandes AT et ses Sorties sont Key, Vcc, Gnd, TXD, RXD et State.

Références

https://developer.android.com/
https://www.gme.cz/data/attachments/dsh.772-148.1.pdf
https://pypi.org/project/python-firebase/
https://www.twilio.com/