feat: Implement device firmware and command APIs, add individual device administration page, and refine UI styling.
This commit is contained in:
91
README.md
91
README.md
@@ -1,36 +1,85 @@
|
||||
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
|
||||
# HDMI Tester Enterprise
|
||||
|
||||
## Getting Started
|
||||
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.
|
||||
|
||||
First, run the development server:
|
||||
## 🚀 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](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
|
||||
npm run dev
|
||||
# or
|
||||
yarn dev
|
||||
# or
|
||||
pnpm dev
|
||||
# or
|
||||
bun dev
|
||||
# Clone the repository
|
||||
git clone <repo-url>
|
||||
cd hdmi-tester
|
||||
|
||||
# Install dependencies
|
||||
npm install
|
||||
```
|
||||
|
||||
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
||||
### 3. Database Initialisation
|
||||
```bash
|
||||
npx prisma db push
|
||||
```
|
||||
|
||||
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
|
||||
### 4. Launch the Platform
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
Open [http://localhost:3000](http://localhost:3000) to access the dashboard.
|
||||
|
||||
This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
|
||||
## 🤖 Hardware Simulation
|
||||
|
||||
## Learn More
|
||||
To test the platform without physical hardware, use the provided simulator. It mimics a head unit with active mesh capabilities.
|
||||
|
||||
To learn more about Next.js, take a look at the following resources:
|
||||
```bash
|
||||
# Register a simulated device
|
||||
python3 firmware/simulator.py register
|
||||
|
||||
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
|
||||
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
|
||||
# Interactive Orchestrator
|
||||
python3 firmware/simulator.py
|
||||
```
|
||||
|
||||
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
|
||||
### 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.
|
||||
|
||||
## Deploy on Vercel
|
||||
## 🔌 API Overview
|
||||
|
||||
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
|
||||
### 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.
|
||||
|
||||
Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
|
||||
### 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.*
|
||||
|
||||
Reference in New Issue
Block a user