This project is a home automation system designed to enhance security, monitor environmental conditions, and provide a event logging mechanism. The system integrates an ESP32 microcontroller with various peripherals and utilizes FreeRTOS for efficient multitasking.
- Microcontroller: ESP32
- Software: FreeRTOS, Arduino IDE, Visual Studio Code, PlatformIO
- Peripherals: Push Button, Switch, Light Sensor, Servo, 2 White LEDs, RGB LED, Magnetic Sensor, IR SENSORS, SHT31-D, LCD, OLED, SD module
- Protocols: I2C, SPI, Wi-Fi
- Alarm System: A controlled alarm activates when an intruder is detected, emitting beeps every second for 2 minutes unless manually deactivated.
- Environmental Monitoring: Displays temperature and humidity data using an SHT31-D sensor.
- User Interface:
- LCD for temperature and humidity readings.
- OLED screen to show the status of sensors and alarms.
- Data Logging: Records significant events on an SD card, with filenames based on the current date.
- Time Synchronization: Accesses an NTP server via Wi-Fi to retrieve the current date and time.
- Email Reports: Emails every time an intruder is detected.
- Automation:
- Activates a servo garage door when needed.
- Turns on lights automatically when no sunlight is detected.
- Clone the repository:
git clone https://github.com/alejoarte/Automated-House.git
- Set up the hardware:
- Connect ESP32 with LCD, OLED, SHT31-D, and SD module.
- Ensure Wi-Fi connectivity for NTP synchronization.
-
Install dependencies:
- FreeRTOS library
- LCD, OLED and SD card libraries
- ezButton
- ESP32Servo
- ESP Mail Client
- SHT31 Library
-
Upload the code to the ESP32 using the Arduino IDE.
This project is open-source and free to use for personal or educational projects. Feel free to modify, distribute, or integrate the code as needed.
- Alejandro Arteaga
- Santiago Rafael