I think serial would be easier to set up: just load the appropriate device tree overlay to enable one of the serial ports of the beaglebone(e.g.: UART4 gives you RX on P9_11 and TX on P9_13) and you are ready to communicate back and forth asynchronously.
If you were to implement an I2C communication, you would have to make one device the master, the other the slave, assign an address to the slave and then have the master initiate each transmission. However, you may get higher throughput with the I2C, so I would only go I2C if you need to transmit lots of data.
jeppius capacitive examples but they are specifically tailored to those ic's.
In your case, you would have to implement the communication protocol on the two devices, so it would be entirely up to you, you can make it as complex as you want and need.