Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Bosbrandbewakings- en detectiesysteem (met sms-waarschuwingen)

Componenten en benodigdheden

Itead Gboard Pro 800 SIM800 GSM / GPRS-module 3.3v ATmega2560 moederbord Voor Arduino Starter
× 1
Arduino UNO
× 1
DHT11 temperatuur- en vochtigheidssensor (3 pinnen)
× 2
Jumperdraden (algemeen)
× 1

Apps en online services

Arduino IDE

Over dit project

Het proces van detectie van bosbranden begint bij elk van de knooppunten die op een boom in het bos zijn geplant. Het bos heeft een netwerk van knooppunten die op geschikte afstanden van elkaar zijn geplaatst, de knooppunten kunnen communiceren via apparaten (in ons geval RF-module) en met behulp van Arduino. Als er een verandering boven een drempelwaarde wordt gevonden in de atmosferische parameters (temperatuurstijging, vervuiling van lucht met rook, enz.) in de buurt van een knooppunt (bronknooppunt), wordt de informatie doorgegeven aan een dichtstbijzijnde tussenknooppunt totdat het de hoofd-/ hoofd terminal. De hoofdterminal/hoofdterminal gebruikt een GSM-modem om de informatie door te geven aan een mobiele telefoon (het controlecentrum voor bosbranden).

ZENDER DEEL VAN FYSIEKE MODEL

De module voor bosbranddetectie werkt in drie verschillende fasen. De eerste fase bestaat uit het lezen van enkele externe omgevingsparameters zoals temperatuur en rook. De eerste fase wordt gedaan met behulp van enkele sensoren die worden gebruikt om analoge gegevens te detecteren en om te zetten in digitale gegevens. De sensoren lezen parameters zoals temperatuur, vochtigheid en luchtkwaliteit en sturen deze informatie vervolgens naar het volgende dichtstbijzijnde knooppunt. Dit proces gaat door totdat de informatie de eindnode of de hoofdterminal bereikt, de tweede fase van het algehele proces. De derde fase bestaat uit het doorgeven van de informatie aan de bosbrandmonitoring-eenheid.

Elke node heeft een temperatuur- en vochtigheidssensor, een rooksensor en een microcontroller-eenheid. Arduino is gebruikt als het microcontroller-apparaat. De sensoren werken samen met de Arduino en slaan de informatie op voor het vergelijkingsproces. Er is een vooraf gedefinieerde drempelwaarde voor elk van deze parameters. De microprocessor vergelijkt de sensorwaarden met regelmatige tussenpozen met de drempelwaarden. Op basis van de vergelijking, als de invoerwaarden van sensoren de drempel overschrijden, verzendt het knooppunt de informatie naar het volgende nabijgelegen knooppunt, dat op zijn beurt de informatie weer naar het andere nabijgelegen knooppunt verzendt. Op deze manier wordt de berichtenstroom in dit model geregeld.

FYSIEKE MODEL VAN HET APPARAAT

ZENDER DEEL VAN FYSIEKE MODEL

SERILE LEZEN IN DE SERILE MONITOR

BERICHTEN ONTVANGEN DOOR DE GSM-MODULE

Code

  • Ontvanger- en zenderzijde Arduino-modulecodes
Ontvanger- en zenderzijde Arduino-modulecodesPython
Deze code configureert de ontvangende Arduino-module voor temperatuur- en vochtigheidsbewaking. Als de waarden een drempel overschrijden, wordt er een sms naar het basisstation gestuurd om hen hierover te waarschuwen. Als er een waardestijging is bij het knooppunt aan de zenderzijde, wordt dit gecommuniceerd via de RF-zendermodule aan de zenderzijde Arduino Uno naar de RF-ontvangermodule aan de ontvangstzijde Arduino Uno. LET OP dat de onderstaande code uit twee delen bestaat, een voor "Receiver side arduino" en de andere voor "Zender side arduino"
########( DEEL-1 )###### Receiver Side Arduino CODE ##########################// Inclusief RadioHead Amplitude Shift Keying Library#include #include / / Inclusief afhankelijke SPI-bibliotheek #include  #include SoftwareSerial mySerial(4, 3); //Constanten#define DHTPIN 2 // met welke pin we zijn verbonden#define DHTTYPE DHT11 // DHT11int smokeA0 =A5;// Uw drempelwaarde in sensorThres =400; // Definieer variabelenDHT dht(DHTPIN, DHTTYPE); // Initialiseer DHT-sensor voor normale 16mhz Arduino//Variablesfloat brom; // Slaat vochtigheidswaarde op; // Slaat temperatuurwaarde op // Definieer uitvoerstrings String str_humid;String str_temp;String str_smk;String str_out; // Creëer Amplitude Shift Keying ObjectRH_ASK rf_driver; void setup () {pinMode (smokeA0, INPUT); dht.begin(); // Initialiseer ASK Object rf_driver.init(); // Seriële monitor instellen Serial.begin (9600); mySerial.begin(115200);} void loop(){ delay(2000); brom =dht.readHumidity(); temp=dht.readTemperature(); Serial.print("Vochtigheid ontvanger ="); Serial.print(brom); Serieel.print('\n'); Serial.print("Ontvangertemperatuur ="); Serieel.println(temp); int analogSensor =analogRead(smokeA0); Snaar smk; // Controleert of het de drempelwaarde heeft bereikt if (analogSensor> sensorThres) { Serial.print ("Smoke at Receiver"); Serieel.print('\n'); smk ="Rook"; } else { Serial.print("Opschonen bij ontvanger"); Serieel.print('\n'); smk ="Schoon"; } // Stel de buffer in op de grootte van het verwachte bericht uint8_t buf [20]; uint8_t buflen =sizeof(buf); // Controleer of het ontvangen pakket de juiste grootte heeft als (rf_driver.recv(buf, &buflen)) { str_out =String ((char*)buf); for (int i =0; i =60 &&temp>
=25) { Serial.print("Brand gedetecteerd bij ontvanger"); mySerial.println("AT+CMGF=1"); // Stelt de GSM-module in op tekstmodusvertraging (1000); // Vertraging van 1000 milliseconden of 1 seconde mySerial.println("AT+CMGS=\"+918744984131\"\r"); // Vervang x door vertraging van het mobiele nummer (1000); mySerial.println(" BRANDMELDING !! "); Serieel.println('\n'); mySerial.println("Brand op ontvangerknooppunt "); Serieel.println('\n'); mySerial.println("Temperatuur:" + String(temp)); Serieel.print('\n'); mySerial.println ("Vochtigheid :" + String (hum)); Serieel.print('\n'); mySerial.println("Luchtkwaliteit:" + smk); vertraging (100); mySerial.println((char)26);// ASCII-code van CTRL+Z delay(1000); } if( str_humid.toInt()>=60 &&str_temp.toInt()>=25) { Serial.print("Brand gedetecteerd bij zender"); mySerial.println("AT+CMGF=1"); // Stelt de GSM-module in op tekstmodusvertraging (1000); mySerial.println("AT+CMGS=\"+9187449884131\"\r"); // Vervang x door vertraging van het mobiele nummer (1000); mySerial.println(" BRANDMELDING !! "); Serieel.println('\n'); mySerial.println("Brand op zenderknooppunt"); Serieel.println('\n'); mySerial.println("Temperatuur:" + str_temp); Serieel.print('\n'); mySerial.println("Vochtigheid:" + str_humid); Serieel.print('\n'); mySerial.println("Luchtkwaliteit:" + String(str_smk)); vertraging (100); mySerial.println((char)26);// ASCII-code van CTRL+Z delay(1000); } }#######( DEEL-2 )############ Arduino-code zenderzijde #################### ###################################################################### ###################include  #include  #include //Constants#define DHTPIN 2 // welke pin we zijn verbonden met #define DHTTYPE DHT11 // DHT11DHT dht(DHTPIN, DHTTYPE); // Initialiseer DHT-sensor voor normale 16mhz Arduinoint smokeA0 =A5;// Uw drempelwaardeint sensorThres =400; // Definieer variabelen float brom; // Slaat vochtigheidswaarde op in percentfloat temp; // Slaat temperatuurwaarde op in Celciusfloat smk; // Definieer uitvoerstrings String str_humid;String str_temp;String str_smk;String str_out; // Creëer Amplitude Shift Keying ObjectRH_ASK rf_driver; // Initialiseer de DHT-sensor voor normale 16mhz Arduino void setup() {dht.begin(); pinMode (rookA0, INPUT); // Initialiseer ASK Object rf_driver.init(); } void loop(){ delay(2000); // Vertraging zodat de DHT-22-sensor brom kan stabiliseren =dht.readHumidity(); // Haal de vochtigheidswaarde temp=dht.readTemperature(); // Haal temperatuurwaarde op // Converteer vochtigheid naar string str_humid =String (hum); Serial.print(brom); // Converteer temperatuur naar string str_temp =String (temp); Serial.print(temp); int analogSensor =analogRead(smokeA0); // Controleert of het de drempelwaarde heeft bereikt if (analogSensor> sensorThres) { str_smk ="1"; } else { str_smk ="0"; } // Combineer vochtigheid en temperatuur if(str_smk =="1") { str_out =str_humid + "," + str_temp + "," + "Rook"; } if(str_smk =="0") { str_out =str_humid + "," + str_temp+ "," + "Clean"; } // Stel uitvoerkarakter samen const char *msg =str_out.c_str(); rf_driver.send((uint8_t *)msg, strlen(msg)); rf_driver.waitPacketSent(); }

Schema's


Productieproces

  1. Temperatuur bewaken met Raspberry Pi
  2. Maak binnen enkele minuten een branddetector met Samsung SAMIIO, Arduino UNO en Raspberry Pi
  3. Home/Hotel Monitoring System met geautomatiseerde controles
  4. Aanwezigheidssysteem met Arduino en RFID met Python
  5. Human Detection Robotics System met Arduino Uno
  6. CO2-monitoring met K30-sensor
  7. Bedien muntvangers met Arduino
  8. Arduino Alarmsysteem:SERENA
  9. Automatisch plantenwatersysteem met Arduino
  10. Arduino met Bluetooth om een ​​LED te bedienen!
  11. Dual Purpose IoT-bosbeheersysteem