Files
HDMI-Tester/README.md

93 lines
3.4 KiB
Markdown

# HDMI Console Diagnostics (Enterprise)
A high-performance orchestration platform designed for real-time monitoring and repair diagnostics of **Console HDMI Ports** (PS5, Xbox, Switch). This platform provides a "single pane of glass" view for large fleets of test nodes, offering sub-ms edge latency tracking and remote hardware orchestration for front-desk and technical staff.
## 🚀 Key Features
- **Port Telemetry**: Real-time monitoring of active nodes, port diagnostic results, and system health.
- **Port Insights**: Tactical spectral analysis of HDMI pins (DDC, CEC, TMDS) for board-level repair verification.
- **Retail & Enterprise Views**: Simplified "Good/Bad" UI for front-desk staff and detailed telemetry for technicians.
- **Command Center**: Enterprise-grade fleet management for device enrollment and environment orchestration.
- **Device Configuration**:
- Remote renaming and identification.
- Multi-slot firmware management (A/B switching).
- Remote Power Controls (Reboot, Shutdown).
- Secure firmware binary deployment (.bin/.elf).
- **Premium UI/UX**:
- High-contrast Light and Dark modes.
- Safari-optimized rendering and backdrop filters.
- **Virtual Hardware Simulator**: A web-based tactile OLED emulator for immediate testing.
- Fluid micro-animations and responsive layouts.
## 🛠 Tech Stack
- **Framework**: [Next.js 15](https://nextjs.org/) (App Router)
- **Database**: [Prisma](https://www.prisma.io/) with SQLite
- **Icons**: [Lucide React](https://lucide.dev/)
- **Styling**: Tailwind CSS with a custom CSS variable design system
- **Hardware Simulation**: Python-based simulator for headless testing
## 🏁 Quick Start
### 1. Prerequisites
Ensure you have Node.js (v18+) and Python 3 installed.
### 2. Installation
```bash
# Clone the repository
git clone <repo-url>
cd hdmi-tester
# Install dependencies
npm install
```
### 3. Database Initialisation
```bash
npx prisma db push
```
### 4. Launch the Platform
```bash
npm run dev
```
Open [http://localhost:3000](http://localhost:3000) to access the dashboard.
## 🤖 Hardware Simulation
To test the platform without physical hardware, you can use either the interactive web emulator or the Python-based CLI simulator.
### Web Simulator (Recommended)
Access the tactile OLED emulator directly in your browser: [http://localhost:3000/simulator](http://localhost:3000/simulator)
- **Features**: Real-time OLED display, keyboard shortcuts (R/T/S/B), and live system logs.
### Python CLI Simulator
```bash
# Register a simulated device
python3 firmware/simulator.py register
# Interactive Orchestrator
python3 firmware/simulator.py
```
### Simulator Commands:
1. **Register / Sync**: Connects the simulator to the mesh.
2. **Report Test**: Generates mock HDMI spectral data.
3. **Swap Slot**: Updates the active orchestration slot (A/B).
4. **Automated Loop**: Continuously reports telemetry.
## 🔌 API Overview
### Device Interaction
- `POST /api/devices/register`: Hardware enrollment.
- `PATCH /api/devices/[id]`: Update device configuration (Name, Slot).
- `POST /api/devices/[id]/command`: Remote power operations (Reboot, Shutdown).
- `POST /api/devices/[id]/firmware`: Orchestrated firmware deployment.
### Telemetry Reporting
- `POST /api/tests/report`: Transmit spectral analysis results from hardware.
- `GET /api/dashboard/stats`: Retrieve aggregate fleet metrics.
---
*Built for precision. Orchestrated for scale.*