This was my Senior design project in ECE at Carnegie Mellon, and uses 96 MEMS microphones to create images and videos from sound. The project was mainly just a platform to mess around with beamforming and general phased array and signal processing math.
The network driver code - takes the raw input from the array and converts it to ASCII hex for the Java to read. Also has a "Log" version just for logging data to a file instead of streaming into a fifo.
You will also have to increase the default MTU (maximum transmission unit), which is 1500 or something by default. Meaning packets have to be less than 1500 bytes or they'll be dropped by the network driver or something. The array sends 2400 byte packets, so you have to increase this, I went up to 4000.
Processing sketch to do real-time imaging. Requires the network driver to be running at the time as well to work, OR, a logfile to be piped into the FIFO.
You'll first have to make a fifo using mkfifo (I called mine /home/john/pipe, it's hadcoded near the end of the file).
If you just run a file cat Logfile.log > /home/john/pipe while this is running this should work