Pi-hole with Inky pHAT ePaper display

Overview

Pi-hole with Inky pHAT ePaper display

This is my Pi-hole with an ePaper display. There are many like it, but this one is mine.

This script will trigger a periodic refresh of your Inky pHAT display to show some Pi-hole stats. You'll see your device's host name and IP (in case you haven't set a static IP address or need to manually adjust the DNS settings for some of your devices), the last time at which the display was refreshed, as well as some basic Pi-hole info:

- Status: connected or not
- How many clients are currently connected
- Queries in past 24 hours
- How many queries (count and percentage) have been blocked

Setup

  1. Set up your Pi-hole, I followed adafruit's instructions here.
    !! If you're working on a Windows machine, make sure you've set Unix style line endings when creating your wpa_supplicant.conf and ssh files !!

  2. Set up your Inky pHAT, I followed Pimoroni's instructions here.
    I found that after following the installation instructions, I was unable to run any of the included examples, nor was I able to run any of my own code due to a numpy dependency error. The solution was found on numpy's troubleshooting page, run:
    sudo apt-get install libatlas-base-dev

  3. Clone this repo.

  4. Edit your crontab file to set recurring screen refresh:

    crontab -e
    

    add this line:

    */15 6-24 * * * python <path to pihole_status_display.py>
    

    which will trigger the script every 15 minutes on the quarter hour between the hours of 6am and midnight.

How it works

  1. Get and format the update time - date and time at which the script was called.
  2. Pull some board info - the hostname and IP address of your pi.
  3. Pull some stats from your Pi-hole API in a struct (dict).
    • If your Pi-hole is up and your pi is able to query the API within 5 seconds, return status = "Connected", as well as the number of connected clients, DNS queries made today, total ads blocked today, and percentage of queries blocked.
    • If your pi is unable to query the API, return status = "DOWN", and set all the pihole_stats fields to "-----".
  4. Draw the results on the Inky pHAT screen.
    • If the API was successfully queried, results will be shown in BLACK.
    • If the script was unable to query the Pi-hole API, the results will be shown in RED:
Final-project-robokeeper created by GitHub Classroom

RoboKeeper! Jonny Bosnich, Joshua Cho, Lio Liang, Marco Morales, Cody Nichoson Demonstration Videos Grabbing the paddle: https://youtu.be/N0HPvFNHrTw

Cody Nichoson 1 Dec 12, 2021
Various programs in Atari BASIC for #FujiNet for Atari 8-bit

FujiNet Various programs in Atari BASIC for #FujiNet for Atari 8-bit FujiNet-3D Tic Tac Toe In 1978, Scott Adams wrote a 3-D Tic Tac Toe game, for pla

Kay Savetz 2 Jan 01, 2022
Python Wrapper for Homeassistant's REST API

HomeassistantAPI Python Wrapper for Homeassistant's REST API Please ⭐️ the repo if you find this project useful or cool! Here is a quick example. from

Nate 29 Dec 31, 2022
ModbusTCP2MQTT - Sungrow & SMA Solar Inverter addon for Home Assistant

ModbusTCP2MQTT Sungrow & SMA Solar Inverter addon for Home Assistant This addon will connect directly to your Inverter using Modbus TCP. Support model

Teny Smart 40 Dec 21, 2022
DIY split-flap display

The goal is to make a low-cost display that's easy to fabricate at home in small/single quantities (e.g. custom materials can be ordered from Ponoko or similar, and other hardware is generally availa

Scott Bezek 2.5k Jan 05, 2023
BMP180 sensor driver for Home Assistant used in Raspberry Pi

BMP180 sensor driver for Home Assistant used in Raspberry Pi Custom component BMP180 sensor for Home Assistant. Copy the content of this directory to

747Developments 1 Dec 17, 2021
MPY tool - manage files on devices running MicroPython

mpytool MPY tool - manage files on devices running MicroPython It is an alternative to ampy Target of this project is to make more clean code, faster,

Pavel Revak 5 Aug 17, 2022
Controlling fireworks with micropython

Controlling-fireworks-with-micropython How the code works line 1-4 from machine

Montso Mokake 1 Jan 08, 2022
Port of Uxn to digital hardware in the Logisim simulator

Uxn-Logisim Implements the Uxn instruction set in digital hardware. Very WIP. Contents cpu.circ - The Logisim file microcode.mc - Microcode source fil

DeltaF1 11 Mar 27, 2022
Philippe 1 Jan 09, 2022
Open-Source board for converting RaspberryPI to Brain-computer interface

The easiest way to the neuroscience world with the shield for RaspberryPi - PIEEG (website). Open-source. Crowdsupply This project is the result of se

Ildaron 436 Jan 01, 2023
iot-dashboard: Fully integrated architecture platform with a dashboard for Logistics Monitoring, Internet of Things.

Fully integrated architecture platform with a dashboard for Logistics Monitoring, Internet of Things. Written in Python. Flask applicati

2 Jul 29, 2022
KIRI - Keyboard Interception, Remapping, and Injection using Raspberry Pi as an HID Proxy.

KIRI - Keyboard Interception, Remapping and Injection using Raspberry Pi as a HID Proxy. Near limitless abilities for a keyboard warrior. Features Sim

Viggo Falster 10 Dec 23, 2022
Trajectory optimization package for Mini-Pupper robot

Trajectory optimization package for Mini-Pupper robot Purpose of this repository is to provide low-torque and low-impact trajectory for Mini-Pupper qu

Sotaro Katayama 38 Aug 17, 2022
Skykettle ha - Redmond SkyKettle integration for Home Assistant

Redmond SkyKettle integration for Home Assistant This integration allows to cont

Alexey 'Cluster' Avdyukhin 48 Jan 06, 2023
I made this so I can control my Tapo L510 light bulb and Govee H6159 light strip using the PyP100 module and the Govee public API

TAPO-And-Govee-Controller I made this so I can control my Tapo L510 light bulb and Govee H6159 light strip using the PyP100 module and the Govee publi

James Westhead 0 Nov 23, 2021
Watson-Assistant with integration capabilities

Watson-Assistant-Integration Watson-Assistant with integration capabilities "main.py" should be deployed as Cloud Function (Action) on IBM Cloud. For

Sergey Usachev 1 Dec 20, 2021
A small Python app to converse between MQTT messages and 433MHz RF signals.

mqtt-rf-bridge A small Python app to converse between MQTT messages and 433MHz RF signals. This acts as a bridge between Paho MQTT and rpi-rf. Require

David Swarbrick 3 Jan 27, 2022
Andreas Frisch 1 Jan 10, 2022
This tool emulates an EMV-CAP device, to illustrate the article "Banque en ligne : à la decouverte d'EMV-CAP" published in MISC

About This tool emulates an EMV-CAP device, to illustrate the article "Banque en ligne : à la decouverte d'EMV-CAP" published in MISC, issue #56 and f

Philippe Teuwen 28 Nov 21, 2022