# UWB Positioning Web Application Next.js web application for visualizing and analyzing UWB indoor positioning data. ## Features - **Real-time Positioning**: Live visualization of tag positions via WebSocket - **Data Analysis**: Upload and analyze positioning session files - **Interactive Maps**: 2D warehouse visualization with anchor positions - **Path Tracking**: Tag movement analysis and playback ## Quick Start ```bash npm install npm run dev ``` ## Project Structure ``` uwb-webapp/ ├── app/ # Next.js App Router pages ├── components/ # React components ├── lib/ # Utilities and configurations ├── pages/api/ # API routes ├── public/ # Static assets └── utils/ # Helper functions ``` ## Context from ESP32 Project This webapp connects to the ESP32-S3 UWB positioning system: - **Hardware**: Makerfabs MaUWB modules (ESP32-S3 + DW3000 UWB + OLED) - **Network**: 8 anchors + 1 mobile tag (ID 1234, 6.8Mbps) - **Data Flow**: Tag → USB → PC → WebApp - **Files**: raw_positioning.csv + anchor_coordinates.csv ## API Endpoints - `GET /api/serial` - List available serial ports - `POST /api/connect` - Connect to UWB device - `GET /api/data` - Get positioning data stream - `POST /api/upload` - Upload CSV files for analysis ## Tech Stack - **Framework**: Next.js 14 with App Router - **Language**: TypeScript - **Serial**: Node SerialPort for ESP32 communication - **WebSocket**: Real-time data streaming - **Visualization**: Canvas/SVG for 2D positioning display