59 lines
2.5 KiB
Markdown
59 lines
2.5 KiB
Markdown
# LedD
|
|
|
|
[![][cq img]][cq] [![][license img]][license]
|
|
|
|
# DEPRECATED
|
|
|
|
This project is no longer maintained and has been superseded by LedD.Go.
|
|
|
|
## General
|
|
|
|
LedD is a multipurpose daemon for interfacing LED(s) written in python. It provides an abstract interface for effects to control any kind of LED through an backend, although its original purpose was interfacing a PCA9685 chip via i2c. Since there are multiple ways to control leds we made the decision to write LedD as open as possible to other ways of controlling leds. As a result of this decision we split LedD in a server part (this repository) and multiple clients, which can be written in any kind of language and can use a custom way to control its LEDs, as long as they implement LedD's protobuf protocol they can be controled with LedD.
|
|
|
|
As for frontends there is only an Android app available at this time, there will be more some time in the future. (You are encouraged to write your own!)
|
|
|
|
## Requirements
|
|
|
|
- Python 3.x, tested with Python 3.4
|
|
- Linux with i2c-dev module loaded and permissions to access /dev/i2c-* devices, preferably as non-root (add your user to the i2c group)
|
|
- Compatible controller device connected via i2c; currently supported controllers:
|
|
- PCA9685
|
|
- __Note__: Plugins can have different permission requirements
|
|
|
|
## Installation
|
|
|
|
Make sure your i2c devices are available (modprobe i2c-dev) before you follow these steps.
|
|
|
|
1. `apt-get install python3-dev python3-pip python3-cffi python3-docopt python3-nose python3-sqlalchemy python-smbus libffi-dev`
|
|
2. `pip3 install -U cffi` (fixes a bug where smbus-cffi can't install)
|
|
3. `pip3 install coloredlogs spectra json-rpc smbus-cffi`
|
|
4. `adduser $USER i2c`
|
|
|
|
### Plugins & Effects
|
|
|
|
Plugin functionality is planned as we provide APIs for effects and plugins to use. Here are some we are going to provide when they are finished.
|
|
|
|
Plugins
|
|
- lux sensor (TSL2591) for providing information if lights need to be turned on
|
|
- start/stop hook so you can switch your LED power supply
|
|
- planned hook points for plugins include
|
|
- start/stop
|
|
- set color (for e.g. gamma correction)
|
|
- controller support
|
|
|
|
Effects
|
|
- pulse
|
|
- fade
|
|
- drop
|
|
- blink
|
|
- strobe (as far as possible)
|
|
|
|
#### License
|
|
|
|
This project is licensed under the conditions of the GNU GPL 3.0.
|
|
|
|
[license]:LICENSE
|
|
[license img]:https://img.shields.io/github/license/led-freaks/ledd.svg?style=flat-square
|
|
[cq]:https://www.codacy.com/app/chefeificationful/LedD
|
|
[cq img]:https://img.shields.io/codacy/bb2de4e1587f48358141cd7465d2ea89.svg?style=flat-square
|