Skip to content

An Internet of Things controller built using a Python Flask Server on a RaspberryPi with web browser access and a React Native client

License

Notifications You must be signed in to change notification settings

rgabeflores/Home-Automation-Controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Home Automation Controller

Build a home automation controller using a RaspberryPi web server with Flask REST API on Nginx, Gunicorn, and Supervisor. Easily create API endpoints to install and have control of a local network of devices through one edge device. The controller can be used with its default browser interface or an application capable of making HTTP requests. Currently a ReactNative mobile application is under development.

NOTE: This project is still under development. The fundamental concept is complete but a few of its features are not yet fully implemented.

Installations

Web Server Config Files

/Server

These files are for the RaspberryPi's web server. For this project, a RaspberryPi was used, but any system running a version of Linux will work as well.

  • nginx.conf is used to configure the NGINX server for authentication, file locations, and application proxies
  • dhcpcd.conf is used to configure a static IP address which is helpful for both developer access (SSH) and user access (Browser Interface, REST API)
  • supervisor.conf is used to configure Supervisor, which is used to automatically start the Flask server upon bootup
  • .htpasswd is used to store the user authentication information

Flask App Files

/FlaskApp

These files are for the Flask API and web interface.

  • HTML, CSS, and Javascript is used with Bootstrap to create a simple, mobile friendly browser interface
  • Flask is used to create the REST API endpoints

React Native Files

/MobileClient

These files are for the mobile client which is built with React Native to design the UI/UX and Redux to maintain the state of the application.

NOTE: This part of the application is in early development and many of its features are yet to be implemented.

Contributors

This repository includes a modified version of Audio Reactive LED Strip as a sample API endpoint function

About

An Internet of Things controller built using a Python Flask Server on a RaspberryPi with web browser access and a React Native client

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published