6

Target of my bachelors thesis will be to connect optoserial devices via bluetooth adapter to an iPad. Currently I'm struggling with Apples restrictions. I read often in the web that I can use the supported profiles to connect to any devices that support at least on of those. But Apples technical FAQ points points out that "the External Accessory framework is designed to allow iOS applications to communicate only with hardware accessories that are developed under Apple's MFi licensee program". I dont think that those people writing here are just lying for fun.

Can anybody tell me out of experience if it works or not in conjunction, and thats the point, with non-MFi accessories?

ManuelSchneid3r
  • 15,850
  • 12
  • 65
  • 103

2 Answers2

12

The External Accessory framework is indeed for MFi only, but you have two options:

  1. Jailbreak (I can't give you any advice there).

  2. Use CoreBluetooth instead.

I've used CoreBluetooth in my own applications and it can get the job done, depending on how much data you're looking at transmitting. I don't know what an optoserial device is, how how much data you would need, but we're talking data transmission on the order of bytes efficiently. CoreBluetooth operates with Bluetooth 4.0 LE devices, right now that is any iOS device released after (and including) the iPhone 4S.

Dan F
  • 17,654
  • 5
  • 72
  • 110
  • But is Corebluetooth no for BLE only? – ManuelSchneid3r Feb 28 '13 at 22:05
  • CoreBluetooth is only for BLE devices and peripherals – Dan F Feb 28 '13 at 22:21
  • @ManuelSchneid3r - It is surprisingly easy to work with Bluetooth LE devices, both on the hardware and software sides. I've done serial-over-LE myself, and had it working with a 115k baud connection. Bluegiga has a dev board with an RS-232 port on it for this, as one example. – Brad Larson Feb 28 '13 at 22:49
  • That sounds all good but I am developing on an iPad2. Hence no BLE. But do I really *always* need an MFi device, or does the iPad recognize standard HID accessories? – ManuelSchneid3r Feb 28 '13 at 23:00
  • @ManuelSchneid3r - You can make a device act like a Bluetooth keyboard, but that's all it will do, provide text input. I know there were laser barcode scanners that did this, but the interaction with iOS was somewhat of a hack. I do know someone who took the MFi-approved RedPark serial cable and connected that into a ZigBee transmitter for communication with a robot. – Brad Larson Mar 01 '13 at 03:50
  • @BradLarson You mentioned you have done serial-over-LE in the past, could you explain what exactly went into that and any tutorials you could recommend for it? I made a chat room to discuss this instead of covering it in comments: http://chat.stackoverflow.com/rooms/25799/ble-chat – Dan F Mar 07 '13 at 20:03
5

Certain types of BT devices (ie. hands-free modules, BT headsets) of course don't need to be MFi.

Serial communication, on the other hand, is completely different story. BT accessory has to implement an identification process - usually by using identification chip.

Interesting thing is that SPP (Serial Port Profile) is not even listed under supported profiles.

But sill you can find some MFi GPS modules.

And this module is also interesting: OEM Bluetooth iPhone / iOS Accessory Module OBS414

You have to enter the MFi program before you can even get technical specifications though. Otherwise manufacturer would be breaching NDA.

There is one more workaround on how to communicate via BT: you can always implement hardware FSK (or similiar modem) on one side (audio BT link) and a software counterpart in the app.

Rok Jarc
  • 18,765
  • 9
  • 69
  • 124