/crabwatch

A Rust & Raspberry Pi based monitoring station

Primary LanguageRustMIT LicenseMIT

Crabwatch

A guide to building a Rust & Raspberry Pi-based open-source monitoring station.

Scope & Goals

There are multiple goals to this repository:

  1. This project allows me to unify all my hobbies (electronics, programming, woodworking) into one realization.
  2. It allows me to learn, discover and practice new things like ARM no-std cross-compilation of Rust, low-level hardware protocols (SPI, GPIO, I2C, ...).
  3. Getting, in the hand a functional and useful monitoring station that I can hook-up to my job's services monitoring stack.
  4. Sharing my discoveries and progress in the hope that it helps or inspires someone else!
  5. Having fun!

Organization

This repository is organized in different sections. Here is an overview of the layout:

  • The Chapters folder contains the main content of the project. This is likely where you want to start.
  • The Resources folder contains interesting resources that helped me while designing and researching everything. Check it out if you ever need to dig deeper than what I've done on some aspects!
  • The Sources folder contains the source code of the project. It is divided into two parts:
    • The Crabwatch folder contains the main Rust project, which is the actual final code I use in my real-life project.
    • The Chapters folder contains the code snippets that are used in the chapters. It is organized in a way that mirrors the chapters, so you can easily find the code that goes with a specific chapter.