I'm looking to make a wireless device which can send and receive data from a computer (Mac).
It seems simple enough, but early experiments are proving painful. Getting a reliable Bluetooth connection using the HC-05 bluetooth module is difficult. Also reading and writing data to the Arduino via the same port on the computer end is also proving to be tricky.
I'm essentially looking to make a very rudimentary Occulus Rift style headset, but without any visual elements. So the data will be quite small, simply commands to vibrate motors and turn LEDs on and off, but based on angle and position of the head. So the data from the Arduino to the computer will need to be a constant stream to allow for good feedback.
I'm just looking for some general advice from anyone more knowledgable on these matters than I am. Is Bluetooth the right direction? Is the HC-05 any good? Do I need two separate serial ports to send and receive data? Anything right now will be useful.
It's not that difficult to send & receive data using HC-05. I would suggest you to download Bluetooth App named BlueTerm from google play store and test your module with mobile first, instead of computer.
Bluetooth is difficult to control with computer as you have to pair and forget again & again.
Moreover, use Software Serial for HC-05 module, there's no need to use separate ports for RX & TX.
Is Bluetooth the right direction? Is the HC-05 any good? Do I need two separate serial ports to send and receive data?
Bluetooth should be just fine and, on the understanding that you just want to send plain vanilla serial data, HC-05 is fine. It is compatible with MacOS and any terminal programme for same should suffice. You indeed may need to use separate COM ports and there has been discussion of this on this forum. Even PCs occasionally need this. I understand it is down to how the Bluetooth is configured in the PC.
You might find the following background notes useful.