Skip to content

24-Hour LED Controller for Raspberry Pi. Aimed at Aquarium Use.

License

Notifications You must be signed in to change notification settings

Kaiede/RPiLight

Repository files navigation

RPiLight

Actions Status MIT license Swift Swift

An Aquarium Light Controller for the Raspberry Pi

Hardware / OS

Recommended Raspbian Swift

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.

Experimental Debian Ubuntu

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.

Getting Started

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.

Installing RPiLight

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.

Configuration

Examples are in the examples folder.

See Configuring the Light Schedule for full details.

Starting the Daemon

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

Built With

  • 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.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Authors

  • Adam Thayer - Initial work - Kaiede

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details