An Aquarium Light Controller for the Raspberry Pi
Raspbian Buster on any supported Raspberry Pi (Zero, 1, 2, 3, or 4) is the recommended configuration. Swift 5.1 is the official Swift version used. These both match up with what is used during testing.
Raspbian Stretch and Swift 5.0 are also supported, but are older. It's recommended to upgrade if you are still on these versions.
Running on ARM64 Ubuntu 16.04 or 18.04, or Debian Buster is possible, but may have some issues. Generally, this means that hardware LED controllers may be more limited, and access to the PWM hardware on a Raspberry Pi is more locked down. Stick to I2C-based controllers like the PCA9685 or MCP4725 if you can.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
See the page on Setting up the Raspberry Pi for details.
RPiLight includes a bootstrapping script that walks you through getting things setup from a freshly flashed OS:
source <(curl -s https://raw.githubusercontent.com/Kaiede/RPiLight/master/bootstrap.sh)
This will grab the source from github and build it against the latest released tag. No pre-built binaries are currently available.
You can update the service by running the following from the RPiLight root directory that was grabbed from GitHub:
git pull
./build.sh [stable | latest] install
stable will always grab the latest tagged release, while latest will grab the latest code, which may be newer.
Examples are in the examples folder.
See Configuring the Light Schedule for full details.
The install script will do most of the work, so you should only need to start it using systemctl
, which will control the service:
sudo systemctl start rpilight
sudo systemctl restart rpilight
sudo systemctl stop rpilight
- Ephemeris - Calculate Moon and Sun positions in Swift.
- Moderator - A simple, modular command line argument parser in Swift.
- PCA9685 - PCA9685 I2C Driver for Swift.
- MCP4725 - MCP4725 I2C Driver for Swift.
- SingleBoard - Type-safe GPIO Library for single board computers.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Adam Thayer - Initial work - Kaiede
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE file for details