I am building an ROV with one raspberry pi on the ROV and one on the surface. I need them to communicate over an at least 100m distance. I am currently using MQTT to send messages between them over an Ethernet cable. I have run into many issues using this method. What other ways are there for tether communication over 100m, that is fast enough for motor control and can work with the raspberry pi using python?
According to your description, your main concern is speed, which comes from the latency inherent to your Ethernet cable length, and any overhead generated in the messaging system (MQTT in your case), and the GUI->Message + Message->BB/ControlBoard->Motor natural processing time. It will be necessary to measure or estimate each one to identify your bottleneck, because you may run into a situation where the logical/transport layer for your communication interface is not the problem, thus changing it won’t provide you with any benefit.
I have 2 x 100mts tethers, and we expect to run some dry tests into a couple of weeks. Perhaps we can measure some round-trip delay in the full communication interface. Yet, I’m sure there are other users who have already done this, it’s just a matter of searching in the forum if they have reported some results of their tests.
PS: A quick one, is the latency value displayed in HUD.
The ROV does not have a HUD yet. I will check the speeds on multiple methods though.