Rover controled over internet

great, that is promissing!
I am still struggling with installing rpanion. at the end of the process at 82% when setting up python cryptography it remain hanging, then ssh is lost. this the second time it happens at the same point. i will give it a try for the 3rd time then i don’t know.

…and the worst of all, that the sd card gets corrupted because of that broken install and I can not boot anymore, so every time I can start from scratch with a fresh image…

Sorry I forgot to post the link to Stephen’s thread:

And here is his link to an raspbian image with rpanion preinstalled:

https://rpanion-files.s3-ap-southeast-2.amazonaws.com/Rpanion-server/Rpanion-Server-0.4.0-Raspian3.img.xz

Hi Sebastian,

I was blocked by a missing connector for the pixhawk-rpi. Now I hacked one, prepared the sd card with the given image, booted the pi, connected to the rpanion wifi network. but when I browse the http://10.0.2.100:3000, there is now answer. When I try to connect with mission planner, it asks for host ip, I give him 10.0.2.100, for the port 3000 and the connection fails.
Is there anyting else I have to prepare in raspberry after having installed the rpanion image?

when trying to connect I get the following msg:

image

Is 10.0.2.100 the IP address of the RPi or the adress your computer got after connecting to the rpanion-wifi? You need to enter the RPis IP address.
I always connect the RPi(s) to my home network via ethernet cable for the first setup, so I do not loose connection if I change anything.
Connecting from MissionPlanner will not work that way. The webserver running on the RPi listens on port 3000 for connections, there is no telemetry coming through over this port. You need to get to the webinterface first, to configure the telemetry forwarding.

I was able to do it finally, but unfortuantely my planned set up seems not to be supported. I wanted to use a pi zero because of the low power consumption. but when I tried on the zero, the webserver on the 3000 port was never working, so I could not set up anything. Then I inserted the sd card into a pi 2 b, it was working on the ethernet, but it did not have wifi. Finally i tried on a 3b+. on this one I could set up everything, ethernet and wifi, MP connection was working too. I was happy and I put back the sd card into the zero, and it does not work at all. webserver is not working and the connection to MP is not working either.

I overlooked you were using an Raspberry Pi Zero. You are right the Zero W is using less power than a 3B+, but it also has much less computing power, being only single core with a relativly low clockspeed.
Can you ssh into the Zero W after it booted the rpanion image? Even on a RPi3B+ it takes a while till the rpanion server responds. The single core Zero W might be struggling to get everything up and running in time or at all.

when trying with the zero, the wifi network comes up pretty quickly, and connecting to it works smoothly as well. I can ssh to the pi, so there is a little chance that I can fix it if I know what.
I will write to the rpanion thread asking for a work around if any esixts for a zero.

Rpanion writes a log file in its home directory. Perhaps you can find a clue in there or post the log in the Rpanion thread, so Stephen can have a look at it.
If you run “top”, do you see any “node” process running?
I have few RPi Zero Ws here, I will try to run Rpanion on one of them later.

by the mean time I do some test with pi 3b+ with rpanion. With the rpicam, I was able to stream to VLC, the delay is more than 2s, so this is not really suitable for remote driving a rover. streaming to MP was not working. The cam is selected and stream is started. tried both gstreamer and MP strings. MP always re-launched. anything else to set up?

Which version of MissionPlanner are you using? I remember having problems with one version of MP, but upgrading to the latest beta helped.
Another option is to use Qgroundcontrol with the rtsp string.

1.3.68
checked for updates, but nothing is available
rtsp has very high latency. it would be impossible in manual.

Rtsp in Qgroundcontrol has a relativly low latency. MP 1.3.70 should be available.

I have installed Qgroundcontrol, but realized that would take a week to understand and correctly calibrate, setup everything so I gave up for now. Installed a buster image and gstreamer 1.0 on top of that, to verify the stream. it worked to a w10 pc. So I have installed MP 1.3.70 but it is still not working and gives different errors.
does gstreamer to MP work for you , or only rtsp?

Finally I could setup a gstreamer stream from rpi zero buster image to MP, that proves that MP gstreamer installation is ok (I had to remove and re-download gstreamer)
my successful pipe is
sending:

raspivid -t 999999 -w 1280 -h 720 -fps 10 -rot 270 -b 2000000 -o - | gst-launch-1.0 -e -vvv fdsrc ! h264parse ! rtph264pay pt=96 config-interval=5 ! udpsink host=192.168.1.103 port=5000

receiving:
gst-launch-1.0 udpsrc port=5000 ! application/x-rtp, payload=96 ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! fpsdisplaysink sync=false text-overlay=false

the one in rpanion server are not udp and raspivid is not in.

I use MP 1.3.70 build 1.3.7336.16828. The rover has a RPi 2 with a Raspicam2 connected.
I copy and paste the correct (not loacalhost) MP string from the Rpanion video streaming page into MPs “Set Gstreamer Source” dialogue and the video starts. There is no noticable latency.
Raspivid is not needed anymore, the raspicam is accessible as /dev/video0.

thanks for the detailed decription! I do exactly the same, only difference is that I am using a 3B+. As I can stream with this setup to VNC, I suppose that MP’s rtsp handling must fail. There may be a missing plugin too. I will consider to save all settings and do a complete reinstall of MP. or just deleting rtsp folders. tht helped to get working gstreamer.

Finally I was able to get the stream running and then I carried on some tests. I have noticed that some times when settings are changed, the MP, RPI and FC might need a reboot the changes take effect. Or the video stream has to be set twice.
In the first time video latency was realy variable, anything between 0,5s-10s. so I have started playing with settings:

  • lower mavlink baud rate to min of 9600 on FC and MP side
  • swap to 5G radio
  • increase video bandwith

finally I lower video resolution and that solved all problems. I have now latency<0.5s and very nice stream quality with 640x480. much better that I had with 2Mp. when navigating a rover latency is more important, than resolution, and 640x480 is good enough.

what settings are you using?
in the mean time I have bought an RPI 3 A+ as I am afraid it will also disappear from shops as the zero did.
Have you run some tests with Apsync too?

I went on with test this weekend and I registered fo zerotier account and installed the client on my pc and on the RPI3. I was surprised when I saw that there was a bridge between rpanion wifi AP and the ethernet adapter. My pc was connected to rpanion wifi, so not having internet and when I pluged in the ethernet I had internet on my pc. I did not know it is prepared that way, but anyways it made easy zerotier installation. So after a few trial I could connect rpanion rpi with the MP pc through their zerotier ip address, but both were on the same location. What I can not see is that how the connection will be done when rpanion server and MP is not located at the same place? The rpanion AP will not be connected by anyone and I can not plug in a ethernet cable either so RPI will not have internet connection. So zerotier will not work either. Or you plan to use a second wifi adapter for internet connection? I think that the whole setup would be much easier if the rpanion RPI is configured as client, then it can forward telemetry to anywhere. But it is likely not possible due to the nature of the whole setup.