06
08/10
06:35
LEGO NXT and iPhone
The iPhone is an island. A commercial, maximum security prison island with each and every data entry and exit very tightly controlled and tolled.
Apps can only be installed from Apple’s official app store after Apple has reviewed the app. One of the many things Apple checks when it reviews an app is to ensure the app does not leak data in a way that Apple or AT&T can’t profit from (Apple approves, pulls flashlight app).
Apple takes a cut from your app purchase. Free apps typically come loaded with ads which are served by Apple so it can take a cut there as well. The iPhone’s connector is a patented Apple design that can only be bought from Apple at a hefty price. iPhone accessories that communicate with the iPhone, speaker systems for instance, need to have an expensive Apple supplied authentication chip so the iPhone will agree to communicate with them. The iPhone’s Bluetooth capabilities are gimped to ensure no untolled data sneaks in or out of the iPhone. As a result, the iPhone works with Bluetooth headsets and can communicate with other iPhones over Bluetooth and little else.
In some sense, the iPhone is an irony. It’s the first true general purpose palmtop computer and universal communications device which can’t be used for very much computing or communication outside of Apple’s kid size prison cell.
So what does this have to do with LEGO NXT?
Well, I found a tiny little crack in the data prison that doesn’t require jailbreaking the iPhone (or iPod). It still requires the use of undocumented APIs but I find that more convenient than jailbreaking, as easy as jailbreaking has been recently. I managed to coax the undocumented Bluetooth facilities in the iPhone to let it communicate with a LEGO NXT brick.
Here’s a short unexciting video showing the two in action.
