You can use a raspbettyPI and GPSD Install the OS on the raspberry, give it a fixed IP for the onboard
network card ( outside of the routers DHCP range) Install GPSD on the raspberry, connect your raspberry to the wifirouter with a RJ45 cabele.
Plug the USB gps to the raspberry.
With GPS connected to the PI and the PI connected with a RJ45 cabel to the wifirouter, the PI will feed gps position througt GPSD to the wifi
network. On your wifi clients runing opencpn, under connections, set up an network connection using GPSD and fill inn the IP adress of the PI. You can now connect as many wifi devises as tou want this way.