This is a system I’ve been thinking about implementing for a while now. It hasn’t yet bubbled up to the top of my project queue, but I thought I would outline the project for my future benefit and and posting it here in case it may be of interest to others.
In essence, this is a two-station, two-way, stand-alone (no PC needed) control and telemetry system, using the public internet to provide a communications path between the two stations. I’ve shown a pictorial of a simple demo system in Figure 1 below.
As shown in the pictorial, the project proposes to use some variant of the ESP-32 at each end, since they are common, inexpensive, and their availability (so far) doesn’t seem to be adversely affected by the world-wide semiconductor shortage. It also assumes a WiFi cable modem is available at each station to allow the ESP-32 devices to have access to the internet via WiFi. I’ve also assumed the use of the MQTT protocol with a server in the cloud, but perhaps there’s a better alternative to MQTT for this application.
I’m interested in having this functionality because I’d like to use something like this to remotely monitor and control our ham radio club’s VHF radio repeater system (temperature, humidity, battery voltage, battery charging current, battery operating current, battery cut-out, etc).
As shown in the pictorial, the project proposes control and telemetry paths in both directions. The control functions and telemetry reporting shown in the pictorial are intended to be representative of what could be done, and not the whole list of possibilities. The specifics of functions shown in the pictorial are as follows: a potentiometer at the West station would control the position of a servo at the East station. It also shows that the environmental data collected by a BME280 module at the East station would be displayed on an LCD display (or OLED display) at the West station. It also shows a simple on-off control mechanism with remote assurance monitoring via push buttons and LEDs. The specifics of that are that activating the push button at the West station would cause the LED at the East station to illuminate and the fact that the voltage driver for the East LED went high would cause a signal to go back to the West station and cause the West LED to also illuminate (confirmation that the command to supply voltage to the East LED was actually accomplished). The same mechanism would be included for the East push button controlling the West LED and the East LED illuminating when voltage was actually applied to the West LED.
There are other embellishments that could be added, but I think that a demo project with the functionality outlined above would demonstrate how to add additional features that may be wanted.
As to the cloud server that would handle the message exchange between the West and East stations, I don’t have a good handle on that. I’d be curious to know what free-service options might be available. For example, if there was only a small amount of data to be passed between the two stations, would there be any free public cloud-based server options? Would it be possible for the “server” to consist of a Raspberry Pi physically located in a residence, if port forwarding was used in the router of that residence and the system administrator of the East and West stations was willing to manually update the IP address of the server when it changed?
At be grateful for any comments regarding this system that readers might care to share.