Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Sistema de monitoreo y detección de incendios forestales (con alertas por SMS)

Componentes y suministros

Itead Gboard Pro 800 SIM800 GSM / GPRS Módulo 3.3v ATmega2560 Placa base Para Arduino Starter
× 1
Arduino UNO
× 1
Sensor de temperatura y humedad DHT11 (3 pines)
× 2
Cables de puente (genéricos)
× 1

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

El proceso de detección de incendios forestales se inicia en cualquiera de los nudos plantados en un árbol dentro del bosque. El bosque tiene una red de nodos colocados a distancias adecuadas entre sí, los nodos tienen la capacidad de comunicarse a través de dispositivos (módulo RF en nuestro caso) y mediante el uso de Arduino. Si se encuentra algún cambio por encima de un valor umbral en los parámetros atmosféricos (aumento de temperatura, contaminación del aire con humo, etc.) cerca de un nodo (nodo fuente), la información se pasa al nodo intermedio más cercano hasta llegar al nodo principal / terminal de cabeza. La terminal principal / principal utiliza un módem GSM para pasar la información a un teléfono celular (el centro de monitoreo de incendios forestales).

TRANSMISOR PARTE DEL MODELO FÍSICO

El módulo de detección de incendios forestales funciona en tres etapas diferentes. La primera etapa consiste en leer algunos parámetros ambientales externos como la temperatura y el humo. La primera etapa se realiza con la ayuda de algunos sensores que se utilizan para detectar y convertir datos analógicos en datos digitales. Los sensores leen parámetros como temperatura, humedad y calidad del aire y luego envían esta información al siguiente nodo más cercano. Este proceso continúa hasta que la información llega al nodo final o al terminal principal, que es la segunda etapa del proceso general. La tercera etapa consiste en la transmisión de la información a la unidad de control de incendios forestales.

Cada nodo tiene un sensor de temperatura y humedad, un sensor de humo y una unidad de microcontrolador. Arduino se ha utilizado como dispositivo microcontrolador. Estos sensores interactúan con Arduino y almacenan la información para el proceso de comparación. Hay un valor de umbral predefinido para cada uno de estos parámetros. El microprocesador compara los valores del sensor a intervalos regulares de tiempo con los valores de umbral. Según la comparación, si los valores de entrada del sensor superan el umbral, el nodo transmite la información al siguiente nodo cercano, que a su vez transmite la información al otro nodo cercano. De esta forma, el flujo de mensajes está regulado en este modelo.

MODELO FÍSICO DEL APARATO

TRANSMISOR PARTE DEL MODELO FÍSICO

LECTURA SERIE EN EL MONITOR SERIE

MENSAJES RECIBIDOS POR EL MÓDULO GSM

Código

  • Códigos del módulo Arduino del lado del receptor y del transmisor
Códigos del módulo Arduino del lado del receptor y del transmisor Python
Este código configura el módulo Arduino del lado receptor para el monitoreo de temperatura y humedad, si los valores exceden un umbral, se envía un SMS a la estación base para alertarlos sobre lo mismo. Si hay un aumento de valor en el nodo del lado del transmisor, esto se comunica a través del módulo del transmisor de RF en el Arduino Uno del lado del transmisor al módulo del receptor de RF en el Arduino Uno del lado de recepción. TENGA EN CUENTA que el siguiente código consta de dos partes, una para "Arduino del lado del receptor" y la otra para "Arduino del lado del transmisor"
 ######## (PARTE-1) ###### Arduino del lado del receptor CODE ######################### // Incluir la biblioteca de codificación por desplazamiento de amplitud RadioHead # incluye  #include  / / Incluir biblioteca SPI dependiente #include  #include  SoftwareSerial mySerial (4, 3); // Constantes # define DHTPIN 2 // a qué pin estamos conectados # define DHTTYPE DHT11 // DHT11int smokeA0 =A5; // Tu valor de umbralint sensorThres =400; // Definir VariablesDHT dht (DHTPIN, DHTTYPE); // Inicializar el sensor DHT para Arduino normal de 16 mhz // Variablesfloat hum; // Almacena el valor de humedad, temperatura flotante; // Almacena el valor de temperatura // Define las cadenas de salida String str_humid; String str_temp; String str_smk; String str_out; // Crear objeto de codificación de cambio de amplitud RH_ASK rf_driver; void setup () {pinMode (smokeA0, INPUT); dht.begin (); // Inicializar el objeto ASK rf_driver.init (); // Configurar Serial Monitor Serial.begin (9600); mySerial.begin (115200);} bucle vacío () {retraso (2000); hum =dht.readHumidity (); temp =dht.readTemperature (); Serial.print ("Reciever Humidity ="); Serial.print (zumbido); Serial.print ('\ n'); Serial.print ("Temperatura del receptor ="); Serial.println (temp); int analogSensor =analogRead (humoA0); String smk; // Comprueba si ha alcanzado el valor umbral if (analogSensor> sensorThres) {Serial.print ("Smoke at Reciever"); Serial.print ('\ n'); smk ="Humo"; } else {Serial.print ("Limpiar en el receptor"); Serial.print ('\ n'); smk ="Limpio"; } // Establece el búfer al tamaño del mensaje esperado uint8_t buf [20]; uint8_t buflen =tamaño de (buf); // Verifica si el paquete recibido tiene el tamaño correcto if (rf_driver.recv (buf, &buflen)) {str_out =String ((char *) buf); for (int i =0; i  =60 &&temp>
 =25) {Serial.print ("Incendio detectado en el receptor"); mySerial.println ("AT + CMGF =1"); // Configura el módulo GSM en modo de texto delay (1000); // Retraso de 1000 milisegundos o 1 segundo mySerial.println ("AT + CMGS =\" + 918744984131 \ "\ r"); // Reemplaza x con el retraso del número de móvil (1000); mySerial.println ("¡¡ALERTA DE INCENDIO !!"); Serial.println ('\ n'); mySerial.println ("Disparar en el nodo receptor"); Serial.println ('\ n'); mySerial.println ("Temperatura:" + Cadena (temp)); Serial.print ('\ n'); mySerial.println ("Humedad:" + Cadena (zumbido)); Serial.print ('\ n'); mySerial.println ("Calidad del aire:" + smk); retraso (100); mySerial.println ((char) 26); // código ASCII de CTRL + Z delay (1000); } if (str_humid.toInt ()> =60 &&str_temp.toInt ()> =25) {Serial.print ("Incendio detectado en el transmisor"); mySerial.println ("AT + CMGF =1"); // Configura el módulo GSM en modo de texto delay (1000); mySerial.println ("AT + CMGS =\" + 918744984131 \ "\ r"); // Reemplaza x con el retraso del número de móvil (1000); mySerial.println ("¡¡ALERTA DE INCENDIO !!"); Serial.println ('\ n'); mySerial.println ("Incendio en el nodo transmisor"); Serial.println ('\ n'); mySerial.println ("Temperatura:" + str_temp); Serial.print ('\ n'); mySerial.println ("Humedad:" + str_humid); Serial.print ('\ n'); mySerial.println ("Calidad del aire:" + String (str_smk)); retraso (100); mySerial.println ((char) 26); // código ASCII de CTRL + Z delay (1000); }} ####### (PARTE-2) ############ Código Arduino del lado del transmisor #################### ############################################### ################## include  #include  #include  // Constants # define DHTPIN 2 // what pin estamos conectados a # definir DHTTYPE DHT11 // DHT11DHT dht (DHTPIN, DHTTYPE); // Inicialice el sensor DHT para humo Arduinoint normal de 16 mhzA0 =A5; // Su valor de umbral en sensorThres =400; // Definir variables float hum; // Almacena el valor de humedad en porcentaje de temperatura de flotación; // Almacena el valor de temperatura en Celciusfloat smk; // Definir cadenas de salida String str_humid; String str_temp; String str_smk; String str_out; // Crear objeto de codificación por desplazamiento de amplitudRH_ASK rf_driver; // Inicializar el sensor DHT para Arduino void setup () {dht.begin () normal de 16mhz; pinMode (humoA0, ENTRADA); // Inicializar el objeto ASK rf_driver.init (); } bucle vacío () {retraso (2000); // Retraso para que el sensor DHT-22 pueda estabilizar hum =dht.readHumidity (); // Obtener el valor de humedad temp =dht.readTemperature (); // Obtener el valor de temperatura // Convertir la humedad en una cadena str_humid =String (hum); Serial.print (zumbido); // Convertir la temperatura en una cadena str_temp =String (temp); Serial.print (temp); int analogSensor =analogRead (humoA0); // Comprueba si ha alcanzado el valor umbral if (analogSensor> sensorThres) {str_smk ="1"; } más {str_smk ="0"; } // Combinar humedad y temperatura if (str_smk =="1") {str_out =str_humid + "," + str_temp + "," + "Smoke"; } if (str_smk =="0") {str_out =str_humid + "," + str_temp + "," + "Limpiar"; } // Componer el carácter de salida const char * msg =str_out.c_str (); rf_driver.send ((uint8_t *) msg, strlen (msg)); rf_driver.waitPacketSent (); } 

Esquemas


Proceso de manufactura

  1. Supervisión de la temperatura con Raspberry Pi
  2. Cree un detector de incendios en minutos con Samsung SAMIIO, Arduino UNO y Raspberry Pi
  3. Inicio / Sistema de Monitoreo de Hotel con Controles Automatizados
  4. Sistema de asistencia que usa Arduino y RFID con Python
  5. Sistema de robótica de detección humana con Arduino Uno
  6. Monitoreo de CO2 con sensor K30
  7. Controlar el aceptador de monedas con Arduino
  8. Sistema de alarma Arduino:SERENA
  9. Sistema de riego automático de plantas con Arduino
  10. ¡Arduino con Bluetooth para controlar un LED!
  11. Sistema de gestión forestal IoT de doble propósito