A high-performance, ultra-wide dashboard designed for Raspberry Pi 5. It monitors temperature sensors (DS18B20) and controls status LEDs (WS2812B) while displaying live weather and time.
Note: Replace with actual screenshot
- Compute: Raspberry Pi 5 (Preferred) or Pi 4.
- Display: 8.8" Ultrawide IPS Display (1920x480 resolution).
- Sensors: 5x DS18B20 Waterproof Temperature Sensors.
- LEDs: WS2812B LED Strip (Addressable).
- Power: 5V Power Supply adequate for Pi and LEDs.
- Pixel-Perfect Layout: Optimized specifically for 1920x480 resolution.
- Real-Time Monitoring: Live updates via WebSocket/Polling from Python backend.
- Status Indicators: LED strip changes color based on temperature thresholds (Green/Orange/Red).
- Weather Integration: Local weather updates via Open-Meteo API.
- Mock Mode: Can run on Mac/PC for development without hardware sensors.
git clone <repository_url>
cd <repository_folder>The included script handles system dependencies, Python environment, and Node.js installation.
cd scripts
chmod +x setup_pi.sh
./setup_pi.shBackend:
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtFrontend:
cd frontend
npm installThe system is controlled by backend/config.json.
- Mock Mode: Set
"mock_mode": trueto simulate sensors on non-Pi hardware. - Thresholds: Adjust
warningandcriticaltemperature limits. - Location: Set
auto: trueto detect location via IP, or hardcode latitude/longitude.
Example config.json:
{
"mock_mode": false,
"temp_unit": "F",
"temp_thresholds": {
"global": { "warning": 80.0, "critical": 90.0 }
},
"location": { "auto": true }
}Use the start script to launch both backend and frontend, and open Chromium in Kiosk mode.
./scripts/start.shTerminal 1 (Backend):
cd backend
source venv/bin/activate
python3 -m uvicorn main:app --host 0.0.0.0 --port 8000 --reloadTerminal 2 (Frontend):
cd frontend
npm run dev -- --hostAccess at http://localhost:5173.
- One-Wire Sensors: Ensure
dtoverlay=w1-gpiois added to your/boot/firmware/config.txt. - Display: Ensure your
config.txtforces the HDMI mode to 1920x480 if it's not detected automatically.
Q: Will my probes always stay in the same order? A: Yes and No. The physical order might shift if you plug them in differently, but the Names you give them are tied to their unique serial numbers (IDs). So "Top Rack" will always be "Top Rack" even if it moves from Spot 1 to Spot 5.
Q: Weather stays "Offline"? A: Ensure your Pi has Wi-Fi. If "Auto Location" fails, disable it in "Settings" and enter your Latitude/Longitude manually (e.g. from Google Maps).
MIT