(I wrote a LONG reply to this and then it got unceremonially killed because it contained a URL. Great.
Long story short:
- Use a FDTI RS232 to USB cable
- Run a RS232 to TCP/IP bridge server on your computer (see the examples directory of the pyserial Python library.)
- Write a data processing/gathering program that talks to the TCP/IP bridge instead of speaking RS232 directly.
This has a lot of advantage:
- much more code available that does TCP/IP
- you can run the bridge on your desktop but access the data over your network on your laptop etc
- the bridge software takes care of buffering and makes sure that no characters get dropped (the FIFOs in UARTs are extremely shallow and even a fast PC will sometimes drop characters for now good reason.)