A modern, real-time telemetry dashboard for Unmanned Surface Vehicles (USV). This system provides comprehensive monitoring capabilities including GPS tracking, camera feeds, and real-time sensor data visualization with an intuitive web interface.
- Camera Feed: Large main panel with integrated camera view and pan/tilt controls
- Live GPS Tracking: Compact interactive map for real-time position monitoring
- Telemetry Data: Comprehensive sensor data display including battery, engine, and environmental sensors
- System Status: Compact grid layout showing all system indicators at a glance
- Responsive Design: Fully responsive interface that works on desktop, tablet, and mobile devices
- Glass Morphism: Modern design with translucent panels and blur effects
- Real-time Updates: Live data updates with smooth animations and transitions
- Professional Dashboard: Clean, intuitive interface designed for mission-critical operations
- Interactive Map: Compact visual representation of USV position and heading in top-right panel
- Progress Indicators: Battery levels, fuel status, and system health metrics
- Status Grid: 2-column layout showing all system indicators without scrolling
- Telemetry Metrics: Detailed sensor readings and operational parameters in bottom-right panel
- HTML5: Modern web standards with semantic markup
- JavaScript: Real-time data simulation and interactive features
- CSS3: Advanced styling with CSS Grid, Flexbox, and glass morphism design
- Responsive Design: Mobile-first approach with flexible layouts
The dashboard features a 4-panel layout optimized for operational efficiency:
- Camera Feed (Main panel - left side): Large video stream with control buttons
- System Status (Bottom-left): 2x3 grid showing all system indicators
- USV Tracking Map (Top-right): Compact GPS visualization with position tracking
- Telemetry Data (Bottom-right): Detailed sensor readings and metrics
usv_2/
βββ index.html # Main dashboard interface
βββ assets/styles.css # Modern CSS with glass morphism design
βββ serve.py # Development server with CORS support
βββ README.md # Project documentation
βββ DEMO.md # Detailed demo guide
βββ src/ # Rust source code (alternative implementation)
The system tracks comprehensive telemetry data including:
- Position: GPS coordinates (latitude, longitude, altitude)
- Velocity: Speed, heading, and vertical speed
- Battery: Level, voltage, current, temperature, and charging status
- Engine: Throttle, RPM, temperature, fuel level, and operational status
- Sensors: Compass heading, orientation (pitch/roll/yaw), environmental data
- Communication: Signal strength, network type, connection status
- Python 3 (for the development server)
- Modern web browser (Chrome, Firefox, Safari, Edge)
- No additional installations required
-
Clone or download the project
# If using git git clone <repository-url> cd usv_2
-
Start the development server
python3 serve.py
The server will automatically find an available port and display the URL.
-
Open your browser Navigate to the URL shown (typically
http://localhost:3000
)
That's it! The dashboard will load immediately with live telemetry simulation.
If Python is not available, you can use any HTTP server:
# Using Node.js (if installed)
npx http-server . -p 8000 --cors
# Using PHP (if installed)
php -S localhost:8000
# Using any static file server
For production deployment, simply serve the files using any web server:
- Apache
- Nginx
- Any CDN or static hosting service
No build process required - the dashboard is ready to use as-is.
The dashboard is organized into four main sections:
- Camera Feed (Main panel - left): Large live camera stream with control buttons
- System Status (Bottom-left): Compact 2x3 grid showing all system indicators
- USV Tracking Map (Top-right): Interactive map showing USV position and trajectory
- Telemetry Panel (Bottom-right): Real-time sensor data and metrics
The system automatically generates mock telemetry data for demonstration purposes. In a production environment, this would be replaced with actual sensor integration.
The interface automatically adapts to different screen sizes:
- Desktop: Full dashboard layout with all panels visible
- Tablet: Optimized layout with reorganized panels
- Mobile: Single-column layout with stacked components
The project follows Rust best practices and modern development principles:
- KISS: Keep It Simple, Stupid - Simple, focused components
- DRY: Don't Repeat Yourself - Reusable components and utilities
- SOLID: Well-structured, maintainable code architecture
- Clean Code: Readable, well-documented, and maintainable
Each component is designed to be:
- Self-contained: Minimal external dependencies
- Reusable: Can be used in different contexts
- Responsive: Adapts to different screen sizes
- Performant: Optimized for real-time updates
- CSS-in-Rust: Styles are embedded within components using Dioxus style macros
- Modern CSS: Utilizes CSS Grid, Flexbox, and modern properties
- Responsive Design: Mobile-first approach with breakpoints
- Performance: Optimized CSS with minimal overhead
- WebAssembly: Compiled to WASM for near-native performance
- Efficient Updates: Only re-renders components when data changes
- Minimal Dependencies: Carefully selected, lightweight dependencies
- Memory Management: Rust's ownership system ensures memory safety
- Chrome/Chromium 80+
- Firefox 79+
- Safari 14+
- Edge 80+
Problem: Browser shows blank page
- Solution: Make sure you're using an HTTP server (not opening
index.html
directly) and check browser console for errors.
Problem: Styles not loading correctly
- Solution: Check that
assets/styles.css
is present and the server has proper MIME type support.
Problem: Real-time updates not working
- Solution: Check browser console for JavaScript errors. The dashboard uses modern JavaScript features.
Problem: "Address already in use" error
- Solution: The server automatically finds an available port. If issues persist, manually specify a different port or kill the process using the port.
Problem: CORS errors in browser console
- Solution: The development server includes CORS headers. Try clearing browser cache or using a different browser.
Problem: Slow loading
- Solution: The dashboard loads instantly as it's pure HTML/CSS/JS. Check your network connection and browser performance.
Problem: High CPU/memory usage
- Solution: Modern browsers handle the dashboard efficiently. Close unnecessary tabs or try a different browser.
- Client-side Only: Dashboard runs entirely in the browser with no server-side vulnerabilities
- Input Validation: All data inputs are validated and sanitized via JavaScript
- Secure Communications: Ready for HTTPS deployment
- No External Dependencies: Self-contained application with minimal external resources
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Web Standards Community: For modern HTML5, CSS3, and JavaScript capabilities
- Maritime Industry: For inspiration and requirements gathering
- Open Source Community: For tools and techniques that made this project possible
Built with β€οΈ using modern web technologies