|
4 | 4 | 
|
5 | 5 | 
|
6 | 6 |
|
7 |
| -## THIS PROJECT IS UNDER DEVELOPMENT |
8 |
| - |
9 |
| -Some features are not implemented yet and installation is not fully documented. |
10 |
| -If you know what you are doing, you can use the latest release and do it your way or wait untill installation is documented. |
11 |
| - |
12 |
| ---- |
13 |
| - |
14 | 7 | 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)](https://www.waveshare.com/wiki/PoE_HAT_(B)).
|
15 | 8 |
|
16 | 9 | 
|
17 | 10 |
|
18 | 11 | 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.
|
19 | 12 |
|
| 13 | +## 📖 Table of Contents |
| 14 | + |
| 15 | +1. [Features](#🌟-features) |
| 16 | +2. [Installation](#📦-installation) |
| 17 | + 1. [Download](#📥-download) |
| 18 | + 1. [Pre-built binaries](#pre-built-binaries) |
| 19 | + 2. [Cargo](#cargo) |
| 20 | + 2. [Configuration](#📝-configuration) |
| 21 | +3. [Building](#🛠️-building) |
| 22 | + |
| 23 | + |
20 | 24 | ## 🌟 Features
|
21 | 25 |
|
22 | 26 | - **Minimal** resource usage
|
23 | 27 | - Developed in Rust for memory safety 🦀
|
24 | 28 | - Display real-time system statistics (IP address, memory, CPU usage, etc.) on the PoE HAT's OLED screen 📊
|
25 | 29 | - Automatic fan control based on the CPU temperature 🌡️
|
26 | 30 |
|
| 31 | +## 📦 Installation |
| 32 | + |
| 33 | +### 📥 Download |
| 34 | +First, you will need the binary file. You can either download the pre-built binaries or download it using cargo. |
| 35 | + |
| 36 | +#### Pre-built binaries |
| 37 | +Pre-built binaries are available for download on the [releases page](https://github.com/jackra1n/RustBerry-PoE-Monitor/releases) |
| 38 | + |
| 39 | +To be able to run the binary anywhere on your system, you can move it to `/usr/local/bin`: |
| 40 | +```bash |
| 41 | +sudo mv rustberry-poe-monitor /usr/local/bin |
| 42 | +``` |
| 43 | + |
| 44 | +#### Cargo |
| 45 | + |
| 46 | +Install with `cargo`: |
| 47 | +```bash |
| 48 | +cargo install rustberry-poe-monitor |
| 49 | +``` |
| 50 | + |
| 51 | +### 📝 Configuration |
| 52 | + |
| 53 | +You should be able to run the binary file now: |
| 54 | +```bash |
| 55 | +rustberry-poe-monitor |
| 56 | +``` |
| 57 | + |
| 58 | +There are 2 CLI arguments available: |
| 59 | +- `--temp-on` - The temperature at which the fan should turn on (default: 60) |
| 60 | +- `--temp-off` - The temperature at which the fan should turn off (default: 50) |
| 61 | + |
| 62 | +Example: |
| 63 | +```bash |
| 64 | +rustberry-poe-monitor --temp-on 65 --temp-off 55 |
| 65 | +``` |
| 66 | + |
| 67 | +To run the program on startup, you can create a systemd service: |
| 68 | +```bash |
| 69 | +sudo nano /etc/systemd/system/rustberry-poe-monitor.service |
| 70 | +``` |
| 71 | + |
| 72 | +Paste the following into the file: |
| 73 | +```bash |
| 74 | +[Unit] |
| 75 | +Description=RustBerry PoE Monitor |
| 76 | +After=network.target |
| 77 | + |
| 78 | +[Service] |
| 79 | +ExecStart=/home/yourUser/.cargo/bin/rustberry-poe-monitor |
| 80 | +User=yourUser |
| 81 | +Restart=always |
| 82 | +RestartSec=30 |
| 83 | + |
| 84 | +[Install] |
| 85 | +WantedBy=multi-user.target |
| 86 | +``` |
| 87 | + |
| 88 | +Then enable the service: |
| 89 | +```bash |
| 90 | +sudo systemctl daemon-reload |
| 91 | +sudo systemctl enable rustberry-poe-monitor.service |
| 92 | +sudo systemctl start rustberry-poe-monitor.service |
| 93 | +``` |
| 94 | + |
| 95 | + |
27 | 96 | ## 🛠️ Building
|
28 | 97 |
|
29 | 98 | ### Prerequisites
|
|
0 commit comments