-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add MAVLink forwarding via WebSocket server #3423
base: master
Are you sure you want to change the base?
Conversation
MissionPlanner/Utilities/httpserver.cs Line 180 in 693c6e3
This is the internal server I mentioned. Looks like your code is a client though, vs the existing is serverside |
My use case was a browser connecting to MP as the data source Yours is to push data to somewhere? |
This one is for connecting to a socketio ws service as a client |
Right, mission planner connects directly to the vehicle then it forwards onto a web based dashboard. |
I assume you have something working? As I would have thought the dashboard makes the connection to the backend vs the backend connecting to the frontend Ws://127.0.0.1:56781/websocket/server Ws://127.0.0.1:56781/websocket/raw Http://127.0.0.1:56781/hud.html Example
|
https://github.com/IamPete1/WebTools/tree/MAVLink_Dashboard As with all the WebTools it is 100% client side, so the only option we have is WebSocket client (we could do direct COM ports too but I haven't implemented). |
This adds forwarding to WebSockets. I have only tested sending from MissionPlanner to the WebSocket not the other way (my application does not support send). So far I have been using pymavlink with ArduPilot/pymavlink#967.
This very hacky currently. It doesn't work if you open the same connection more than once for example. I'm not cleaning up correctly I guess, but this is right on the edge of my c# knowledge.
This does add Fleck as a new dependency, it makes the server stuff easier. https://github.com/statianzo/Fleck
This is more or less a Fleck example and code copied from the existing client WebServer stuff.