Raspberry Pi - use blinkt shield for status LEDs
A while ago I bought a Pimoroni blinkt shield. Today I started usint it as a status LED.
First step is to install the library. For me - using archlinuxarm - the "simple" installer from the tutorial doesn't work - so I installed blinkt via pip:
pip install blinkt
Now test if everything works:
import time import blinkt blinkt.set_brightness(0.1) while True: for i in range(8): blinkt.clear() blinkt.set_pixel(i, 0, 255, 0) blinkt.show() time.sleep(0.5)
And finally a real example - showing the status of a github-action build on the first LED:
import time import requests import blinkt blinkt.set_brightness(0.05) while True: r = requests.get("https://github.com/mlugs/website/workflows/github%20pages/badge.svg") # led_num, r, g, b led_color = (0, 255, 255, 0) # yellow if r.status_code == 200: if "passing" in r.text: led_color = (0, 0, 2, 0) else: led_color = (0, 255, 0, 0) blinkt.clear() blinkt.set_pixel(*led_color) blinkt.show() time.sleep(60)
If the status is green the first LED is only a little green glow.
On api fail the first LED is yellow and on build fail the LED is red.
To run this script on boot in the background we use systemd.
Save the systemd config file as:
/etc/systemd/system/blinkt-status.service
:[Unit] Description=blinkt LED status [Service] ExecStart=python /root/blinkt_github_actions.py Restart=on-failure [Install] WantedBy=multi-user.target
Enable the systemd service with: systemctl enable blinkt-status