# 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 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.*