Hello,
I have a device like a gas meter or an electricity meter and it has: an optical interface IEC 62056-21 (IEC-1107) with support for speeds up to 115,200 Bd. On Windows and Android, we use a cable that has an optical interface and on the other end we connect USB A to the PC and to the Android via an OTG to USB adapter. The cable contains a chip from FTDI FT230XQ. I have an application in MAUI where I want to connect this cable to the 10th generation iPad and communicate similarly to, for example, via the COM5 port on the PC. When the port opens, I send a query and get a response. Is it possible, what should I do for this? What about Apple certification of cables? Is it possible to send a packet from MAUI via the USB C port via the cable and then receive and process the packet again?
What about MFi? I found this:
https://redpark.com/usb-c-serial-cable/
Please can you give me some idea or expert to this topic?
Thanks,
Roman
I have a device like a gas meter or an electricity meter and it has: an optical interface IEC 62056-21 (IEC-1107) with support for speeds up to 115,200 Bd. On Windows and Android, we use a cable that has an optical interface and on the other end we connect USB A to the PC and to the Android via an OTG to USB adapter. The cable contains a chip from FTDI FT230XQ. I have an application in MAUI where I want to connect this cable to the 10th generation iPad and communicate similarly to, for example, via the COM5 port on the PC. When the port opens, I send a query and get a response.
Is it possible, what should I do for this?
Yes, though the range of difficulty here is pretty broad. In terms of API support, it is technically possible to do this on iPadOS using DriverKit. However, the work involved is quite significant as it basically requires implementing a USB serial port driver in USBDriverKit, then implementing your own user client so that your app can communicate with the driver. I don't know what your final product goals are, but this is an approach I'd pretty actively avoid, as it's both an enormous amount of work and would ONLY work on iPad.
That leads to here:
What about Apple certification of cables? Is it possible to send a packet from MAUI via the USB C port via the cable and then receive and process the packet again?
This isn't actually about the cable itself, it's about what API you're actually going to use to communicate over that cable. Outside of DriverKit (which is iPad only), the only other way to communicate over a USB cable is through the External Accessory Framework. However, that framework is NOT a general purpose communication API, but as it only allows over iAP2...
What about MFi?
...which is the protocol MFi accessories use for direct communication. That leads to here:
I found this: https://redpark.com/usb-c-serial-cable/
What that actually is is an MFi certified accessory that RedPark makes. At a technical level, your app is exchanging iAP2 traffic with their adapter, which their adapter is then converting it into standard serial traffic.
Please can you give me some idea or expert on this topic?
Unless there is some other issue or factor involved, my recommendation would be that you work with RedPark. From what you've described, this isn't going to be a high volume and/or commercial product, in which case it's almost certainly going to be easier, faster, and cheaper to work with RedPark. If you look at their website, they also offer engineering services, which means they can build and license fairly customized hardware (if your specific needs are unusual). Unless your shipping at volume that is going to cost and effort far less than building and licensing your own hardware.
__
Kevin Elliott
DTS Engineer, CoreOS/Hardware