Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Système de surveillance et de détection des incendies de forêt (avec alertes SMS)

Composants et fournitures

Itead Gboard Pro 800 SIM800 GSM/GPRS Module 3.3v ATmega2560 Carte Mère Pour Arduino Starter
× 1
Arduino UNO
× 1
Capteur de température et d'humidité DHT11 (3 broches)
× 2
Câbles de raccordement (générique)
× 1

Applications et services en ligne

Arduino IDE

À propos de ce projet

Le processus de détection des incendies de forêt démarre à n'importe quel nœud planté sur un arbre à l'intérieur de la forêt. La forêt dispose d'un réseau de nœuds placés à des distances appropriées les uns des autres, les nœuds ont la capacité de communiquer via des appareils (module RF dans notre cas) et en utilisant Arduino. Si un changement au-dessus d'une valeur seuil est constaté dans les paramètres atmosphériques (élévation de température, contamination de l'air par la fumée, etc.) à proximité d'un nœud (nœud source), l'information est transmise à un nœud intermédiaire le plus proche jusqu'à ce qu'elle atteigne le principal/ terminal de tête. Le terminal principal utilise un modem GSM pour transmettre les informations à un téléphone portable (le centre de surveillance des incendies de forêt).

ÉMETTEUR PARTIE DU MODÈLE PHYSIQUE

Le module de détection des incendies de forêt fonctionne en trois étapes différentes. La première étape consiste à lire certains paramètres environnementaux externes comme la température et la fumée. La première étape est réalisée à l'aide de certains capteurs qui sont utilisés pour détecter et convertir des données analogiques en données numériques. Les capteurs lisent des paramètres tels que la température, l'humidité et la qualité de l'air, puis envoient ces informations au nœud le plus proche. Ce processus se poursuit jusqu'à ce que les informations parviennent au nœud final ou au terminal principal, ce qui constitue la deuxième étape du processus global. La troisième étape consiste en la transmission de l'information à la cellule de surveillance des feux de forêt.

Chaque nœud a un capteur de température et d'humidité, un capteur de fumée et une unité de microcontrôleur. Arduino a été utilisé comme microcontrôleur. Les capteurs interagissent avec l'Arduino et stockent les informations pour le processus de comparaison. Il existe une valeur seuil prédéfinie pour chacun de ces paramètres. Le microprocesseur compare les valeurs du capteur à intervalles de temps réguliers avec les valeurs de seuil. Sur la base de la comparaison, si les valeurs d'entrée des capteurs dépassent le seuil, le nœud transmet les informations au nœud voisin suivant qui à son tour transmet les informations à l'autre nœud voisin. De cette façon, le flux de messages est régulé dans ce modèle.

MODÈLE PHYSIQUE DE L'APPAREIL

ÉMETTEUR PARTIE DU MODÈLE PHYSIQUE

LECTURE SÉRIE DANS LE MONITEUR SÉRIE

MESSAGES REÇUS PAR LE MODULE GSM

Code

  • Codes des modules Arduino côté récepteur et émetteur
Codes du module Arduino côté récepteur et émetteurPython
Ce code configure le module Arduino côté réception pour la surveillance de la température et de l'humidité. Si les valeurs dépassent un seuil, un SMS est envoyé à la station de base pour les alerter du même. S'il y a une augmentation de valeur au niveau du nœud côté émetteur, cela est communiqué via le module émetteur RF côté émetteur Arduino Uno au module récepteur RF côté réception Arduino Uno. NOTEZ que le code ci-dessous se compose de deux parties, une pour " côté récepteur arduino " et l'autre pour " côté émetteur arduino "
########( PART-1 )###### côté récepteur Arduino CODE ############################// Inclure RadioHead Amplitude Shift Keying Library#include #include / / Inclure la bibliothèque SPI dépendante #include  #include SoftwareSerial mySerial(4, 3); //Constants#define DHTPIN 2 // à quelle broche nous sommes connectés#define DHTTYPE DHT11 // DHT11int smokeA0 =A5;// Votre valeur de seuilint sensorThres =400; // Définir les variablesDHT dht(DHTPIN, DHTTYPE); // Initialiser le capteur DHT pour un bourdonnement Arduino 16mhz normal//Variablesfloat ; //Stocke la valeur d'humiditéfloat temp; //Stocke la valeur de température // Définit les chaînes de sortie String str_humid;String str_temp;String str_smk;String str_out; // Créer un objet de saisie par décalage d'amplitudeRH_ASK rf_driver;void setup(){ pinMode(smokeA0, INPUT); dht.begin(); // Initialiser l'objet ASK rf_driver.init(); // Configuration du moniteur série Serial.begin(9600); mySerial.begin(115200);} void loop(){ delay(2000); hum =dht.readHumidity(); temp=dht.readTemperature(); Serial.print("Humidité du récepteur ="); Serial.print(hum); Serial.print('\n'); Serial.print("Température du récepteur ="); Serial.println(temp); int analogSensor =analogRead(smokeA0) ; Chaîne smk; // Vérifie s'il a atteint la valeur seuil if (analogSensor> sensorThres) { Serial.print("Smoke at Reciever"); Serial.print('\n'); smk ="Fumée" ; } else { Serial.print("Nettoyer au destinataire"); Serial.print('\n'); smk ="Nettoyer" ; } // Définir la mémoire tampon à la taille du message attendu uint8_t buf[20] ; uint8_t buflen =sizeof(buf); // Vérifiez si le paquet reçu est de taille correcte if (rf_driver.recv(buf, &buflen)) { str_out =String((char*)buf); for (int i =0; i =60 &&temp>
=25 ) { Serial.print("Fire Detected at Reciever "); mySerial.println("AT+CMGF=1"); //Définit le module GSM en mode texte delay(1000); // Délai de 1000 millisecondes ou 1 seconde mySerial.println("AT+CMGS=\"+918744984131\"\r"); // Remplacez x par le numéro de mobile delay(1000); mySerial.println(" ALERTE INCENDIE !! "); Serial.println('\n'); mySerial.println("Incendie sur le nœud récepteur "); Serial.println('\n'); mySerial.println("Température :" + String(temp)); Serial.print('\n'); mySerial.println("Humidity :" + String(hum)); Serial.print('\n'); mySerial.println("Qualité de l'air :" + smk); retard (100); mySerial.println((char)26);// Code ASCII de CTRL+Z delay(1000); } if( str_humid.toInt()>=60 &&str_temp.toInt()>=25 ) { Serial.print("Incendie détecté au niveau de l'émetteur "); mySerial.println("AT+CMGF=1"); //Définit le module GSM en mode texte delay(1000); mySerial.println("AT+CMGS=\"+918744984131\"\r"); // Remplacez x par le numéro de mobile delay(1000); mySerial.println(" ALERTE INCENDIE !! "); Serial.println('\n'); mySerial.println("Tire au nœud émetteur "); Serial.println('\n'); mySerial.println("Température :" + str_temp); Serial.print('\n'); mySerial.println("Humidity :" + str_humid); Serial.print('\n'); mySerial.println("Air Quality :" + String(str_smk)); retard (100); mySerial.println((char)26);// Code ASCII de CTRL+Z delay(1000); } }########( PART-2 )############ Code Arduino côté émetteur #################### ##################################################### #####################include  #include  #include //Constants#define DHTPIN 2 // quelle broche nous sommes connectés à#define DHTTYPE DHT11 // DHT11DHT dht(DHTPIN, DHTTYPE); // Initialiser le capteur DHT pour un Arduinoint 16mhz normal smokeA0 =A5; // Votre valeur de seuilint sensorThres =400; // Définir les variables float hum; // Stocke la valeur d'humidité en pourcentage flottant temp; // Stocke la valeur de température dans Celciusfloat smk; // Définir les chaînes de sortie String str_humid;String str_temp;String str_smk;String str_out; // Créer un objet de saisie par décalage d'amplitudeRH_ASK rf_driver; // Initialiser le capteur DHT pour une configuration normale du vide Arduino 16mhz () { dht.begin (); pinMode (fuméeA0, INPUT); // Initialiser l'objet ASK rf_driver.init(); } boucle vide (){ délai (2000); // Retard pour que le capteur DHT-22 puisse stabiliser le bourdonnement =dht.readHumidity(); // Obtenir la valeur d'humidité temp=dht.readTemperature(); // Obtenir la valeur de température // Convertir l'humidité en chaîne str_humid =String(hum); Serial.print(hum); // Convertir la température en chaîne str_temp =String(temp); Serial.print(temp); int analogSensor =analogRead(smokeA0) ; // Vérifie s'il a atteint la valeur seuil if (analogSensor> sensorThres) { str_smk ="1"; } else { str_smk ="0"; } // Combinez l'humidité et la température if(str_smk =="1") { str_out =str_humid + "," + str_temp + "," + "Smoke"; } if(str_smk =="0") { str_out =str_humid + "," + str_temp+ "," + "Clean"; } // Composer le caractère de sortie const char *msg =str_out.c_str(); rf_driver.send((uint8_t *)msg, strlen(msg)); rf_driver.waitPacketSent(); }

Schémas


Processus de fabrication

  1. Contrôle de la température avec Raspberry Pi
  2. Créez un détecteur d'incendie en quelques minutes avec Samsung SAMIIO, Arduino UNO et Raspberry Pi
  3. Système de surveillance à domicile/hôtel avec contrôles automatisés
  4. Système de présence utilisant Arduino et RFID avec Python
  5. Système robotique de détection humaine utilisant Arduino Uno
  6. Surveillance du CO2 avec le capteur K30
  7. Contrôler l'accepteur de pièces avec Arduino
  8. Système d'alarme Arduino :SERENA
  9. Système de gestion forestière IoT à double usage