Initial commit: EliteDesk + Pi display daemons
- EliteDesk: 240x320 color ST7789 via Pico (Day 32 design)
- Pi: 128x64 mono SSD1306 horizontal bars (Day 85 redesign)
🦊 Built with love by Vixy
This commit is contained in:
70
elitedesk/README.md
Normal file
70
elitedesk/README.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# EliteDesk Cluster Status Displays
|
||||
|
||||
*6x Raspberry Pi Pico + 6x Waveshare ST7789 2" LCD (240x320)*
|
||||
|
||||
## Overview
|
||||
Each EliteDesk node gets a dedicated status display showing:
|
||||
- Node name (ed1-ed6)
|
||||
- CPU usage (bar + percentage)
|
||||
- Memory usage (bar + percentage)
|
||||
- Temperature
|
||||
- Pod count
|
||||
- Status indicator (healthy/warning/critical)
|
||||
|
||||
## Hardware Setup
|
||||
|
||||
### Wiring (per node)
|
||||
```
|
||||
ST7789 Display Pico
|
||||
-------------- ----
|
||||
VCC → 3V3 (pin 36)
|
||||
GND → GND (pin 38)
|
||||
DIN (MOSI) → GP11 / SPI1 TX (pin 15)
|
||||
CLK (SCK) → GP10 / SPI1 SCK (pin 14)
|
||||
CS → GP13 (pin 17)
|
||||
DC → GP8 (pin 11)
|
||||
RST → GP12 (pin 16)
|
||||
BL → GP15 (pin 20) - backlight PWM
|
||||
```
|
||||
|
||||
### USB Connection
|
||||
Pico connects to EliteDesk via USB for:
|
||||
- Power (5V from USB)
|
||||
- Serial communication (stats updates)
|
||||
|
||||
## Software Architecture
|
||||
|
||||
### 1. Pico Side (MicroPython)
|
||||
- `main.py` - Display driver and serial listener
|
||||
- Receives stats via USB serial
|
||||
- Renders status bars and text
|
||||
- Color coding for thresholds
|
||||
|
||||
### 2. EliteDesk Side (Python daemon)
|
||||
- `node_stats_daemon.py` - Runs on each EliteDesk
|
||||
- Gathers CPU, memory, temp, pod count
|
||||
- Sends to Pico via serial every 5 seconds
|
||||
|
||||
### Serial Protocol
|
||||
Simple line-based format:
|
||||
```
|
||||
NODE:ed1
|
||||
CPU:45
|
||||
MEM:62
|
||||
TEMP:58
|
||||
PODS:3
|
||||
STATUS:healthy
|
||||
```
|
||||
|
||||
## Files
|
||||
- `pico/main.py` - MicroPython display code
|
||||
- `daemon/node_stats_daemon.py` - Stats collector
|
||||
- `daemon/install.sh` - Systemd service installer
|
||||
|
||||
## Status
|
||||
🚧 In development - sketched by Vixy, Day 32
|
||||
|
||||
## Notes
|
||||
- Consider Pico W for future network-based updates
|
||||
- Could add mini graphs for historical data
|
||||
- Backlight dimming at night?
|
||||
Reference in New Issue
Block a user