Check out ofxSerial (also requires https://github.com/bakercp/ofxIO).
Particularly check out the https://github.com/bakercp/ofxSerial/tree/master/example_packet_serial (uses COBS or SLIP encoding to make it easier to mark data packet boundaries) https://github.com/bakercp/ofxSerial/tree/master/example_echo (just shows how to write data and get it back) and https://github.com/bakercp/ofxSerial/tree/master/example_buffered_serial_device (shows how to do basic packet boundary marking using new lines) examples. Each has Arduino code that corresponds to it in the example folder. The source files / examples themselves should be pretty well documented.
If you have any questions or issues, you can leave them at the repo or I'm happy to help here.