Real time monitoring on iOS device

This isn’t particularly imp related, but I thought I’d put it to the forum to see if any resident iOS experts might be able to point me in the right direction on a new project I’m looking into.

Had a friend ask if there was some way I could set things up so he could use his iPad to (wirelessly, and locally) monitor real time data from a sensor he uses. (This device outputs a very small RS-485 data packet, about a dozen bytes, every 2 sec. I’d build the interface gizmo to make it wireless, perhaps using the imp, then figure out how to receive/display the data).

I’m looking into making some sort of simple iOS app, (though it could maybe even be something browser-based), to present the data as the user has expressed a preference to use the iPad for display. Problem is I’m a little (ok, maybe more than a little) rusty on my iOS programming. I’ve done a few simple apps a while back, but nothing that involved any networking. Am currently coming back up to speed, including now using some networking for app --> device control … but I’ve not yet quite got my head around exactly what’s involved in receiving real time data within an app. So, this is where some direction would really be helpful.

I’m not looking for a lot of detail, but would appreciate any general guidance on what I would need to do to get from here to there … what I should read up on, any similar projects/code examples that I might look into, etc.

Also, I realize that an imp-based approach might not be the best strategy given that the data is pretty much needed only over a local network, so any thoughts on alternatives I might consider would also be appreciated. (I’m discounting BLE due to range considerations, so have been considering WiFi or other RF link possibilities).


One of the easiest ways is to send the data to Xively and then use their iOS library to make an app. Pitchfork uses that library and it works really well. The app will update whenever there is new information on your Xively feed. Pitchfork will do two channels if you want to test it.

Thanks Joel. Have used Xively a bit to log data, but wasn’t aware of the libraries you mention to perhaps ease the iOS/app development as well as manage data updates.

What sort of overall latency (or dropped/missed date) have you experienced … i.e. from when you send to Xively 'til you note an app update? As my data updates are at nominal 2 sec intervals, I’m thinking the max end-to-end latency that I could tolerate probably shouldn’t exceed 1-2 secs.

Thanks again.

It’s pretty much instantaneous. I believe a socketed connection is created for the datastream. There is no delay that I can see. I’ve never noticed dropped data.

Instantaneous is always good :slight_smile: … I’ll definitely check it out.

I wrote my own iPod app using DragonFireSDK. I use the app and the agent to exchange and display data between Imp and App. You write code in Windows C++, has internet and network applications, is easy to learn and uses familiar coding. Cost about $150 for all features including iPad. DragonFireSDK

Will have to check it out @ljbeng … thanks.