For remote operation over the internet, the Oculusprime Server application requires that network ports 1935 and 5080 be open to accept incoming connections. This setup typically limits the internet connection to be a wifi network, through a router that has flexible port forwarding and firewall settings.
However, if Oculus Prime is to be connected to the internet via cellular 4G/LTE, or is behind an inaccessible firewall that blocks incoming connections, there is a solution: the Relay Server.
The Relay Server
To setup the relay server, all you need to do is run an instance of the Oculusprime Server application on a separate system that isn’t behind a restrictive firewall or connected to a cellular network. Then, you configure the robot to connect to it. When you want to remotely connect to the robot, you connect to the relay server instead, which relays commands and video from the robot.
The Oculus Prime hardware is not required for the app to run, so the relay server can run on any system running Linux OS, including:
- Linux laptop or PC
- Raspberry Pi
- Virtual Linux running in Vbox, Parallels, VMware, or similar, on Windows or OS X
Java 8 is required on both the relay server system and the robot, and the server’s admin username should match that of the robot.
Port forwarding should be set up, so the server can be accessed from outside the local LAN, over the internet.
On The Robot
With the relay server running, log in to the robot with the remote browser interface. To connect the robot to the relay server, go to:
'MENU > server > network > relay server connect'
Enter the host name or IP address of the relay server, and the admin username and password, then hit
'connect'. If successful, your session should immediately close, since you can’t connect to the robot normally anymore: you need to connect via the relay server.
Now, when you connect to the relay server web browser interface, you should see
'UPLINK: RELAY' in the upper-right status display, and you’ll be able to remote control the robot normally. You can now connect the robot to a constricted network (eg., a mobile wifi hotspot) by going to:
'MENU > server > network > connect'
The robot will automatically re-establish connection with the relay server after a few seconds.
- The robot’s relay server connection is persistent: it will keep trying to re-connect if the signal is lost, if the network is changed, or after reboot.
- The relay setup introduces slight video lag, and weak mobile networks can add further variable lag.
- To disable the relay connection, log into the relay browser interface and go to:
'MENU > server > network > relay server disable'.
- Most robot functions are available thru the relay server interface, except auto-navigation, which is currently limited to issuing navigation text commands only.
- For the relay server to function, the
useflash configuration setting on both server and robot should be set to
'false' (if not, it will be set automatically when the relay is activated).
- The relay setup works by having the robot initiate a socket connection to the server, instead of the other way around. For extra tight firewalls that block traffic both ways except for a few limited ports, a workaround is to change the default RTMP port on both the robot and the server (see port forwarding for info), to one of the limited ports available.