Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/codertx/esp32_weather_notifier
ESP32-based asynchronous web server that monitors real-time temperature and humidity data using the DHT11 sensor, with WhatsApp notification integration.
https://github.com/codertx/esp32_weather_notifier
Last synced: 28 days ago
JSON representation
ESP32-based asynchronous web server that monitors real-time temperature and humidity data using the DHT11 sensor, with WhatsApp notification integration.
- Host: GitHub
- URL: https://github.com/codertx/esp32_weather_notifier
- Owner: CodeRTX
- License: apache-2.0
- Created: 2024-10-29T03:19:40.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-29T21:55:10.000Z (3 months ago)
- Last Synced: 2024-11-10T03:31:28.498Z (3 months ago)
- Language: C++
- Size: 1.97 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ESP32 Weather Notifier
## Project Overview
This project implements an **ESP32-based asynchronous web server** to monitor temperature and humidity data from a DHT11 sensor in real-time. Additionally, the server sends **automated WhatsApp notifications** of sensor readings to specified contacts.## Features
- **Real-Time Data Monitoring**: Live temperature and humidity data available via a web server.
- **WhatsApp Notifications**: Automated updates sent through the CallMeBot API.
- **Statistical Analysis**: Script for extended analysis of collected sensor data, including mean, variance, standard deviation, median, and mode.## Components
- ESP32 MCU (MicroController Unit)
- DHT11 temperature and humidity sensor
- Breadboard and connecting wires
- Resistor (1kΩ)## Setup Instructions
1. **Arduino Library Setup**:
- Install the "DHT library" and "Adafruit Unified Sensor" library from Arduino Library Manager.
- Include the ESP32 board package by adding the following URL to **Additional Board Manager URLs** in Arduino Preferences:
```
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
```
2. **Connection Diagram**:
![Circuit Diagram](images/ckt_diag.jpeg)3. **Arduino Code Upload**:
- Use `ESP32_WebServer_DHT11_WhatsApp.ino` as the main code for uploading to ESP32.
- `extra_StatisticalAnalysis.ino` contains additional statistical analysis.4. **WhatsApp API Setup**:
- Configure the CallMeBot API for WhatsApp notifications by entering your phone number and API key in the code.
![WhatsApp API Setup](images/whatsapp_api1.jpg)
![WhatsApp API Notifications](images/whatsapp_api2.jpg)> **Note**: Replace personal information in the code (such as SSID, Wi-Fi password, phone number, and API key) with your own details, and ensure you keep this information secure.
## Web Interface
![Server on PC](images/Capture-2.PNG)
The web server allows users to view current temperature and humidity readings on any device with a browser.## Statistical Analysis
For extended data insights, the additional script performs statistical analysis on the sensor readings, providing:
- **Mean**
- **Variance**
- **Standard Deviation**
- **Median**
- **Mode**![Statistical Analysis](images/statistics.png)
## Results and Demonstrations
- **Serial Monitor Output**:
The data streamed from the ESP32 for debugging.
![Serial Monitor](images/serial_monitor.png)- **Real-Time Plots**:
Graphical data representations using Arduino’s Serial Plotter.
![Serial Plotter Analysis](images/SerialPlotterAnalysis.png)## Conclusion
The ESP32 Weather Notifier demonstrates an IoT application with real-time data monitoring and automated messaging. The flexibility of the ESP32 and DHT11 sensor combination allows for numerous IoT applications.## References
- Truong, Hong Kha. “Temperature and humidity monitor with ESP8266.” [Theseus](https://www.theseus.fi/handle/10024/262546)
- [ESP32-DHT11 Web Server Tutorial](https://randomnerdtutorials.com/esp32-dht11-dht22-temperature-humidity-web-server-arduino-ide/)
- [CallMeBot WhatsApp API Guide](https://randomnerdtutorials.com/esp32-send-messages-whatsapp/)## MTech Mini-Project
This project was completed as part of my MTech mini-project.