There is a huge long thread about using Octoprint that aoyu should read. It is probably the easiest solution if it does what you need.

Inside your printer there are two Atmega processors, one for the printer functions and one small one (8U2 or 16U2) that only handles USB <> RS232. It is possible to pick up the TX and RX lines off the motherboard and use a serial port to talk to the printer if you wanted to, people do this when the Atmega for serial control goes knackered (as mine has).