Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bvobart/ceiled
CeiLED is software that I wrote in order to control the three LED strips on my room's ceiling, connected to a little server through a PCA9685 PWM controller. Much more powerful than one of those Chinese RGB remote controls :)
https://github.com/bvobart/ceiled
Last synced: about 1 month ago
JSON representation
CeiLED is software that I wrote in order to control the three LED strips on my room's ceiling, connected to a little server through a PCA9685 PWM controller. Much more powerful than one of those Chinese RGB remote controls :)
- Host: GitHub
- URL: https://github.com/bvobart/ceiled
- Owner: bvobart
- Created: 2018-01-30T20:16:34.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T22:11:08.000Z (almost 2 years ago)
- Last Synced: 2023-03-04T14:28:22.934Z (almost 2 years ago)
- Language: JavaScript
- Homepage: https://ceiled.bart.vanoort.is
- Size: 3.95 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# [CeiLED](https://bart.vanoort.is)
Repository for the software written in order to control the LED strips on my room's ceiling. The software consists of three distinct parts:
- `ceiled-web`: a ReactJS website that serves as a remote control for displaying cool RGB colour patterns on the LED strips.
- `ceiled-server`: a TypeScript NodeJS web server that hosts a JSON WebSocket API and connects to a MongoDB database for authorisation. It is what `ceiled-web` talks to in order to show its cool colours, and it is what carefully exposes `ceiled-driver` to the internet.
- `ceiled-driver`: a low-level hardware driver written in Rust. This is what actually controls the LED strips. It accepts a simple yet powerful API through a UNIX socket.Branch | Build status
--------|--------
master | [![Build Status](https://travis-ci.com/bvobart/ceiLED.svg?branch=master)](https://travis-ci.com/bvobart/ceiLED)
develop | [![Build Status](https://travis-ci.com/bvobart/ceiLED.svg?branch=develop)](https://travis-ci.com/bvobart/ceiLED)## Quick start for development
See the individual ReadMe's. For a quickstart, open three terminals and run:
#### ceiled-driver
- `cd ceiled-driver`
- `cargo run -- --debug`#### ceiled-server
- `cd ceiled-server`
- `yarn install`
- `yarn start`#### ceiled-web
- `cd ceiled-web`
- `yarn install`
- `yarn start`### Quick start for production
To get this system running in production, you'll need:
- Docker
- Docker Compose
- Access to a MongoDB databaseThen create a `.env` file in this folder, and fill in any necessary environment variables. Here's an example:
```
INSECURE="true"
DB_HOST=192.168.0.123
DB_NAME=ceiled
DB_AUTH=admin
DB_USERNAME=dbuser
DB_PASSWORD=dbpass
```or replace `INSECURE="true"` with `HTTPS_FILES=https` in order to specify that the `ceiled-server` should use the `localhost.key.pem` and `localhost.cert.pem` HTTPS key and certificate files in the `https` directory.
- `docker compose up --build -d`
### Install scripts
I'm working on some installation scripts to make it much easier for others to start using the CeiLED suite and keep it up to date. I will update this ReadMe once they are in this repository.