use an ipod touch 'to control' the arduino

Hey guys,

I’m doing some research for a project i want to undertake. basically i need to make an ipod touch; with a custom app, control a bank of 6 relays.

All the research i’ve done on the arduino boards show the reverse (arduino controlling the ipod) . Has anyone had any luck with sending commands from an ipod to the arduino?

thanks in advance

I'm not too experienced with interfacing the arduino directly with an app on the iPod - but you may want to consider using the ethernet shield to set up a simple web based app that can be accessed from the iPod.

Unless of course you HAVE to have the standalone app. Then disregard this advice.

thanks for the suggestion but this project is going on a boat and i wont have web access.

could the arduino activate a relay based on an predetermined audio signal.. say a series of beeps at 19.5khz?

you don't need internet. All you need is a router to assign IPs to the Arduino and the Ipod Touch. Then you can transfer messages over the LAN

If you can have the arduino connected to a small computer, you can use a local wifi network, use something like touchOSC to communicate between the ipod and computer, have a processing sketch that translates these messages and sends commands via the serial port to the arduino.

i want this as stream lined as possible. i don’t need it to be wifi because i’m going to use the doc connector for power and audio out to the amps

i plan on using this as my ipod touch interface:
http://www.commandfusion.com/products/view/guidesigner

and so far the only solution i’ve come up with is decoding an audio signal to switch relays. this would work i just am not sure how to do it or if it’s the best way… or at least easiest.

this will be my first venture into coding so it needs to be simple :frowning:

Well, I don’t think that you’re taking the best route…

GUIDesigner is (if I understood well) used to create GUIs (graphical user interface) for one particular IPhone / IPod app that is iViewer. From the site :

iViewer is an application for iPhone and iPod Touch that allows you to control any hardware or software capable of TCP/IP Socket communication.

So, if you want to use iViewer, you’ll have to get an ethernet shield and a router, as darudude said.
I don’t think it will be as simple as you’d like :slight_smile:

Using the solution I gave you, you have very few (and simple) coding to do. TouchOSC can be downloaded from the AppStore and there are tutorials on their site about interfacing it with Processing. From there, it’s just a simple matter of serial communication.
http://www.thebox.myzen.co.uk/Mac_Apps/Processing.html
http://www.arduino.cc/playground/Interfacing/Processing

thanks for your reply. i'm going to have to reread everything tonight. I think i'll have help with the ipod app (if that software i linked too doesn't work for this project) since one of my buddies has written one or two. I'll look into your suggestion again. thanks for pointing that out

do you think a dtmf decoder and relay board via arduino would be an easier solution?

I just remembered the Fonera! I think that would be a great solution for this project. I don't even think you'll need the Arduino. Google Arduino + Fonera and there are some interesting concepts

Basicly, the Fonera is a Wifi router with Linux as its backend. Due to its cheap price, it has become a favorite among router hackers.

You can basicly use the fonera to serve as a wifi router and connect to it with the iPod Touch. Then you should be able to send it simple command line commands to access its 5V GPIO lines. You have 4 lines you can access + a serial port. If the 4 Lines arent enough, you can add an Arduino (or a multiplexer) and add more I/O ports

EDIT: I google for Fonera + Ipod and I got this link, which seems pretty much like what you are trying to do: http://blog.fonosfera.org/la-fonera-20-a-home-automation-device/

nice find, darudude, now I have to buy a fonera... ^^

I'm not sure what your time table is for your project, but I'm currently working on a WiFi shield for the Arduino. You'll be able to control your Arduino with an iPod Touch in adhoc mode, meaning your Arduino will create a network, and your iPod can join that network (this requires no other access point or intermediate device).

I'm expecting to have it out by the end of April/early May. Here is my original thread I created on it. I just put videos up on YouTube, so you can see it in action.

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1235716581

iPhone and iPod touch have serial ports, don't they?

This is where Rx/Tx are on the connector: http://pinouts.ru/Devices/ipod_pinout.shtml

asynclabs: I'm very interested in your project. i"ll have to read up on it more tonight but it could be a nice solution for my project.

florinc : yes, there is a serial port, but the official SDK won't let you access it, so you'll have to use a jailbroken iPhone / iPod to use it.

florinc : yes, there is a serial port, but the official SDK won’t let you access it, so you’ll have to use a jailbroken iPhone / iPod to use it.

With the latest 3.0 SDK, there’s at least a better chance that we can use the dock connector:

Using the new External Accessory framework, your application can now communicate with “Made for iPod” hardware accessories attached to iPhone or iPod touch through either the 30-pin dock connector or wirelessly using Bluetooth.

Not sure exactly what the whole “Made for iPod” part is about, you might have to get one of Apple’s special chips or something…

http://developer.apple.com/ipod/accessories.html

I thought everybody around here has jailbroken their iphones by now…

estranged : saw this on hackaday, but I'm pretty sure you'll have to go through another "developer program", for $$ and stuff, to get access to the dock connector.

florinc : I do, but I'm not good at objective-C ^^

For the record, here is a tutorial on using the serial port of iPhone:
http://devdot.wikispaces.com/Iphone+Serial+Port+Tutorial

This topic (iPhone + serial) is also on my TODO list, I don’t know when I will have time to do it though.