Skip to content

jshbrntt/speed-monitor-pi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Speed Monitor Pi

I built this tool for a blog post I wrote about my internet speed during the pandemic, which can be found here.

This tool runs an Ansible playbook in a Docker container to provision a Raspberry Pi for the purpose of monitoring internet speed.

  • Tested on Raspberry Pi OS Lite (64-bit) with a Raspberry Pi 4 Model B.
  • Using OS version: 2022-09-22-raspios-bullseye-arm64-lite.img.xz (but later versions should also work!).

Dashboard past year

Requirements

Services Installed

Setup

  1. Install Docker.

  2. Install GNU Make (if your OS doesn't provide it by default).

  3. Generate an SSH key to access the Raspberry Pi with.

    $ ssh-keygen
  4. Use the Raspberry Pi Imager to install Raspberry Pi OS Lite (64-bit) to your SD card.

    OS selection
  5. Ensure you have Enable SSH and Allow public-key authentication only options set with your SSH key's public key.

    Enable SSH option
  6. Insert the SD card into your Pi.

  7. Connect your Pi to the same LAN as your PC and power it on.

  8. Run the following command to provision your Pi.

    You can specify any of the following parameters to customize the installation.

    # You can specify any of the following parameters to customize the installation.
    
    # Defaults:
    
    # HOST=raspberrypi.local  [Address of the Raspberry Pi]
    # SSH_USER=pi             [SSH user]
    # SSH_KEY=~/.ssh/id_rsa   [Location of the SSH private key]
    # CRON='*/30 * * * *'     [Speedtest interval (Every 30 minutes)]
    
    $ make [HOST='...'] [SSH_USER='...'] [SSH_KEY='...'] [CRON='...']

    Preview

    asciicast

  9. Access your Internet Speed Monitor Grafana dashboard here, with admin:admin.

  10. You should see new data points every 30 minutes (by default).

    Dashboard