Code Monkey home page Code Monkey logo

gateopener's Introduction

GateOpener

๐Ÿ” Summary

GateOpener is exactly what the name implies: Its a piece of software that allows you to open a gate (or whatever electronic device) normally operated with a switch. You can control the device using your computer or phone simply by sending a HTTP-request to the webserver. To close the gap between your computer and the device you are trying to control you only need a raspberry pi or similar device. Because its docker based the setup is as easy as it could be, just start the image on your raspberry pi and you are ready to go.

โ“ Why though?

Whats the device you are always missing? Your remote. Whats the one device you always have on your hand? Youre phone. Thats why.

๐Ÿ”Œ How to get started

๐Ÿ›’ As said before you need the following components:

  • Raspberry Pi or similar with a running instance of docker
  • An electronic controllable switch (Relais, Optocoupler, Transistor whatever)
  • A device you want to control

๐Ÿ“ก Wiring

Connect your controllable switch to the raspberry pi and your device. By default the GPIO Pin 2 of the pi is used, but you can change it using the GATE_PIN environment variable.

๐Ÿ Starting the app

By default the app runs on port 8000. You can change the port using BACKEND_PORT. You need to perform some configuration, for that its best to create an env file like the following:

USERNAME= # The username you want to login with
PASSWORD= # The password for the specified user
GATE_PIN= # The gpio pin of your raspberry pi
BACKEND_PORT= # Defaults to 8000
SECRET_KEY= # Optional: Provide an own secret key, otherwise one is generated using openssl rand -hex 32
docker run --device /dev/gpiomem -p 80:80 -d --env-file .env niklasrittmann/gate_opener:0.0.1

๐Ÿšง Roadmap

  • Authentification
  • Enable Https
  • Add status endpoint

Disclaimer

Use at your own risk! Software is always vulnerable!

gateopener's People

Contributors

niklasrittmann avatar niklas-rittmann avatar

Stargazers

Logan Connolly avatar

Watchers

Kostas Georgiou avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.