Skip to content

ArnavBallinCode/Drone_Web_Interface_909

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Drone_Web_Interface_909

An advanced telemetry and monitoring system for real-time MAVLink data visualization.

πŸ”₯ Overview

Drone_Web_Interface_909 is a cutting-edge web-based UAV telemetry dashboard, designed for real-time data visualization from drones using MAVLink. The system integrates with Jetson and Pixhawk and now features:

  • 3D Data Visualization πŸ“Š
  • Full TypeScript & React-based UI 🎨
  • Real-time MAVLink telemetry processing ⏳
  • Optimized for both mobile and desktop πŸ’»πŸ“±

πŸ”„ Project Evolution: From Basic Web UI to TypeScript & 3D

🌟 Previous Versions which were also built for ISRO IROC-U (HTML, CSS, JavaScript)

Before transitioning to TypeScript and 3D visualization, the project was a basic web interface built using:
βœ… HTML, CSS, JavaScript
βœ… Simple data polling from JSON files
βœ… 2D telemetry displays (tables, simple graphs)

πŸ“‚ Repository Link: IROC_WEB_INTERFACE


πŸš€ Current Version (Web_Interface_909 - TypeScript & 3D)

The new version is a modern, interactive telemetry system, with:
βœ… TypeScript + React for a modular UI
βœ… Three.js for 3D telemetry visualization
βœ… WebSockets for live data updates
βœ… Improved file-based JSON data fetching

πŸ“‚ Repository Link: Web_Interface_909


βš™οΈ How It Works

🎯 System Architecture

1️⃣ Telemetry Data Flow

  • A Python script (listen.py) reads MAVLink telemetry and writes .json files in public/params/.
  • The React-based frontend reads these JSON files and updates the UI dynamically.

2️⃣ Frontend (React + TypeScript)

  • Fetches and processes telemetry from /public/params/.
  • Uses Three.js for 3D drone movement & attitude representation.
  • Displays real-time battery, altitude, and position data.

3️⃣ Backend (Python + MAVLink)

  • Uses pymavlink to listen to drone telemetry.
  • Converts MAVLink messages into structured .json files.

πŸš€ Installation & Setup

πŸ“Œ 1. Clone the Repository

git clone https://github.com/ArnavBallinCode/Drone_Web_Interface_909.git cd Drone_Web_Interface_909


πŸ›  2. Setting Up the TypeScript Project

βœ… For Windows (PowerShell/Command Prompt)

1️⃣ Install Node.js (latest LTS) from nodejs.org
2️⃣ Install dependencies:

npm install

3️⃣ Start the React development server:

npm run dev

4️⃣ Open http://localhost:5173/ in your browser.


βœ… For macOS (Terminal)

1️⃣ Install Homebrew (if not installed):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2️⃣ Install Node.js & dependencies:

brew install node
npm install

3️⃣ Start the development server:

npm run dev

βœ… For Linux (Debian/Ubuntu)

1️⃣ Install Node.js:

sudo apt update && sudo apt install -y nodejs npm

2️⃣ Install dependencies:

npm install

3️⃣ Start the development server:

npm run dev

πŸ›° 3. Running MAVLink Telemetry Data Collection

1️⃣ Connect Pixhawk/Jetson via USB (/dev/tty.usbserial-0001)
2️⃣ Run the Python script:

python3 listen.py

3️⃣ Data will be written to public/params/.


πŸ“‘ 4. Viewing the Telemetry Dashboard

Once the frontend server is running:

  • Open http://localhost:5173/ in your browser.
  • You will see real-time drone telemetry, battery status, GPS, IMU data, and a 3D model representing the drone’s movement.

πŸ“Œ **Previous Versions & Related Repositories which were also used in ISRO_IROC_U challenge **

Repository Description Link
IROC_WEB_INTERFACE Original UI (HTML, CSS, JS) View Here
ISRO_IROC_Web Backend scripts (Python + MAVLink) View Here
ISRO_IROC_Webinterface Older telemetry interface (Python-based) View Here

🎯 Upcoming Features

βœ… WebSocket-based real-time updates (instead of polling JSON files)
βœ… AI-powered anomaly detection for UAV telemetry
βœ… Enhanced 3D mapping using LiDAR & SLAM data


πŸ‘¨β€πŸ’» Contributing

1️⃣ Fork the repository
2️⃣ Create a new branch (feature-xyz)
3️⃣ Commit your changes (git commit -m "Added XYZ feature")
4️⃣ Push and submit a PR πŸš€


License

This project is not open-source. All rights are reserved by the author. No part of this repository may be used or reproduced without explicit permission from Arnav Angarkar.


πŸ“ž Contact & Support

If you need help, open an issue in the repo or reach out via:
πŸ“§ Email: 24bcs015@iiitdwd.ac.in

About

Telemetry Dashboard for MAVLink Drones πŸšπŸ“Š A real-time web interface built with React to visualize MAVLink telemetry data. It fetches JSON logs generated by pymavlink and displays critical drone parameters like attitude, battery status, and sensor readings. Includes a Python backend for handling telemetry data streams

Topics

Resources

License

Stars

Watchers

Forks

Contributors