Skip to content

Small Scale Full-Stack Smart Home Project Built with Flask, React and SQLite

License

Notifications You must be signed in to change notification settings

nic5694/EcoSmart_Home_Hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EcoSmart_Home_Hub

Iot 2 final project at Champlain College Saint-Lambert.

Abstract

EcoSmart Home Hub is an innovative project that leverages the power of Flask as a backend framework and React as a frontend library to create a comprehensive smart home management system. The project focuses on providing users with an intuitive dashboard that enables seamless control and monitoring of various home devices, including lights, fans, as well as real-time tracking of temperature and humidity within the designated room.

The backend, powered by Flask, serves as the central system of the EcoSmart Home Hub, handling data processing, device communication, and user authentication. Through RESTful APIs, the frontend, developed with React, communicates with the backend to ensure a responsive and dynamic user interface.

Key features of EcoSmart Home Hub include:

Device Control: Users can effortlessly manage lights and fans in their homes through the intuitive interface. The system allows for on/off toggling, brightness adjustments, and fan control, providing a customizable and energy-efficient solution.

Environmental Monitoring: Real-time temperature and humidity readings from sensors within the room are displayed on the dashboard. This feature not only enhances user awareness of their home environment but also promotes energy conservation by optimizing climate control settings.

User-friendly Dashboard: The frontend interface, designed with React, offers a visually appealing and user-friendly dashboard. Through an intuitive layout, users can easily navigate and control their smart home devices, fostering a seamless and enjoyable user experience.

Authentication and Security: EcoSmart Home Hub prioritizes user security by implementing authentication mechanisms. This ensures that only authorized users can access and control their smart home devices, safeguarding privacy and preventing unauthorized usage.

EcoSmart Home Hub represents a step towards sustainable and intelligent living, offering users a unified platform to effortlessly manage their home environment while promoting energy efficiency and convenience.

Responses

Endpoint (varying on your local ip): http://192.168.1.137:5000/lights returns:

{
    "04e8f447-f5d8-49eb-a7e6-25198159268b": "{\"id\": 3, \"lightIdentifier\": \"04e8f447-f5d8-49eb-a7e6-25198159268b\", \"name\": \"Bedroom\", \"state\": {\"_value_\": 0, \"_name_\": \"OFF\", \"__objclass__\": {\"py/type\": \"datalayer.LightState.LightState\"}}, \"color\": \"white\", \"ledPinNum\": 6}",
    "a6cf96c3-e761-473a-8cb0-9331d80a5152": "{\"id\": 2, \"lightIdentifier\": \"a6cf96c3-e761-473a-8cb0-9331d80a5152\", \"name\": \"Living Room\", \"state\": {\"_value_\": 0, \"_name_\": \"OFF\", \"__objclass__\": {\"py/type\": \"datalayer.LightState.LightState\"}}, \"color\": \"white\", \"ledPinNum\": 26}",
    "f66305be-33d0-48e1-b6af-3e81eb35aca3": "{\"id\": 1, \"lightIdentifier\": \"f66305be-33d0-48e1-b6af-3e81eb35aca3\", \"name\": \"Kitchen\", \"state\": {\"_value_\": 0, \"_name_\": \"OFF\", \"__objclass__\": {\"py/type\": \"datalayer.LightState.LightState\"}}, \"color\": \"white\", \"ledPinNum\": 15}"
}

The key is the identifier for the light and the value is the light object.

Documentation

All documentation is within this word document

https://slcqc-my.sharepoint.com/:w:/g/personal/2131659_champlaincollege_qc_ca/EftAPw3ZsndKmSEIEbH2d7QBEI2DikbUa7iW1a4v9jGTPg?e=yeeStO

UI Design

Home Page

image

Register Page

image

Login Page

image

Hub (Not connected to Raspberry Pi)

image

Hub (Dummy Data)

158cbb07-2a9f-4ec0-834c-674589a80dfe.mp4

About

Small Scale Full-Stack Smart Home Project Built with Flask, React and SQLite

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •