I am working with the following setup: I have an SBC running Ubuntu 18. The board is installed on an outdoor device. The board generates a wireless hotspot and runs a python script which streams UDP packets to the mobile devices that are connected to the hotspot, using the socket module. An Android app receives the packets and displays the contents.
Now, when I test the system indoors, everything works fine. The packets are correctly received and processed. However, when I test it outdoors, with the device operating at about 20cm from the ground, I have many timeout exceptions waiting for the UDP packets. The problem disappears if I lift the device from the ground. In any case, the WiFi signal is strong (I get the same problem even when the mobile device is very close to the board).
How can I diagnose the problem? Is there a way to fix it?