Skip to main content

LED display for TM1637 displays

Project description

LED Kurokku

The over-powered LED clock for raspberry pis and the TM1637 LED Display.

Overview

LED-Kurokku is a versatile system for controlling TM1637 LED displays with multiple widgets, automated brightness control, and weather integration. The system consists of:

  1. led-kurokku: Core application that controls the LED display
  2. kurokku-cli: Command-line tool for managing multiple LED-Kurokku instances

See the Architecture Document for a detailed system diagram and explanation of how the components work together.

The clock can be configured to show various widgets at specific intervals.

Widget types:

  • clock
    • configurable to show either 12/24 hour format.
  • message
    • these can be static messages or dynamically loaded on display from a Redis compatible store. So if you have a separate process updating a temperature reading in redis, you can have a static message that displays that reading.
  • alert
    • these are designed to be shorter lived messages that you only display when they're present.
    • they are loaded from redis and will appear immediately (depending on configuration) once added.
  • animation
    • doing silly stuff with the LED display.
    • the configuration is based on integer arrays and timings.

The clock is designed to have its configuration controlled by a server application that writes configuration data to redis.

Running Locally without an LED Display

If you don't install the optional rpi dependencies or they're not installed correctly, the program will default to a virtual text display.

 ━━   ━━   ━━   ━━
┃  ┃    ┃ ┃    ┃  ┃
         : ━━   ━━
┃  ┃    ┃    ┃ ┃  ┃
 ━━        ━━   ━━

If you want to do a deeper dive into debugging, you can specify both the --debug flag to force DEBUG level logging and --console to log detailed information about what would have been sent to the display instead of the virtual display or the real display.

Or you can choose to use the virtual or real display but also log debug level output to a file via: --debug --log-file=my_log_filename.log

Configuration Details

Redis Keys

Configuration

  • kurokku:config - main configuration stored in JSON string
    • widgets - a list of widget configuration objects
      • widget_type - one of clock, alert, message, animation
      • enabled - boolean (defaults to true)
      • duration - number of seconds to display (defaults to 5)
      • additional widget_type specific configuration options
    • brightness - brightness settings
      • begin - time to begin high brightness (e.g. 08:00)
      • end - time to end high brightness and use low (e.g. 20:00)
      • high - value for high brightness (from 0 to 7)
      • low - value for low brightness (from 0 to 7)

Alerts

  • kurokku:alert:* - alert messages
    • timestamp - ISO 8601 timestamp
    • message - string message to display
    • display_duration - number of seconds to display

Weather Data

  • kurokku:weather:temp:* - weather temperature data (e.g., "72*F")
  • kurokku:weather:alert:* - weather alerts from NOAA

Messages

  • * - any key (specified key name in the dynamic_source field of a message widget)
    • raw string text to display

Animations

  • * - any key (specified key name in the dynamic_source field of an animation widget)
    • frames - a list of frame objects
      • segments - a list of integers representing the segments to display in each digit
      • display_duration - a float in seconds (e.g. .1)

Example Configuration

TODO: example configuration

CLI Tool

The kurokku-cli tool provides a way to manage multiple LED-Kurokku instances. See README-cli.md for detailed usage instructions.

Key features:

  • Instance management for multiple LED-Kurokku displays
  • Configuration management using YAML files
  • Alert sending with customizable display duration
  • Weather data integration with automatic brightness adjustment
  • Template management for reusable configurations

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

led_kurokku-0.1.1.tar.gz (43.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

led_kurokku-0.1.1-py3-none-any.whl (42.8 kB view details)

Uploaded Python 3

File details

Details for the file led_kurokku-0.1.1.tar.gz.

File metadata

  • Download URL: led_kurokku-0.1.1.tar.gz
  • Upload date:
  • Size: 43.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.3

File hashes

Hashes for led_kurokku-0.1.1.tar.gz
Algorithm Hash digest
SHA256 254c4f2b8e16aa5017f9475de364f4874e29e23da084501025a61db003c8fc60
MD5 5e8195ebbda534b0abe183588386e194
BLAKE2b-256 663f7cff932e830388e7bb7bc4b897f8ad2f52b3b974c6faee8108901a4a8957

See more details on using hashes here.

File details

Details for the file led_kurokku-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for led_kurokku-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8a5009d9767ad14d68ed8764c4f7fe680bc1eb7e9534bdc6ce7b18c76780d570
MD5 7b310e7f8c5bdcd448c0f33ac6d2bf12
BLAKE2b-256 e91a9a45ac1b66f1e246436cba63f8dac68a74b8c2c72a9ce590a60258db93bd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page