This is an old revision of the document!
Fire Detector Based on Temperature
Nume si Prenume: Pacuraru Macedoniu-Nicolae
Grupa: 335CA
Introduction
This project is a fire detection system that continuously monitors ambient temperature using a DHT11 sensor connected to an ESP8266 microcontroller. When the sensor reading exceeds a set temperature (50 °C for example), a buzzer is activated and an SMS alert is sent via a SIM800L GSM module to a predefined phone number. This device provides immediate local warning and remote notification, helping to prevent fire-related incidents in homes or workspaces.
General Description
The system consists of both hardware and software modules working together:
ESP8266 Microcontroller: Reads temperature data, processes the threshold logic, controls the buzzer, and interfaces with the GSM module.
DHT11 Temperature Sensor: Provides real-time temperature readings to the microcontroller over a digital signal.
Buzzer: Emits an audible alarm when the temperature crosses a set value.
SIM800L GSM Module: Sends SMS alerts over UART to notify remote users.
Push button: Stops the buzzer alarm.
Hardware Design
Component | Description | Link |
ESP8266EX + CH340 | Microcontroller board (Plusivo) | Link |
DHT11 Temperature Sensor | Digital temperature and humidity sensor | Link |
SIM800L GSM Module | GSM communication module | Link |
1571563-8 | Push Button | Link |
Passive Buzzer | Passive Buzzer | Link |
LM2596 Converter | Adjustable voltage regulator module | Link |
Schematic made in Fusion 360. The ESP8266 was made manually because there seems to be no schematic for it on the internet.
Connections Between Components
- Temperature Sensor DHT11
- Button (Reset Alarm)
First pin → pin D1 (GPIO5) of the ESP8266
Second pin → 3.3V
Third pin → GND
Software configuration: internal pull-up resistor is enabled with pinMode(D1, INPUT_PULLUP);
- Passive Buzzer
- SIM800L GSM Module
TX (SIM800L output) → pin D7 (ESP8266 RX)
RX (SIM800L input) → pin D8 (ESP8266 TX)
VCC → separate 3.7V power source (Li-ion battery) or stabilized step-down converter
GND → Common GND with ESP8266
- ESP8266 (NodeMCU)
Software Design
The firmware is developed in the Arduino IDE targeting the ESP8266 platform.
Purpose of the Code
- DHT11 Temperature Sensor
Reads the ambient temperature through digital pin D2 (GPIO4).
If the temperature exceeds 26.1°C, an alarm state is triggered.
The reading is done using the `Adafruit_Sensor`, `DHT`, and `DHT_U` libraries.
Temperature is read periodically (every ~0.5 seconds) and logged to the serial monitor.
- Alarm System (Passive Buzzer and Button)
The buzzer is connected to pin D0 (GPIO16) and activated using the `tone()` function when an alarm is triggered.
A push button connected to D1 (GPIO5) is configured with an internal pull-up resistor (`INPUT_PULLUP`).
When the button is pressed, the alarm is silenced, and the system enters a cooldown period of 1 minute to prevent retriggering.
`alarmActive` and `smsSent` boolean flags are used to manage system state.
- SIM800L GSM Module
Communicates with the ESP8266 via `SoftwareSerial` on pins D7 (RX) and D8 (TX).
During setup, AT commands are used to initialize the module and verify signal/SIM status.
Sends an SMS alert once per alarm event using the `sendSMS()` function.
The SMS content is: *”ALERTA: Temperatura depaseste 26.1C!”*
Flow Overview
Libraries Used
- `Adafruit_Sensor.h`, `DHT.h`, `DHT_U.h`: For interfacing with the DHT11 temperature sensor.
- `SoftwareSerial.h`: Enables serial communication between the ESP8266 and the SIM800L GSM module.
Results
Conclusions
Bibliography/Resources