Skip to content

petewall/eink-radiator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eInk Radiator

CI

The eInk Radiator is a project of mine, designed around the Inky wHAT eInk screen from Pimoroni, to "radiate" various information on a schedule.

This repository contains the main orchestrator and an administative user interface. It also uses several other repositories:

Installation

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/petewall/eink-radiator/main/deployment/deploy.sh)"

Display

The display repo controls how to display a slide to the eInk screen

Image Sources

These repositories are small, self-contained tools for generating images:

  • Blank - Creates a blank, single-color image
  • Concourse - (TBD) Creates a slide based on a Concourse pipeline(s)
  • Grafana Widget - (TBD) Display a Grafana-rendered dashboard widget, based on this video
  • Image - Resizes or crops an image from a URL
  • NASA Image of the Day - Gets an image from NASA Image of the Day
  • QR Code - (In development) Creates a QR Code
  • Stocks - (TBD) Creates a slide showing stock information
  • Text - Creates a slide based on text
  • Weather - (TBD) Creates a slide showing weather data

User Interface

When running, the eInk Radiator starts a server where the slides can be managed. This UI interacts via an HTTP API:

HTTP API

  • POST /api/next - Go to the next slide
  • POST /api/prev - Go to the previous slide
  • GET /api/screen/config.json - Gets the configuration of the screen.
  • GET /api/screen/image.png - Gets the current image on the screen.
  • GET /api/slides.json - Get the list of slides
  • GET /api/slide/<name>/config.json - Get the configuration for this slide
  • GET /api/slide/<name>/image.png - Get the image for this slide
  • POST /api/slide/<name>/activate - Make this slide active

TODO: Add API calls for adding/rearranging/deleting slides

TODO: Add API calls for changing slide configuration and previewing slides