The IoT Environmental Monitoring System is a comprehensive solution designed to monitor temperature and humidity levels remotely. It combines the capabilities of ESP32 microcontrollers with DHT11 sensors for data collection and a Spring Boot API for data processing and storage.
- Real-time Monitoring: Continuously monitors temperature and humidity levels and provides real-time data updates.
- Data Storage: Stores collected data securely for future analysis and reference.
- RESTful API: Provides a robust API for interacting with the system, enabling CRUD operations on devices and temperature records.
- Authentication and Authorization: Implements security mechanisms to ensure that only authorized users can access sensitive endpoints and perform privileged operations.
- Error Handling: Gracefully handles exceptions and provides feedback to users to maintain system stability.
- Documentation: Includes comprehensive API documentation for developers to explore and interact with the system effortlessly.
- Clone the Repository: Clone this repository to your local machine.
- Configure
pom.xml
: Open thepom.xml
file and ensure that all dependencies are correctly configured. Make any necessary adjustments based on your project requirements. - Run the API: Run the Spring Boot API on your local machine or deploy it to a server. Refer to the API documentation for instructions on running and configuring the API.
- API Testing Visit http://donttrip.org:8081/swagger-ui/ to test the API in real-time!
- Install Arduino IDE: Download and install the Arduino IDE from the official website.
- Install ESP32 Board Support: Follow the instructions here to install ESP32 board support in the Arduino IDE.
- Open Example Sketch: Open the provided TemperatureClient directory to find the TemperatureClient.ino and secrets.example.h files.
- Configure Connectivity and Wi-Fi Credentials: Modify the secrets.example.h definitions to include your Wi-Fi network SSID/password as well as your base API endpoint URL.
- Upload Sketch: Connect your ESP32 device to your computer and upload the modified sketch to the device. Verify that the device successfully connects to the Wi-Fi network.
- Arduino IDE
- ESP32 Boards Library
- Apache Maven
- Java Spring Boot
- MySQL Database
- Java JDK
- For detailed documentation on the API endpoints and usage, refer to the API Documentation.
- For detailed documentation on getting and using an API Key, refer to API Key Usage.
Contributions are welcome! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request.
This project is licensed under the MIT License.