Piminder Network Monitoring HUD

What do you get when you combine a python module that runs as a service, Raspbian, and a Pimoroni GFX Hat? A LAN-wide messaging service with its own distinctive heads-up display. Leverage spare resources across your network to monitor and accept reports from other networked devices. Spy on your network services to make sure they haven’t gone down. Send messages at any of three severity levels from any application.

Portable Network Logging

Included helpers library makes the process of connecting your health check script to the central service as easy as pim.major("Oh no!"). Pull from pip and add to code more or less on the fly!

Fully Configurable Display

Included font exporter allows expanding the font with additional character sets. Background colours configurable, and per-script labelling available.

For Home Use

Safe to use across your local LAN with TLS transport security and permissions-based client authentication, with a containerized back-end service safe to run behind a reverse proxy to automate certificate confirmation!

What do you get when you combine a python module that runs as a service, Raspbian, and a Pimoroni GFX Hat? A LAN-wide messaging service with its own distinctive heads-up display. Leverage spare resources across your network to monitor and accept reports from other networked devices. Spy on your network services to make sure they haven’t gone down. Send messages at any of three severity levels from any application.

Modular Design

Piminder is provided as three interoperable payloads. All three are obtainable easily by running pip3 install piminder.

  • piminder_helpers is a convenience module exposing the helper object PiminderService(). Simply import into your existing application or freshly-created monitoring script, provide the appropriate configuration as its arguments, and use the convience methods info(), minor(), and major() to log messages against the service at that severity level.
  • piminder_service is the backend application, which exposes a REST-like API for logging messages and managing credential sets. Available via Docker Hub, the containerized version is easy to maintain as a service and, used appropriately, can be constrained to accept internal messages only. We’re working on a guide on setting that up).
  • piminder_monitor is the front-end application. Appropriately daemonized on your Rasberry Pi with Pimoroni GFX Hat, the monitor will continually query the back-end to get messages, and allow you to acknowledge and clear those messages using the GFX hat’s capacitive touch buttons.

Configurable for Use

The piminder_monitor subpackage provides several useful avenues of configuration:

  • The entire font is fully reprogrammable using fontedit, and the source files are provided at the GitHub repo.
  • Convenience icons are provided in the font for indicating message severity which may be useful if the user has difficulty distinguishing colours.
  • The backlighting LEDs are fully configurable through monitor.conf and can be set for both the standby mode and for each level of message severity.

This project and its output are provided free of upfront charge as part of the philosophy of FOSS and OSHW development practices. If you like this project and want to support its ongoing development, please check our support page.