Information when it's needed, where it's needed.
Headlights is a project that aims to deliver information across a variety of different and novel formats. The main goal of Headlights is to create a product that delivers information in a new and useful way. Headlights currently utilises ESCPOS receipt printing and e-ink PaPiRus displays to do this.
Headlights is a Python application, currently running in Python 2.7 due to the need for PaPiRus support. It uses a very slightly modified version of the wonderful Meteocons icon set for weather icons in the output, and the python-escpos library for printer communication.
- A USB ESC/POS compatible thermal or dot matrix printer
- An e-ink PaPiRus display
- Python - Headlights itself is compatible with Python 2.7 upwards and Python 3 (other than 3.4), although Python 2 is required to use e-Ink due to the PaPiRus Python library only being compatible with Python 2.
- Pip, the Python package manager
- Optionally, a PaPiRus e-Ink display
git clone https://github.com/mashedkeyboard/Headlights.git
cd Headlights
- Run
sudo apt-get install libjpeg-dev
to install JPEG libraries, if not already there pip install -r requirements.txt
- Run headlights.py and browse to localhost:9375.
- Complete the setup with your own values. To find your printer's vendor and product IDs, use the python-escpos documentation. Note that at this time Headlights only supports USB printers.
NOTE: This setup is not 100% complete at the moment. If something breaks, manually copy headlights.cfg.sample in the config directory, and edit from there.
All the individual sections of the report are put into plugins - you can enable or disable whatever you want within the app. Individual plugin configuration files live within the /config directory, and the plugins themselves live within the /plugins one. If you want to build a plugin, take a look at the weather plugin for an example to go on.
- Make sure you a) have headlights.cfg in your config directory, and b) it's syntactically valid (check the sample to make sure).
- Check headlights.log - see if there's anything helpful in there, it should all be human readable.
- Create an issue on GitHub if you still can't get things working. Include your headlights.log file.