This is a Clock Alarm System for the Raspberry Pi. It has sunrise lighting, coffee machine control, physical snooze button, and an Android companion app.

The system is made of two complementary projects:

LightUpPi Alarm: The Alarm system running on a Raspberry Pi. It controls all the hardware triggered for the alarm alert, and provides multiple ways to interface with the system (command line, web front and server back-end).

LightUpDroid Alarm: An Android alarm application that connects to the LightUpPi Alarm server to synchronise phone alarms. It is capable to keep and trigger its local alarms without a connection to the LightUpPi Alarm system.

LightUpPi

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: LightUpDrop 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

Software Dependencies

You can see the project Python dependencies on the requirements.txt file.

More information about specific dependencies can be found in each package README: LightUpAlarm README LightUpServer README * LightUpHardware README

Hardware Dependencies

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:

  1. Using the command line interface only, by launching the application with the -c flag:

    python main.py -c

    Instructions about how to use the CLI can be found in the LightUpAlarm package README.

    CLI interface

  2. Using the web interface only, designed to run on a headless system, by launching the program with the -s flag:

    python main.py -s

    And then pointing your browser to the following adddress: http://<raspberrypi_ip>/LightUpPi.

    Web Interface

LightUpDroid

This is an Android companion app for the LightUpPi Alarm.

It is an Android alarm app that synchronizes to the alarms running in the LightUpPi Alarm Raspberry Pi system.

It is based on the Alarm Clock app by Jacob Klinker, which in turn is a modification of the official Android Open Source Project DeskClock (updated for backwards compatibility).

Clock Screen Alarms Screen Timepicker Screen Settings Screen

License

This project is licensed under The MIT License (MIT), a copy of which can be found in the LICENSE file.