Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 211
Usman Awan Avatar asked Jan 22 '14 14:01

Usman Awan


3 Answers

There is a device called Lightning Serial Cable, the link is following.Take a look at their SDK.

http://redpark.com/lightning-serial-cable-l2-db9v/

It seems work with your application. I'm also looking for the solution that iOS device can talk to another device via serial port. In PC world, all PC has USB ports, so there is large amount of USB to serial port devices and vendors, such as FTDI and Prolific. I don't know if similar situation happens in iOS world.

like image 169
apolloneo Avatar answered Nov 17 '22 19:11

apolloneo


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..:)

like image 40
Prince Agrawal Avatar answered Nov 17 '22 20:11

Prince Agrawal


Unless you join the Made For iPhone program you can not directly connect anything to an iOS device unless you use Bluetooth or TCP/IP.

like image 3
rckoenes Avatar answered Nov 17 '22 21:11

rckoenes