Skip to content

How to use Telemetry Server #394

Closed
Closed
@sensoarltd

Description

@sensoarltd

I've not managed to find any examples of using TelemetryServer() and I noticed the plugin isn't included in the mavsdk system.py. I have added the missing lines but I suspect it should be implemented this way @JonasVautherin. I'm trying to send an alert from onboard computer via PX4 and back to QGC. With the added plugin lines I'm then seeing an error. Any hints how to do this without taking the uOrb approach in C++.

Many thanks for any assistance

import asyncio
from mavsdk import System
from mavsdk.telemetry_server import (StatusText,StatusTextType)

async def run():
 
    drone = System()
    await drone.connect(system_address="serial:///dev/ttyACM0:115200")

    await drone.telemetry_server.publish_status_text(StatusText(StatusTextType.ALERT,"FOUND MISSING PERSON!"))

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(run())

File "mavlinkSend.py", line 10, in run
await drone.telemetry_server.publish_status_text(StatusText(StatusTextType.ALERT,"FOUND MISSING PERSON!"))
File "/home/david/anaconda3/lib/python3.8/site-packages/mavsdk/telemetry_server.py", line 3461, in publish_status_text
response = await self._stub.PublishStatusText(request)
File "/home/david/anaconda3/lib/python3.8/site-packages/aiogrpc/channel.py", line 40, in call
return await fut
grpc._channel._MultiThreadedRendezvous: <_MultiThreadedRendezvous of RPC that terminated with:
status = StatusCode.UNIMPLEMENTED
details = ""
debug_error_string = "{"created":"@1633706862.357854593","description":"Error received from peer ipv6:[::1]:50051","file":"src/core/lib/surface/call.cc","file_line":1069,"grpc_message":"","grpc_status":12}"

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions