There are a few options for "remote" IP control of the cameras using either PTZOptics VISCA over IP or HTTP-CGI commands.
I'll do my best to provide some insight on easy ways to test / implement control using these options.
PTZOptics HTTP-CGI Commands - Reference Document: https://ptzoptics.com/wp-content/uploads/2020/07/PTZOptics-HTTP-CGI-Commands-rev-1.5-6-20.pdf
The HTTP-CGI Commands are likely the simplest form of control using simple POST & GET Commands.
In the beginning you can issue these commands by simply entering the strings into the URL bar on any modern web browser for execution.
Please note that each of the commands features variables such as IP Address, Mode, Values, etc... that must be entered for proper execution of the command
Example for "Preset Recall"
Here is the provided, with variables, preset recall command... http://[camera ip]/cgi-bin/ptzctrl.cgi?ptzcmd&[action]&[position number]
So in this example we will use a camera with the IP address of 192.168.100.88 and we will recall preset 3
The final command would look as follows... http://192.168.100.88/cgi-bin/ptzctrl.cgi?ptzcmd&poscall&3
If executed in a web browser it would tell our camera at 192.168.100.88 to move to Preset 3
Once you get more advanced these commands can easily be built into a customized web interface for operation.
Note: The HTTP-CGI Command set is limited in comparison to the capabilities offered by PTZOptics VISCA / VISCA over IP
PTZOptics VISCA over IP - Reference Document: https://ptzoptics.com/wp-content/uploads/2019/10/PTZOptics-VISCA-over-IP-Commands-Rev1_1.1-10-19.pdf
The PTZOptics VISCA over IP Commands offer substantially more capabilities than the more limited HTTP-CGI commands.
The PTZOptics VISCA over IP Commands can be implemented into most modern coding from C, C#, C++, Python and more depending on the goal of your project.
Note: The PTZOptics VISCA over IP commands can be issued as TCP (Port 5678) or UDP (Port 1259) to the camera and are always issued as HEX.
Please be aware of potential DEC to HEX and HEX to DEC translations that need to be made when building your commands
For the purposes of this introduction I will focus on using Packet Sender and simple Python Scripts for getting started playing with these PTZOptics VISCA over IP commands.
Packet Sender & PTZOptics VISCA over IP
Packet Sender is a free application that you can utilize to execute HEX commands via TCP or UDP to the cameras.
Packet Sender Download: https://packetsender.com/download#show (Note: Donations are optional)
Once installed you can connect PacketSender to the cloud to easily import our current PTZOptics VISCA over IP Command Library
URL to use for importing: https://cloud.packetsender.com/ptzoptics/2019-03-28_PTZOptics
Once imported you can easily search the list of commands using the command titles as referenced in the PTZOptics VISCA over IP Commands document.
Note: The command library comes using the default camera IP of 192.168.100.88 for your purposes you may need to adjust this if your camera is at a different IP
At this point you should be able to send commands and inquiries to the camera using Packet Sender for testing of commands and simple operation.
Python Scripts & PTZOptics VISCA over IP
Once you've become somewhat familiar with working on the PTZOptics VISCA over IP commands using Packet Sender you could begin exploring simple Python Scripts that can execute these same HEX commands.
In one of the the attached Python Scripts as an example I will showcase how to send a STANDBY command to a camera at 192.168.100.88, via UDP, then wait five (5) minutes and finally issue a WAKEUP command.
One of the nice things about the Python Scripts, and depending on your end goal, these can be scheduled to be executed using Task Scheduler, in Windows, or Automater, for Mac OS.