Skip to content

dollarluo/HAL_Home_Automation

Repository files navigation

Home Automated Living

"HAL (Home Automated Living) is a smart home automation project centered around a Raspberry Pi hub. The primary objective of HAL is to provide homeowners with a centralized and user-friendly platform for controlling and managing a variety of smart appliances within their homes. It enables centralized control of lights, thermostats, locks, and even non-smart appliances. HAL's standout feature is its extendable design system, enabling conversion of regular appliances into smart ones for enhanced functionality and adaptability. Additionally, the system operates independently from the wider internet, ensuring maximum security for homeowners, and reducing exposure to external vulnerabilities or potential breaches.

Hardware elements:

  • Raspberry Pi: The Raspberry Pi serves as the central hub of HAL, managing communication between all connected devices and providing a user-friendly interface for homeowners to control their smart home appliances.
  • Arduino Nano: The Arduino Nano acts as an edge device, enabling the control of specific appliances by processing input and output signals, enhancing the system's capability to convert conventional devices into smart ones.
  • RF24 Module: Wireless communication module used for establishing communication between the Arduino and Raspberry Pi. It uses multiple communication channels, enabling multiple devices to communicate simultaneously without interference.
  • Appliances: These encompass a range of devices like lights, thermostat, and locks, which can be integrated into HAL's network. Users can remotely control and automate these appliances for enhanced convenience and energy efficiency.

Software elements:

  • C++ Backend on Raspberry Pi: Employs an object oriented model of devices in home while employing a RESTful API for seamless integration with the frontend.
  • Embedded C on Arduino Nano: Implements low-level GPIO control, sensor interfacing, and custom communication protocols for reliable edge device operation.
  • JavaScript Web Interface: Utilizes HTML, CSS, and Javascript for dynamic UI updates, WebSocket connections for real-time device status updates, and RESTful API calls for smooth interaction with the backend.

STAGE THREE DEMO:

  • To demo the front-end of the UI, please visit https://home-automated-living.netlify.app/

    • Click the "Get Started" button
    • Navigate to the "SIGN UP" tab and fill in the following credentials
    • Click the "SIGN UP" button and you will be redirected to the current HAL dashboard UI Please note that the UI is currently static and many of the dynamic functionalities will be implemented later on
  • See a demo of the RaspberryPi to Arduino communication via RF24: https://youtu.be/j54m0NzGP1U

    • We are more than happy to schedule a live demo if you would like! The demo requires 3 RF24 modules, 2 Arduino UNOs and one Raspberry Pi
  • To demo the PiBackendServer, we have included a "runme.sh" file for the command to compile on your local computer

    • must have the "curl" library installed in order to compile
    • main method allows you to "add" and "view" devices to our backend database, and "send commands" to each device

About

raspberry pi smart home system with arduino

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published