Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Sistema de monitoramento e detecção de incêndios florestais (com alertas SMS)

Componentes e suprimentos

Itead Gboard Pro 800 SIM800 GSM / GPRS Módulo 3.3v ATmega2560 Mainboard Para Arduino Starter
× 1
Arduino UNO
× 1
Sensor DHT11 de Temperatura e Umidade (3 pinos)
× 2
Fios de jumpers (genérico)
× 1

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


O processo de detecção de incêndios florestais inicia em qualquer um dos nós plantados em uma área dentro da floresta. A floresta possui uma rede de nós colocados a distâncias adequadas uns dos outros, os nós têm a capacidade de se comunicar por meio de dispositivos (módulo RF no nosso caso) e usando o Arduino. Se qualquer alteração acima de um valor limite for encontrada nos parâmetros atmosféricos (aumento de temperatura, contaminação do ar com fumaça, etc.) perto de um nó (nó de origem), a informação é passada para um nó intermediário mais próximo até chegar ao principal / terminal principal. O terminal principal / principal usa um modem GSM para passar as informações para um telefone celular (o centro de monitoramento de incêndios florestais).





PARTE TRANSMISSOR DO MODELO FÍSICO


O módulo de detecção de incêndios florestais funciona em três fases distintas. A primeira fase consiste em ler alguns parâmetros ambientais externos, como temperatura e fumaça. A primeira etapa é feita com o auxílio de alguns sensores que servem para detectar e converter dados analógicos em dados digitais. Os sensores lêem parâmetros como temperatura, umidade e qualidade do ar e então enviam essas informações para o nó mais próximo. Esse processo continua até que as informações cheguem ao nó final ou ao terminal principal, que é o segundo estágio do processo geral. A terceira etapa consiste na transmissão das informações à unidade de monitoramento de incêndios florestais.

O Eachnode possui um sensor de temperatura e umidade, um sensor de fumaça e um micro-controlador. Arduino tem sido usado como dispositivo microcontrolador. Esses sensores interagem com o Arduino e armazenam as informações para o processo de comparação. Há um valor limite predefinido para cada um desses parâmetros. O microprocessador compara os valores do sensor em intervalos regulares de tempo com os valores de limite. Com base na comparação, se os valores de entrada do sensor ultrapassaram o limite, o nó transmite a informação para o próximo nó próximo que, por sua vez, transmite a informação para o outro nó próximo. Dessa forma, o fluxo de mensagens é regulado neste modelo.





MODELO FÍSICO DO APARELHO







PARTE TRANSMISSOR DO MODELO FÍSICO







LEITURA EM SÉRIE NO MONITOR EM SÉRIE







MENSAGENS RECEBIDAS PELO MÓDULO GSM



Código

  • Códigos de módulo Arduino do lado do receptor e do transmissor
Códigos de módulo Arduino do lado do receptor e do transmissor Python
Este código configura o Módulo Arduino do lado receptor para Monitoramento de Temperatura e Umidade. Se os valores excederem um limite, um SMS é enviado para a estação base alertando-os sobre o mesmo. Se houver um aumento de valor no nó do lado do transmissor, isso será comunicado por meio do módulo RF-Transmitter no lado do transmissor Arduino Uno para o módulo RF-Receiver no lado receptor do Arduino Uno. NOTE que o código abaixo consiste em duas partes, uma para "Arduino do lado do receptor" e a outra para "Arduino do lado do transmissor"
 ######### (PARTE-1) ###### Arduino do lado do receptor CÓDIGO ################################### // Incluir Biblioteca RadioHead Amplitude Shift Keying # include  #include  / / Incluir Biblioteca SPI dependente #include  #include  SoftwareSerial mySerial (4, 3); // Constantes # define DHTPIN 2 // a qual pino estamos conectados # define DHTTYPE DHT11 // DHT11int smokeA0 =A5; // Seu valor limiteint sensorThres =400; // Definir VariablesDHT dht (DHTPIN, DHTTYPE); // Inicializa o sensor DHT para Arduino de 16 MHz normal // Variablesfloat hum; // Armazena o valor da umidadefloat temp; // Armazena o valor da temperatura // Define strings de saída String str_humid; String str_temp; String str_smk; String str_out; // Criar Objeto de Modificação de Mudança de AmplitudeRH_ASK rf_driver; void setup () {pinMode (smokeA0, INPUT); dht.begin (); // Inicializar objeto ASK rf_driver.init (); // Configuração do Serial Monitor Serial.begin (9600); mySerial.begin (115200);} void loop () {delay (2000); hum =dht.readHumidity (); temp =dht.readTemperature (); Serial.print ("Umidade do receptor ="); Serial.print (hum); Serial.print ('\ n'); Serial.print ("Temperatura do receptor ="); Serial.println (temp); int analogSensor =analogRead (smokeA0); String smk; // Verifica se atingiu o valor limite if (analogSensor> sensorThres) {Serial.print ("Smoke at Reciever"); Serial.print ('\ n'); smk ="Fumaça"; } else {Serial.print ("Limpar no destinatário"); Serial.print ('\ n'); smk ="Limpar"; } // Defina o buffer para o tamanho da mensagem esperada uint8_t buf [20]; uint8_t buflen =sizeof (buf); // Verifique se o pacote recebido tem o tamanho correto if (rf_driver.recv (buf, &buflen)) {str_out =String ((char *) buf); for (int i =0; i  =60 &&temp>
 =25) {Serial.print ("Fogo detectado no receptor"); mySerial.println ("AT + CMGF =1"); // Define o Módulo GSM no Modo Texto delay (1000); // Atraso de 1000 milisegundos ou 1 segundo mySerial.println ("AT + CMGS =\" + 918744984131 \ "\ r"); // Substitua x pelo atraso do número do celular (1000); mySerial.println ("ALERTA DE INCÊNDIO !!"); Serial.println ('\ n'); mySerial.println ("Fire at Reciever Node"); Serial.println ('\ n'); mySerial.println ("Temperatura:" + String (temp)); Serial.print ('\ n'); mySerial.println ("Umidade:" + String (hum)); Serial.print ('\ n'); mySerial.println ("Qualidade do ar:" + smk); atraso (100); mySerial.println ((char) 26); // código ASCII de CTRL + Z delay (1000); } if (str_humid.toInt ()> =60 &&str_temp.toInt ()> =25) {Serial.print ("Fogo detectado no transmissor"); mySerial.println ("AT + CMGF =1"); // Define o Módulo GSM no Modo Texto delay (1000); mySerial.println ("AT + CMGS =\" + 918744984131 \ "\ r"); // Substitua x pelo atraso do número do celular (1000); mySerial.println ("ALERTA DE INCÊNDIO !!"); Serial.println ('\ n'); mySerial.println ("Disparar no nó do transmissor"); Serial.println ('\ n'); mySerial.println ("Temperatura:" + str_temp); Serial.print ('\ n'); mySerial.println ("Umidade:" + str_húmida); Serial.print ('\ n'); mySerial.println ("Qualidade do ar:" + String (str_smk)); atraso (100); mySerial.println ((char) 26); // código ASCII de CTRL + Z delay (1000); }} ######## (PART-2) ############## Código Arduino do lado do transmissor ######################### ############################################################### ############## Incluir  #include  #include  // Constantes # define DHTPIN 2 // qual pino estamos conectados a # define DHTTYPE DHT11 // DHT11DHT dht (DHTPIN, DHTTYPE); // Inicializa o sensor DHT para Arduinoint normal de 16 MHz, smokeA0 =A5; // Seu valor limiteint sensorThres =400; // Definir Variáveis ​​float hum; // Armazena o valor da umidade em percentfloat temp; // Armazena o valor da temperatura em Celciusfloat smk; // Definir strings de saída String str_humid; String str_temp; String str_smk; String str_out; // Criar Amplitude Shift Keying ObjectRH_ASK rf_driver; // Inicializar o sensor DHT para Arduino normal de 16 MHz void setup () {dht.begin (); pinMode (smokeA0, INPUT); // Inicializar objeto ASK rf_driver.init (); } void loop () {delay (2000); // Atrase para que o sensor DHT-22 possa estabilizar hum =dht.readHumidity (); // Obter o valor de umidade temp =dht.readTemperature (); // Obter valor de temperatura // Converter umidade para string str_humid =String (hum); Serial.print (hum); // Converter temperatura para string str_temp =String (temp); Serial.print (temp); int analogSensor =analogRead (smokeA0); // Verifica se atingiu o valor limite if (analogSensor> sensorThres) {str_smk ="1"; } else {str_smk ="0"; } // Combine Umidade e Temperatura if (str_smk =="1") {str_out =str_humid + "," + str_temp + "," + "Smoke"; } if (str_smk =="0") {str_out =str_humid + "," + str_temp + "," + "Limpar"; } // Compor o caractere de saída const char * msg =str_out.c_str (); rf_driver.send ((uint8_t *) msg, strlen (msg)); rf_driver.waitPacketSent (); } 

Esquemas


Processo de manufatura

  1. Monitorando a temperatura com Raspberry Pi
  2. Faça um detector de incêndio em minutos com Samsung SAMIIO, Arduino UNO e Raspberry Pi
  3. Sistema de monitoramento residencial / hoteleiro com controles automatizados
  4. Sistema de atendimento usando Arduino e RFID com Python
  5. Sistema de detecção de humanos usando Arduino Uno
  6. Monitoramento de CO2 com Sensor K30
  7. Aceitar moeda de controle com Arduino
  8. Sistema de alarme Arduino:SERENA
  9. Sistema de rega automática de plantas com Arduino
  10. Sistema de gestão florestal IoT de dupla finalidade