Server communication (RPC, MQTT, HTTP, etc)

I wanted to get some feedback on communicating with a remote server. Not sending video, just data back and forth. For instance, if I see an April tag, I may report the value of that April tag up to the server.

On the server I am using nodejs, which makes it really easy to do http, sockets, mqtt, etc.

I was curious from the openmv pros out there what they feel would be the easiest and most reliable way to send data back and forth? Ideally we could avoid polling.

I know the new OpenMV RT has wifi so I assume once it is on the same network as my server we can do something fairly easy?

We have a urequest module. I would just use that.

This module looks like a dead simple way to send from OpenMV to server. I also have have need for the server to assign a task to the OpenMV. Is there something more bi-directional?

We have raw sockets. So, you can just open a socket and listen for a request from the server. It’s pretty easy and the driver stack is robust. See the RTSP code: https://github.com/openmv/openmv/blob/master/scripts/libraries/rtsp.py

The script is robust and doesn’t break.