How droneai-sitlab/tellodroneai_v2 works
TelloDroneAI_v2 is a Flask dashboard for piloting and monitoring a DJI Tello. Users connect WiFi, start the video stream, and issue manual, voice, or OCR/LLM-assisted commands; the backend queues commands for safety validation and execution. Video is read from the drone, processed for MJPEG display and optional OCR, while photos and clips can be saved locally. The graph reflects README-described capabilities and sampled call relationships; voice-to-command and OCR/LLM-to-queue wiring is not shown in the excerpts, so those links are marked unverified.
Main entry points: app.py Flask API and orchestrator · main.js Dashboard UI · command_executor.py Command validation and execution · media_capture.py Photo and video capture
Components 18
Web dashboard
- Dashboard UI
static/js/main.js - Dashboard page
templates/index.html - Flask API and orchestrator
app.py
Drone control
- WiFi connection
drone/wifi.py - Command validation and execution
drone/command_executor.py
Video and vision
- Tello stream reader
drone/frame_reader.py - Frame processor
drone/frame_processor.py - OCR sender
drone/ocr_sender.py
Command automation
- Ollama client
drone/ollama_client.py - Text command parser
drone/chat_parser.py - Offline voice recognition
vosk-voice/voice_module.py - Priority command queue
app.py
Media capture
- Photo and video capture
drone/media_capture.py - Local captures
Other components
- Operator
- OCR service
- Ollama service
- DJI Tello
Connections 24
- Operator → Dashboard UI: controls
README.md - Dashboard UI → Dashboard page: renders
- Dashboard UI → Flask API and orchestrator: calls API
static/js/main.js - Flask API and orchestrator → WiFi connection: manages WiFi
app.py - Flask API and orchestrator → Tello stream reader: controls stream
app.py - Tello stream reader → DJI Tello: reads video
drone/frame_reader.py - Flask API and orchestrator → Frame processor: processes frames
README.md - Flask API and orchestrator → OCR sender: sends frames
README.md - OCR sender → OCR service: posts frames
drone/ocr_sender.py - OCR sender → Ollama client: provides OCR text
README.md - Ollama client → Ollama service: requests inference
drone/ollama_client.py - Ollama client → Priority command queue: proposes commands
app.py - Dashboard UI → Text command parser: submits text
- Text command parser → Priority command queue: parses commands
app.py - Dashboard UI → Offline voice recognition: sends audio
- Offline voice recognition → Priority command queue: submits commands
- Flask API and orchestrator → Priority command queue: dispatches commands
README.md - Priority command queue → Command validation and execution: runs commands
README.md - Command validation and execution → DJI Tello: controls flight
README.md - Command validation and execution → Tello stream reader: gets Tello handle
drone/command_executor.py - Command validation and execution → Photo and video capture: runs media commands
drone/command_executor.py - Photo and video capture → Tello stream reader: reads frames
drone/media_capture.py - Photo and video capture → Frame processor: processes frames
drone/media_capture.py - Photo and video capture → Local captures: saves media
README.md