iPhone app for Cycle Analyst

Would you like an iPhone app for Cycle Analyst

  • Yes - And I have an iPhone

    Votes: 47 43.5%
  • Yes - But I don't have an iPhone

    Votes: 27 25.0%
  • Yes - And I'd pay for it

    Votes: 24 22.2%
  • No - Waste of time

    Votes: 10 9.3%

  • Total voters
    108
I'm going to try to do this via WiFi, with a webservice that outputs XML, which I can write an iPhone app that reads the XML and displays and records the data.
 
wildnrg said:
Apple are being dickheads. After providing info to apple and waiting around for a month, I email them to find out what's happening, they now tell me they need my lawyer's details. WTF? To get access to the bluetooth serial port API.


LOL!

Your pain with Apple is not solitary nor uncommon, I truly feel for you!

Welcome to the wonderful world that is; being (and staying) an "Authorized iPhone Application Developer" (I have been writing code for these since they came out, actually had to learn objC for this)!

They want your lawyers info because they are interested in this idea and perhaps see the potential but they are vetting your seriousness and will, without doubt require a limited release NDA with them for you to obtain the interface... if they are even willing to give it to a small independent (may be why they want to speak with your attorneys).

I went down this path with Apple months and months ago over 3 apps I had proposed (one was for network security monitoring of Wifi and required more NDA than I care to admit - needless to say I dropped the idea of a blessed wifi network monitor on the 3G/S.) - since the maker of the CA will likely bless the app (you will need to provide proof and engineering data to Apple, this is where I faltered... they would not sign NDA/NCA on our engineering data which is why we dropped the idea) and development - you may indeed be able to get the API you need.

Im fairly sure that Nike has an interface to the iPhone that is Bluetooth and serial in nature - http://store.apple.com/us/product/MA365/Nike-iPod-Sport-Kit?mco=Nzc1MjM5OQ#overview - I haven't looked into it more than 2 minutes but it seems... you might be able to repurpose (think Radio Shack QueCat barcode scanners - free barcode scanners!) these @ 29.00 I will be ordering one to discect as the API is likely already in the devkit docs (I have to look) if not... the device may become available on a jailbroken phone thru /dev enumeration and thus documentable and useable (though not blessed)... Advantage of this would be it adapts to iPod or iPhone and requires no WIFI (but then you either need to HW interface to this module or rig up bluetooth, likely easier to HW interface to these 29.00 modules)...

Trust me on this... your in for a long, complicated drawn out process (And the funny part is I'm not talking about the development process!!! My god, Apple never learns) either way.

Justin - I don't mean to be rude but I doubt your (well intentioned and very cool) monetary incentive will bring the app about. Sadly Apple makes everything so overly complicated when you want to use an existing hardware feature of the iPhone which they want to guard (for reasons unknown - it's not like serial IO is going to spread a virus onto the platform and it's not like the things aren't only out of the sandbox "jailbroken" but they are even "unlocked" and working with other companies SIMS - {This is actually legal in the US, the law says you can take any means/measures needed to your cellphone so that you may use with any carrier you choose or internationally} - it's like the town hoe saying no.).

That said, I don't think we are staring into the impossible (were not, I've already acheived a working backend for this which will maintain compliance with Apple blessing, just not using extended APIs - path of least resistance right?)...

A hybrid approach (it's what I'm entertaining now) of using serial to UDP/TCP (my current test is using a linksys travel router PCB loaded with a modified dd-wrt distribution and running a hodge podge of cgi scripts so a client can access data received via serial port (bit banging for now, no internal port on this model) from EagleTree eLogger v3 via atmega48 using i2c? make sense, a screen scraper in the atmega which is then sent to the router and made available to a polling iPhone or other client in real time over wifi link).

There are much better methods to do this than my chosen bits of hardware but I am familiar with the platform of the linksys routers, the travel router is tiny and well.. I had all this laying around to startup the project with.

Remember the iPhone can't act as WAP (well not officially.. it can, long story and not blessed) but it can associate a known AdHoc and that + normal TCP/UDP API (http or lower depending on your needs and skills level) and you have the backend hardware interface for your iPhone app for the CA (or any other serial source - the CA won't even need the atmega to read it like my eagle tree does and yea I know I could engage and monitor USB live mode... that's next on the list - learn how to implement a USB host )

One other thing of note - many GPS can now be used externally: http://www.youtube.com/watch?v=-6bC1MIhn44 so although I am not current on iPhone SDK reading (months) it seems the API now supports NMEA data input via what must be serial connection via charge port.

I know we want a blessed application but: http://devdot.wikispaces.com/Iphone+Serial+Port+Tutorial that will get us working logging data on a jailbroken phone so you can abstract the serial interface and start on the actual UI of the app - while working out a better "blessable" option... (my application needs to be wireless and I also don't want to "require" connection to cable for function properly - hence the TCP interface but I suppose serial should be possible... hell man, make an adapter (max232?) feed the data into the right lines on the charge port and read it with the NMEA/GPS API).

Ive looked into the MiniJack method and though it would work it would interefere with audio jack (which I use while biking) and I don't think you can charge through it... if I have to connect a plug, I would prefer the Dock connector so I could charge the iPhone from a switching 5v supply off the mains pack - no more worry about power/battery life in monitor mode... now if only apple would release a better power management system for the iphone - somthing simple as the old windows mobile platform - so the screen only timeout locked when on battery power alone?

If I can lend a hand in the coding or just my experiences with Apple on the legal bits, let me know... happy to help!

-Mike
 
How hard is it to set the Atmel chip up as a router itself, throw a wifi chip on it and have it act as a router? I have experience with all three of these things but I am not sure right off the top of my head, how I would go about it. That would be so nice though. Similar to what the new Mavizen http://www.mixx.com/stories/9060082/mavizen_s_electric_bike_hits_130_mph_ships_with_linux_and_wifi.

It actually wouldn't be too hard to do with an some kind of embedded linux implementation...
 
Grindz,

The problem is you add 10 levels of development complexity (electronic and coding)...
Implementing a WAP which exposes AdHoc and handles various things like... encryptions and such... why re-invent the wheel, there are boards out there which are fully dedicated for this purpose (IE: Arm processor, 16MB Ram, Flash or SDRam, Built on Serial IO (UART is onboard processors in these).

I will look around at the status of the "mini" router development boards.... they will likely be the lowest cost option for getting the serial data into a platform which already has the built in webserver ability and the chance to add things like scaled down httpd (Apache), etc. The idea is just to repurpose the smallest, standalone which can be modified.

I'm not against the designing of a full wifi implementation in an interface (I think they have these but > 200.00 ea - serial to wifi) but... it would add considerable development time to the matter.

-Mike
 
If you need code to start a router implementation with, you could look at things like Tomato, which is an open-source replacement for several Linksys WiFi routers.
 
MWKeefer,

I hear you there. I was looking for a linux distro that is somewhat turnkey for a micro, but there is very little and your right, I think it would end up rewriting everything in script and drivers instead of C. It would be incredibly powerful to have a small linux-based computer on the electric bike though..

Would I would like to do is build something like this: http://www.gumstix.com/

These gumstix could pretty much do all of this but its probably more hp than we would need. But the implementation wouldn't be as daunting.
 
Have a look at dd-wrt (www.dd-wrt.com) and openWRT (http://openwrt.org/) which is the basis (at one time) for the dd-wrt firmware.

OpenWRT is a modular linux distro for many router hardware bases (x86, arm, etc) and can be built up into a distro containing the bare minimum then ... expanded with pkgs (ipk) to equip with basics (httpd, etc)...

From there its a simple matter of either writing to memory card or internal buffer (serial input data) and then writing some simple CGI scripts (for the router httpd) to return proper formatted data to iPhone.

Really the implementation platform won't / doesn't matter if we build around off the shelf gpl open source.

-Mike
 
I run the dd-wrt firmware at home and it's definitely awesome, but how difficult is it to create the hardware from the ground up? The nice thing about the wrt-54Gs is that they're all the same. I imagine it becomes far less than a simple hack in this case. I've never really developed for an ARM either... Ill start looking into it.

Even as a hack to a router I would love to see it :twisted:
 
grindz145 said:
I run the dd-wrt firmware at home and it's definitely awesome, but how difficult is it to create the hardware from the ground up? The nice thing about the wrt-54Gs is that they're all the same. I imagine it becomes far less than a simple hack in this case. I've never really developed for an ARM either... Ill start looking into it.

Even as a hack to a router I would love to see it :twisted:


There are alot of hardware platforms available off the shelf which can run dd-wrt or it's kin, all we need is the ARM processor - we can add a Max232 or just bitbang and level convert. The rest though, to do WIFI link as I have you will need a wireless hardware platform somthing like this:

WRT54GS - commonly available from dozens of retail outlets, online vendors and wholesalers... retail is about 80 USD but for that you get a compact wifi interface with an ARM processor a single ethernet port (important for debugging, trust me) and there are much better options available to us:

Check this page:
http://store.wiligear.com/c-1-cpu-boards.aspx?

Specifically check out the 79.00 WBD-111 - dd-wrt compatible, ttl level serial and daughter card possible... what more do you need?

I've looked for wifi development boards with embedded CPU and they are out there but in the 250-500.00 range for stuff this small.. so I got a travel router but for product I'd use the WBD-111.

-Mike
 
wow, that is awesome. I might have to pick one of those up to set something up like this. This board itself could do a bunch of logging.

I also found this: http://www.gridconnect.com/wifly.html

Which isn't as fully featured, but is a turn-key solution which could allow for more focus on the ipod back end while still getting over the proprietary hardware hurdle.

I do like the Webserver interface though...

cheers on the wiligear board though, very nice.
 
I checked that wifi dev board out... one issue for use with iPhone.. doesn't seem to support adhoc (not indicated, should be) and certainly can't be an AP mode device without serious HW mods.

I'd rather use the AP breakout board for development of mobile interface, besides those wifii boards are 53grams.

Good find though if you just want to link a serial device into existig "Infrastructure" mode AP network.

-Mike
 
And they have pretty much all but crippled these phones - unless jailbroken. It's sad, there are many various techniques / methods we could use to implement - but even though we own the device we can't pwn it, PLEASE!

If jailbreaking were akin to service theft, sure... I could understand then but since even unlocking doesn't "steal service" from AT&T or apple, well you know it's all been posted up before.

I have done some beginning work on the Serial code for reading various output data (pulling data from a celllog8 at the TTL level serial) and have sketched up a GUI for a dash display for CA - the code will be implemented in the router firmware and will be available in a public repository (so users can just telnet or ssh into device and use ipkg to install the proper Serial2i proxy).

Really I should open a thread to request UI suggestions but I actually have a fair idea how this should be displayed optimally on the iphone... when I have finished the rough out, I will open a thread with the intended GUI and let people comment / feedback on it.

-Mike
 
Quick status update:

Ive sourced a new CA for testing and development in the meantime several members were kind enough to provide me with sample data logged via Hyperterminal so I have the data format / protocol down.

This is looking easier than I had anticipated and I expect a first alpha version (for jailbroken phones) within a week or so... any testers? If you know what your doing, have some basic electronic skills and have a jailbroken iphone - drop me a PM and I'll include you in the Alpha tests.

-Mike
 
Any news. How is the testing going?

Also came across an official iPhone app in developement for bike computer with wireless data logging, that you guys might find interesting.
http://modmyi.com/forums/iphone-new...rs-realtime-cycling-computer-iphone-ipod.html
http://en.pedalbrain.com/how''

Looks slick if nothing else.
what-iphones.png


Adrian
 
check this out, it's called xdisplay.http://www.xenopi.com/?page_id=229 Depending on how large the wifi hardware is I will probably be going with this on my spare ipod touch. which is great because I wanted to also be able to get calls on my iphone while in transit, I know I know, dangerous and irresponsible.

xdisplaybanner.jpg
 
But would it also work on iPod touch? Because I think I will be hard wireing it to the bike, running it off of the seperate battery that powers my lights and audio. I have to get my bike running by may for a race coming up, so I'm still keeping my options open.
 
Absolutely. First revision is Wifi, the second revision is being decided, but will likely be hardwired.
 
It appears there are more than one iPhone apps in development for use with the CA...

The wifi method is the one I have been working on personally, simply because by using the http backbone and HTTP_USERAGENT server variable on the HTTPD side... I can make the same code work in various ways, present a finished HTML page, a page optimized for tiny smart phone display or for iPhone, etc.

There are some excellent apps now (Dynolicous, GPSX) for the iPhone which have features I am trying to figure out for incorporation into a CA app... Im stuck a bit on a nice mount combined with a hardened case for weather resistance. The problem is the case/mount must transmit force directly to the phone for the accellerometer's inside to correctly interpret force and direction and calculate HP and Torque information (which would be nice to save along with the CA/eTree data).

Over the next 3-6 months these apps will begin to hit the public... glad I am not the only one doing this too!

-Mike
 
I would like an app that integrates with my cycle analyst and google maps. I found this range estimator
http://maps.forum.nu/gm_driving_radius.html#
If the app could give an accurate estimate of range left and show you where you might get to, it could be very useful.

( I just reposted this here, just hope anyone considering making an app could incorporate it, I have no idea how to make an app but hope some creative input might help :) )

Android user
 
Back
Top