Remote Operation of a Portable Station - Part 1: Concept and Design

Concept

The challenge: Is it possible to put a portable station on a remote hilltop somewhere, and then operate it remotely? 

Something like this:



This would be pretty straightforward if the portable station had a physical internet connection available, with a fixed IP address. Then the diagram above would be all that is needed. But of course it doesn't, so that presents some challenges!

If the portable station has mobile internet available - a fairly safe assumption since it will probably be located on a hilltop - then we can use a mobile router or a hotspot to provide the internet connection.

Fortunately I was offered a 3G Router for this project. A 3G Router contains all the functionality of a standard router, including physical ethernet ports, as well as slot for a SIM card and an external 3G antenna. Of course, 4G would be preferable and 5G even more so due to its lower latency, but the 3G Router is what we had to hand. The same thing could be achieved using a 3G, 4G or 5G wifi hotspot using a mobile phone, assuming the portable rig supports wifi.

Intermediate Node

Connecting via a mobile data service presents a significant problem. Unlike a physical internet link, there is no facility for an inbound IP connection over a mobile service, so the remote operator is unable to initiate a connection to the portable station. Instead, one possible solution is to use a VPN connection to an intermediate fixed location: a sort of jump-station, if you like.



By introducing an intermediate node at a fixed location, we now have a known IP address that the portable station and the remote operator can both connect to. The fixed location will be my home LAN, connected via my home ISP.

A Raspberry Pi at the portable station provides the control function to the rig (as a server), and also provides one end of the VPN tunnel. Another Raspberry Pi at the fixed location is the other end of the VPN tunnel, and also has to connect the IP traffic from the remote operator to the VPN.

The remote operator runs the client software for the rig control function. 

Design

The software components are as shown below:





At the portable station, rig control is provided by wfview, running as a server on the Raspberry Pi. 

N.B. The current status of the project is that wfview does not provide a reliable link, because it is intolerant of delayed or out-of-sequence UDP packets. Although the remainder of the project is described using wfview, this may not be the ideal solution.

The connection to the rig is shown as USB because an ICOM IC-7300 is assumed which does not have wifi. If a different ICOM rig is used that does have wifi (e.g. IC-705) then this is preferable as it provides a higher-bandwidth connection. The 3G router that we are using (a Teltonika RUT500) can provide a wifi access point.

To provide the VPN, the Raspberry Pi at the portable station runs WireGuard as a client configuration. In fact WireGuard is a peer-to-peer VPN, but it makes more sense in this application to think of it as client-server.

The Raspberry Pi at the fixed location runs the server configuration of WireGuard, to provide the other end of the VPN tunnel. An additional function provided by iptables is needed to provide a connection between the remote operator and the VPN tunnel.

The remote operator runs their own copy of wfview, in client configuration. The software is available for  PC (Windows), Mac (MacOS) or Linux - including Raspberry Pi - so the remote operator can use their preferred platform. They will connect via their home internet service, and no additional software or routing configuration is needed.

To be continued...

Part 2 describes the configuration of the Fixed Location.

Comments

Popular posts from this blog

Building a basic codeplug for DMR (DMR Part 2)

Adding Brandmeister to the Hotspot (DMR Part 4)

D-STAR, Pi-Star and IC-705