Serial or HID (usb) Communication in iOS (iPhone/iPad)

Usman Awan picture Usman Awan · Jan 22, 2014 · Viewed 24.9k times · Source

I want to get data from glucose meter devices by connecting into iPhone or iPad devices. I have different vendors glucose meters some uses simple HID interface for communicate and other uses serial communication.

These are the two possible ways of communication:

  • USB to 30-Pin connector.
  • 3.5 jack to 30-Pin Connector.

USB or 3.5 jack will be connected to glucose meter and 30 pin connector will be attached with iDevice.

After having hours of research I did not find much help on internet for iOS specific.

I do find ORSSerialPort but I think it is for OS X apps only.

There is RedPark serial Cable but that is for RS232 to 30-Pin communication and secondly that can be only used in internal projects. I want to sell my application on Apple Store.

Someone also was discussing about using IOKit framework. We can communicate with iDevie but that is private framework.

Someone help me with this issue or let me know if that is even possible in iOS application.

Do Apple have any consideration on this type of working?

Answer

Prince Agrawal picture Prince Agrawal · Jan 22, 2014

An iOS device can talk to external devices by following means of communications only:

  1. Wifi
  2. Bluetooth
  3. GPRS &
  4. GSM
  5. USB (Don't exactly know what it is called)

There is no possible way to have RS232 serial port communication with iOS device.

Now What are the options left then?

  1. Get a communication convertor in between your external device & iOS device. It can be

    • Serial to ethernet adapter
    • serial to USB adapter etc.
  2. Embedd a wifi/bluetooth module in the external device (If it is being manufactured by you/your firm)

  3. Have something with USB cable & mfi .(Never worked on this, but have seen stuff working with this). By something I meant, register your external device under MFI license & implement USB between devices (Again lack of clarity about USB stuff). Menwhile, I would appreciate edits on my answer by people who might improve it with USB stuff.

Update:

I visited the site of your vendor "glooko". I could not find any clue about them having any libraries for developers. So according to my opinion, they have kept their library private. They don't want you to develop apps based on their communication protocol. If you still need to develop apps for them, contact them here & let them know about your zeal.. M sure they will give you their private code. Anyhow, you don't need to register for any MFI or anything now. What you need is just the code they are using for communication & about that, nobody other than them can help you. So, all the best .. :)

Update 2:

What I understood from your updated question is, you want to create an iOS application that works with various Glucose meters, from different vendors. In a way you can call it as "universal Glucose meter app"

The short and straight answer for this is .."You Can't" . But wait, apple is not responsible for this. Neither it is impossible.

Let me tell you why. When you want your application to talk with a hardware device, there must be a communication channel between you too. You are well aware of those two options available. now, if your app must run on iDevices, the communication channel cables must be registered for mfi. Here that is also not the issue.

What is the issue then? Different vendons don't generally follow the same communication protocols between their hardware & softwares. What happens if a german commander commands to indian soldier. Obviously, nobody will understand.

So, to achieve your objective, the only way is, you have to include SDK provided by each supported vendors in your app. Let me know if you are not yet clear..:)