This setup allows you to run DroneAid locally without a physical Tello drone by using your webcam to test the machine learning model.
- Updated
wsfrom 7.5.10 to 8.19.0 - All security vulnerabilities fixed
- FFmpeg installed (required for video processing)
A simplified server that doesn't require a physical drone. It:
- Serves the web interface on http://127.0.0.1:5000
- Provides mock battery status
- Sends simulated drone state data
- Works entirely in demo mode
A webcam-based demo interface that:
- Uses your computer's webcam instead of drone video
- Runs the DroneAid ML model on the webcam feed
- Detects DroneAid symbols in real-time
- Shows bounding boxes and confidence scores
Added a new npm script:
"demo": "node server-demo.js"cd tello-demo
npm run demoThe server will start on http://127.0.0.1:5000
Open your browser to:
- Demo Mode (Webcam): http://127.0.0.1:5000/demo.html
- Original Interface: http://127.0.0.1:5000/ (requires physical drone)
-
Open the demo page - Navigate to http://127.0.0.1:5000/demo.html
-
Start your webcam - Click the "📹 Start Webcam" button
-
Enable predictions - Toggle the "Prediction" switch to "On"
-
Test with symbols - Show DroneAid symbols to your webcam:
- Print the symbols from
img/icons/ - Display them on another screen
- Draw them on paper
- Print the symbols from
-
Adjust confidence - Use the "Min Confidence Level" slider to filter detections
The model is trained to detect these symbols:
| Symbol | Meaning |
|---|---|
| SOS | Immediate Help Needed |
| OK | No Help Needed |
| Water | Water Needed |
| Food | Food Needed |
| Shelter | Shelter Needed |
| First Aid | First Aid Kit Needed |
| Children | Area with Children in Need |
| Elderly | Area with Elderly in Need |
Symbol images are located in the img/icons/ directory.
- Express.js - Web server
- WebSocket - Real-time communication
- TensorFlow.js - ML model inference
- FFmpeg - Video processing (for drone mode)
- Pre-trained object detection model in
tello-demo/public/model_web/ - Uses TensorFlow.js for browser-based inference
- Detects and classifies DroneAid symbols
Demo Mode (npm run demo):
- No drone required
- Uses webcam
- Simplified server
- Great for development and testing
Drone Mode (npm start):
- Requires physical Tello drone
- Connects via WiFi
- Receives UDP video stream
- Full drone control capabilities
- Check browser permissions for camera access
- Try a different browser (Chrome/Edge work best)
- Ensure no other app is using the camera
- Check console for errors
- Verify
public/model_web/contains model files - Ensure the object-detection.js library loaded
- Lower the video resolution
- Close other browser tabs
- Disable other apps using CPU/GPU
To use with a real Tello drone:
- Connect your computer to the Tello drone's WiFi
- Run
npm startinstead ofnpm run demo - Open http://127.0.0.1:5000/
- Click "Start stream"
For best results:
- Ensure good lighting
- Hold symbols steady in front of camera
- Start with high-contrast printed symbols
- Adjust confidence threshold based on results
- The model works best with clear, unobstructed symbols
- Main README:
README.md - Setup Guide:
SETUP.md - Symbol Icons:
img/icons/ - GitHub: https://github.com/Call-for-Code/DroneAid