This is a Clock Alarm System for the Raspberry PiIt has sunrise lighting, coffee machine control, physical snooze button, and an Android companion app.
It has been modularised into the following packages:
- LightUpAlarm: Completely independent Python package to manage alarms (create, edit, and delete Alarms; can execute a callback function on alarm alert).
- LightUpHardware: Controls external hardware to complement the alarm alert, in this case it controls the room lights, mains socket switch, and snooze functionality from a physical button.
- LightUpServer: Creates an HTTP server to interface with the LightUpAlarm system using a web interface or JSON (used in the LightUpDroid Android app).
- LightUpWeb: Front-end web interface for the LightUpServer.
Additionally, an Android application can be used to interface with the LightUpPi Alarm system. For more information about this app please visit its repository: LightUpDroid Alarm
Installing LightUpPi Alarm
This application has been been develop to run a Raspberry Pi with Python 2.7. The project currently aims to maintain compatibility with Python 3.
Install the dependencies described below. Then download this repository, by clicking here or running the following in the command line:
git clone git://github.com/carlosperate/LightUpPi-Alarm.git
You can see the project Python dependencies on the requirements.txt file.
More information about specific dependencies can be found in each package README:
This project uses the following hardware in addition to the Raspberry Pi:
- Pimoroni Unicorn Hat for the lamp light
- Belkin Wemo Switch for the coffee machine control
- Philips Hue for the room light control
Note that the LightUpAlarm package can be used independently as an alarm system software and does not require any additional hardware to run.
Running LightUpPi Alarm
There are three different ways to run LightUpPi Alarm:
Using the command line interface only, by launching the application with the
python main.py -c
Instructions about how to use the CLI can be found in the LightUpAlarm package README.
Using the web interface only, designed to run on a headless system, by launching the program with the
python main.py -s
And then pointing your browser to the following adddress:
You can also use the LightUpDroid app if the server is running.
Or having both the command line and the server interface running simultaneously, by launching the program with the
python main.py -b
This project is licensed under The MIT License (MIT), a copy of which can be found in the LICENSE file.