@woodsby, both @strangely and I are connecting to Serial port devices over TCP using WizNet 110SR devices (and the IPSerial Plugin on code.mios.com).
These avoid the need for a PC in the middle of the equation.
If you need to have a PC, you end up running something like [tt]ser2net[/tt], [tt]serproxy[/tt] (the real one) or one of the many other IP <-> Serial port software converters. You’ll see a sample list at:
http://www.arduino.cc/playground/Interfacing/SerialNet
but there are a lot of others, depending upon your Platform.
In turn, each of these software solutions typically has a config file that specifies the IP-Port to use, along with the Serial/COM port Baud rate, Parity, Stop bits and so-on)
All Vera ends up going is “connecting” to a designated IP/Port combo and sending/receiving the Serial data across it.
Some other background that might help, if you happen to be poking around in this area.
Vera used to use the “real” [tt]serproxy[/tt] script, in the early days of Luup, but it was really buggy with small byte-count transmissions. They’ve since replaced the “innards” of this program with [tt]ser2net[/tt] but have kept the naming for the “wrapper” program, and it’s config files, that Vera uses to launch [tt]ser2net[/tt] (one ser2net process per each local/USB serial port)
Vera’s serproxy runs through the local USB ports, compares them against a known-list of USB-Serial provider/product codes (incl those in [tt]serproxy.ports[/tt]), and then attempts to lookup various Baud/Parity/Stop bit data from Vera (using a URL) before moving on to launch the [tt]ser2net[/tt] command with the right data.
So whilst the serproxy wrapper is locking ser2net to the local machine’s USB ports, you can deploy a version of it (or any other IP-Serial port software) to a remote machine… but you have to configure the Port/Baud/Parity etc.
Once that’s in place, you only have to be able to tell Vera that there’s a Serial Port running on a Remote IP Address, and it’ll take care of the rest of the connectivity (which is what IPSerial Plugin does, since there’s no way to manually register this stuff otherwise)