ArduPilot / ArduPilot/MAVProxy
MAVProxy TCP CLI access from other app (network)
- Dominant language
- Python
- Stars
- 595
- Forks
- 773
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 18
Description
This is a feature missing, why we don't add a TCP server module (simple telnet, or SSH) inside MAVProxy to use it from remote app ? this is a usefull feature because at this time this is like a closed box:(
Another feature missing is How to use the very cool DroneAPI high level cmds from external language ?
I made this small REST server inside a DroneAPI script to get data from the vehicles in JSON format
```
from droneapi.lib import VehicleMode
from pymavlink import mavutil
import web
import json
import sys
# First get an instance of the API endpoint
api = local_connect()
# Get the connected vehicle (currently only one vehicle can be returned).
v = api.get_vehicles()[0]
urls = (
'/data', 'get_data'
)
app = web.application(urls, globals())
class get_data:
def GET(self):
pyDict = {'lat':v.location.lat, 'lon':v.location.lon, 'alt':v.location.alt, 'roll':v.attitude.roll, 'pitch':v.attitude.pitch, 'yaw':v.attitude.yaw}
return json.dumps(pyDict)
sys.argv[1:] = ['0.0.0.0', '8080']
app.run()
```
http://127.0.0.1:8080/data
{"yaw": 0.013543915934860706, "lon": 2.254991, "pitch": 0.0019646603614091873, "lat": 48.8906287, "alt": 0.0, "roll": 0.0009096061112359166}
Contributor guide
No contributing guide indexed for this repository
Research direction
No source files, tests, or entry points are named. Start by locating MAVProxy's CLI and module architecture, then review how DroneAPI is exposed and compare the requested TCP or SSH access with the REST example; done requires a defined remote interface and an agreed scope for external DroneAPI use.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, cli, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100