-
Notifications
You must be signed in to change notification settings - Fork 4
Example Use Cases
WenuLink acts as a bridge between DJI drones and MAVLink-based Ground Control Stations (GCS). This page presents three example scenarios to give you an idea of what you can accomplish with WenuLink.
A flight plan lets you define a sequence of geographic waypoints that the drone will visit autonomously. Instead of manually piloting the drone, you draw a route on a map in your GCS software and let WenuLink handle the translation to DJI commands.
Manual piloting limits repeatability and precision. With autonomous flight plans you can:
- Execute the same route consistently across multiple flights
- Cover large areas systematically
- Add actions at each waypoint (e.g. hover for a set duration, rotate to a specific heading)
- Focus on monitoring instead of stick control
flowchart LR
GCS["GCS (QGroundControl / Mission Planner)"] -->|MAVLink| WenuLink["WenuLink App"] -->|"DJI SDK"| Drone["DJI Drone"]
- You create a waypoint mission in a MAVLink-compatible GCS such as QGroundControl or Mission Planner.
- The GCS sends the mission to WenuLink over MAVLink (UDP).
- WenuLink translates each MAVLink mission item into the corresponding DJI waypoint, including optional actions like delays, yaw changes, and return-to-launch.
- The DJI drone executes the mission autonomously.
| Component | Example |
|---|---|
| DJI drone with remote controller | DJI Mavic 2 / Phantom 4 (DJI SDK v4 compatible) |
| Android device | Phone or tablet connected to the remote controller via USB |
| GCS software | QGroundControl or Mission Planner on a PC in the same network |
| WenuLink app | Installed on the Android device with MAVLink service enabled |
| MAVLink Command | Description |
|---|---|
NAV_TAKEOFF |
Autonomous takeoff |
NAV_WAYPOINT |
Fly to a GPS coordinate at a given altitude |
NAV_DELAY |
Hover at the current waypoint for a specified duration |
CONDITION_YAW |
Rotate the aircraft heading |
NAV_RETURN_TO_LAUNCH |
Return to the home point after the mission |
Video capture lets you stream the live camera feed from a DJI drone to any WebRTC-compatible viewer in real time. This turns the drone into a remotely observable eye in the sky without requiring DJI's own app for viewing.
- Remote monitoring: Observers who are not at the flight location can watch the drone feed live in a web browser.
- Integration: The WebRTC stream can be consumed by custom applications, computer vision pipelines, or recording tools.
- Independence from DJI Go: You do not need DJI's proprietary ground station app to see what the drone sees.
flowchart LR
DJICamera["DJI Camera"] -->|"DJI SDK (H.264)"| WenuLink["WenuLink App"] -->|WebRTC| Signaling["Signaling Server"] -->|WebRTC| Viewer["Web Browser / Viewer"]
- The DJI camera feed is decoded on the Android device by WenuLink using the DJI codec.
- Decoded video frames are fed into a WebRTC video track.
- A signaling server (WebSocket) coordinates the peer connection between WenuLink and the remote viewer.
- The viewer receives the live stream in a standard web browser.
| Component | Example |
|---|---|
| DJI drone with camera | Any DJI SDK v4 compatible aircraft |
| Android device | Connected to the remote controller via USB |
| Signaling server | webrtc-client-server running on the local network |
| Web browser | Chrome, Firefox, or any WebRTC-capable browser |
| WenuLink app | Installed with WebRTC service enabled |
Refer to the Getting Started guide for detailed setup instructions, including signaling server configuration and how to view the stream in your browser.
Photogrammetry is the process of reconstructing 3D models or creating orthomosaic maps from overlapping aerial photographs. With WenuLink you can fly a survey grid pattern and trigger the drone camera at each waypoint, collecting the images needed for photogrammetric processing.
- Agriculture: Monitor crop health over large fields.
- Construction: Track site progress with accurate 3D models.
- Environmental research: Map terrain, vegetation, or erosion over time.
- Surveying: Generate geo-referenced orthomosaics without expensive dedicated mapping drones.
flowchart LR
GCS["GCS Survey Planner"] -->|"MAVLink (waypoints + photo triggers)"| WenuLink["WenuLink App"] -->|"DJI SDK"| Drone["DJI Drone"]
Drone -->|"Photos on SD card"| Processing["Photogrammetry Software"]
- In your GCS (e.g. QGroundControl's Survey tool), define a survey area. The planner generates a grid of waypoints with
IMAGE_START_CAPTUREcommands at each point. - The mission is uploaded to WenuLink over MAVLink.
- WenuLink translates each photo trigger into the DJI
TakePhotowaypoint action. - The drone flies the grid and captures a photo at every waypoint. Images are stored on the drone's SD card.
- After the flight, retrieve the SD card and process the images with photogrammetry software such as OpenDroneMap.
| Component | Example |
|---|---|
| DJI drone with camera and SD card | DJI Mavic 2 / Phantom 4 |
| Android device | Connected to the remote controller via USB |
| GCS with survey planner | QGroundControl (Survey tool) |
| WenuLink app | Installed with MAVLink service enabled |
| Photogrammetry software | OpenDroneMap or others |
Note: This use case is partially supported. The mission system can trigger photos via the
IMAGE_START_CAPTUREMAVLink command, but end-to-end testing with actual photogrammetric processing is still ongoing. Video/photo capture to the device storage (as opposed to the drone's SD card) is not yet implemented. Contributions and test reports are welcome — see the Test Procedures page.