HDMI Tester Enterprise

A high-performance orchestration and telemetry platform designed for real-time monitoring and lifecycle management of HDMI testing hardware. 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.

🚀 Key Features

  • Operational Telemetry: Real-time monitoring of active nodes, test results, and system health.
  • Node Insights: Tactical spectral analysis of HDMI bus metrics including DDC, CEC, and TMDS voltage verification.
  • 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.
    • Fluid micro-animations and responsive layouts.

🛠 Tech Stack

  • Framework: Next.js 15 (App Router)
  • Database: Prisma with SQLite
  • Icons: Lucide React
  • 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

# Clone the repository
git clone <repo-url>
cd hdmi-tester

# Install dependencies
npm install

3. Database Initialisation

npx prisma db push

4. Launch the Platform

npm run dev

Open http://localhost:3000 to access the dashboard.

🤖 Hardware Simulation

To test the platform without physical hardware, use the provided simulator. It mimics a head unit with active mesh capabilities.

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

Description
No description provided
Readme 272 KiB
Languages
TypeScript 91.6%
Python 6.6%
CSS 1.3%
JavaScript 0.5%