Have anyone tried Andruav? I wonder I'm the only one who have trouble connecting video

For those who haven’t heard about Andruav, it is a system that includes an Android application which allows you to use your cell phone as a Mavlink bridge and companion computer. Specifically, the Android device can connect to the Pixhawk via the telem1 port, and it sends telem1 data and cell phone camera recording data to a laptop via the cell phone’s LTE connection.

I’m planning to use Andruav for LTE connection of telemetry and video for maritime drone use. However, I’m experiencing some issues, which are outlined below:

  • Configuration :
    Quadcopter(Pixhawk Orange) + Galaxy A32(Android 13 Tiramisu, LTE 5G) + Laptop(Windows 11, using Drone Engage Web client)

  • Symptom :
    Telemetry is connecting well, and Mission Planner can be connected to UDP, but the video is not connecting via LTE. when I click the video live stream button on Drone Engage Webclient, video live stream window is opened, but video screen remain blank and black. When connected to WIFI, it sends video data well. (For clarity, the drone card and GCS card are not on the same network; they are using different WIFI networks.)

  • What I have tried :
    Different method of operation(click video button twice, changed the order of button clicks)
    Changing android & application settings(lowering video quality, turning off data saving options, all available options)
    Changing desktop settings(turning off Avast Vaccine)
    Different browser(Chrome, Internet explorer, Microsoft Edge)
    Different app(using andruav app, using drone engage web client)
    Different phone(I used friend’s phone and my another phone, it was not available too. it is different carrier)
    Different laptop(not worked as well, it was long distance away and had completely different network)
    I have very fast internet speed on drone card. so it is not speed’s problem.

-Notes :
I’ve had very few successful attempts at connecting to the video. because I successed to connect once, I don’t believe the issue is related to my mistake or bad setting value.

When I first installed the app, it worked a few times, and I was actually able to fly the drone and receive video from it. When I generated a new account, it worked a few times, video is transmitted long time. I reached out to the Andruav development leader for help, but they didn’t say about blocking when questioned about IP blocking. This leads me to believe that the issue is not related to the blocking of my IP address. When I turned off some network programs, it worked a few times, and when I switched to WIFI connection on the drone card(cell phone), video transmission worked every time I tried.

I suspect that the problem is related to my carrier’s firewall settings, which may be affected by my nation’s restrictions. Has anyone else had a similar experience with Andruav? Any insights would be greatly appreciated.

above is example of blank video screen

I have basic programming skills, so I was able to build the Andruav code from Github on my own. I wanted to check debug error message in android studio. Interestingly, the video worked seamlessly with LTE, which was unexpected.

To simplify, the app downloaded from the Play Store did not work, but the one I built myself was able to transmit video without any issues.

I reboot laptop and restarted cell phone, and video connection is not estabilish again.

is it related to IP assigning? my cell phone carrier moves IP address when reboot.

this is my debug message :

https://drive.google.com/file/d/1nKSlzHCEtMGx0n0GroWnDP7L5gVSj47T/view?usp=share_link

I suspect something wrong with IP address. everytime I try new thing it connects well and after that connection broken. IP address is changing automatically on cell phone, is it possible that can be cause of problem…?

I tried to install the app on both Android phones, drone unit seems like connected to UAV via USB Sik Radio telemetry. But on the ground Android phone, I was not able to get the connection with the Drone unit Android phone to see the FCB.

I am not sure if is it an account issue, as I do not receive an email. It mentioned, " Operation Failed: Duplicate entry.". Not sure if it is because I had used it from the Android app previously but without receiving an email about the signup.

Anyway, using the access code, I manage to log in to the web client from the browser.

Still, I do not see the Ground unit phone.

You should get access code in GCS mode in the phone. other method will not work although there are menu.

and drone card(phone) connected via USB-FTDI cable, not USB Sik Radio telemetry.

anyway, video is not coming well with this app until now.

okay, I will try the USB cable direct, but I do not foresee the cause. By the way, for the Android ground unit phone, do you get a green indicator at the FCB? What is the string shown on the Android ground unit phone under telem?

PC Web client video streaming is okay. Android Drone unit is streaming video after I click the FPV button to enable streaming. I can see the Android Ground unit on the MAP of the web client browser but the Ground unit FCB, telem: not available.

It does not matter if I use USB direct cable or a USB Sik Radio telemetry, both methods work well with PC Web Clients.

Now, I am curious what is the purpose of the Android Ground Unit.
Android Andruav-AP test version 5.04.13.

you have to see green color on telem side.

you have to specify baudrate and connect telem.

Did you make any modifications to the Android Ground Unit Com page?

I believe I do not have an issue with an Android Drone unit phone telemetry into the FCB as I can use the web client browser to Arm the drone, I can see the log, for example, a hardware safety switch is still engaged, etc.

I notice I cannot change the server IP address at the Android Drone unit when investigating the Android Ground unit FCB telem issue. It seems like I need a 3rd Android phone connect to the same network and run as GCS mode.

The mission planner (MP) listening to the identical UDP port seems detected something and the Mavlink UI tries hard to connect endlessly and never finish.

[Update] UDPCI (andruav.com:port) works with MP.

I can’t understand your saying, sorry

Does anyone have the same trouble starting the video streaming in the Drone Engage web client? Yesterday was okay, but no luck today, tested two phones, one with APK from Google Play Store, and one from Android Studio.

I also have this trouble.

I even got help from andruav developer. but he siad he is not maintaing andruav.

he said he is now interested on raspberry pi drone engage.

Eh, but the video stream problem is at the backend Engage Client, Android Andruav_ap (Drone) is working fine.

My understanding is drone engage is a cloud server. Eh, Pi to run as a cloud server? does it have the performance power? My understanding is Pi replacing the Android Andruav_ap (drone).

I belive this is some kind of strange routing issue with the phone and the network.

I have ran into this problem with my own testing and its really strange.

if i put the EE UK data sim in the andruav drone phone and try and stream video, all I get is a black screen on the webclient,

if i take that same simcard, insert it into a different phone or dongle then share that connection using the wifi hotspot with the andruav drone phone it works.

If i connect the andruav drone phone to a vpn with the sim inserted it will work. so there is some strange routing issue.

1 Like

Some more testing has showed that this is related to the Mobile network as It works reliably with an O2 UK mobile sim. so I believe there is some routing or DNS limitations with some mobile networks.

From an Android source code point of view, I have another concern. I am not very sure. I can’t confirm. I suspect there may be a timing issue within the code across multiple modules. There are plenty of runnable (thread) creation.

I will see if I can further trace to confirm that, but the trace debug log changes the entire module’s interaction timing. Hmmm…

I think is very challenging to confirm without the server-side code.