2 stable releases
1.0.1 | Nov 21, 2023 |
---|
#1262 in Hardware support
460KB
237 lines
🦀🍇 RustBerry-PoE-Monitor
RustBerry-PoE-Monitor is a Rust-based monitoring and control tool for the Raspberry Pi, specifically designed for use with the Waveshare PoE HAT (B).
This tool provides real-time monitoring of your Raspberry Pi's system statistics, including IP address, memory usage, CPU load, and more, displayed on the PoE HAT's OLED display. Additionally, it offers fan control to maintain optimal operating temperatures.
📖 Table of Contents
🌟 Features
- Minimal resource usage
- Developed in Rust for memory safety 🦀
- Display real-time system statistics (IP address, memory, CPU usage, etc.) on the PoE HAT's OLED screen 📊
- Automatic fan control based on the CPU temperature 🌡️
📦 Installation
📥 Download
First, you will need the binary file. You can either download the pre-built binaries or download it using cargo.
Pre-built binaries
Pre-built binaries are available for download on the releases page
To be able to run the binary anywhere on your system, you can move it to /usr/local/bin
:
sudo mv rustberry-poe-monitor /usr/local/bin
Cargo
Install with cargo
:
cargo install rustberry-poe-monitor
📝 Configuration
You should be able to run the binary file now:
rustberry-poe-monitor
There are 2 CLI arguments available:
--temp-on
- The temperature at which the fan should turn on (default: 60)--temp-off
- The temperature at which the fan should turn off (default: 50)
Example:
rustberry-poe-monitor --temp-on 65 --temp-off 55
To run the program on startup, you can create a systemd service:
sudo nano /etc/systemd/system/rustberry-poe-monitor.service
Paste the following into the file:
[Unit]
Description=RustBerry PoE Monitor
After=network.target
[Service]
ExecStart=/home/yourUser/.cargo/bin/rustberry-poe-monitor
User=yourUser
Restart=always
RestartSec=30
[Install]
WantedBy=multi-user.target
Then enable the service:
sudo systemctl daemon-reload
sudo systemctl enable rustberry-poe-monitor.service
sudo systemctl start rustberry-poe-monitor.service
🛠️ Building
Prerequisites
For building for Rasberry Pi I'm using cross
Building for Raspberry Pi
cross build --target=aarch64-unknown-linux-gnu --release
🏃♂️ Running
Just run the binary file
./rustberry-poe-monitor
Dependencies
~13MB
~205K SLoC