Getting the Arduino to control iTunes on my Mac

Hi guys,

I need some help. I want my Arduino to control iTunes, like turn up the volume or skip to the next track. I'm also a bit stubborn, and I don't want to have extra software (some sort of serial port communicator, like ASProxy) running in order for this to work. So I have a few thing I might try:

  • IR communication (make the Arduino behave like an Apple Remote) -> does not work, signal is not strong enough, and reception sucks when I'm sitting in front of my iMac

  • USB HID communication: I recently found out about this, but it seems I need an extra USB connections, which seems silly, but I might try this

  • Bluetooth communication: this would probably be the best solution, but the XBee shield + bluetooth will cost me around €50, so I need to be sure that this will actually work

Does anyone have any tips or other ways I can try to achieve my goal?

  • Bluetooth communication: this would probably be the best solution

What software is going to be running on the Mac that forms the other end of the serial communications channel?

I don't want to have extra software (some sort of serial port communicator, like ASProxy) running in order for this to work.

Oh, I see.

so I need to be sure that this will actually work

Save your money, then.

Because iTunes does not have anything whatsoever to do with serial ports, you will need some program to act as an intermediary between your serial port and iTunes (really between your serial port and AppleScript, which is your entry point for controlling iTunes).

If you don't have any software on the computer listening for data from the Arduino, then there's no way you can control iTunes. Maybe you don't have to use an already existing piece of software like ASProxy, but you will need something.

I got it to work, with additional software (SerialPort X and an Applescript which is now running in the background). Activity monitor tells me it still uses 12% of my CPU, which is a lot for such a simple program, right? Anyway, I'm currently very proud of myself that I got this to work!

it still uses 12% of my CPU, which is a lot for such a simple program

Then increase the polling interval and it will use less.

hylkepylke:
with additional software (SerialPort X and an Applescript which is now running in the background)

Called it :stuck_out_tongue: