Please take a look at swiftrobot first. swiftrobotc is an implementation of that in C++. It enables the possibility to communicate with non Apple devices, either over Wi-Fi or USB.
It does not cover all features of swiftrobot, but the most important ones for seamless integration like:
- Bonjour service discovery, so clients connect to each other without any manual configuration needed.
- Publish/Subscribe messaging system based on shared memory or TCP sockets.
- USB communication for iOS devices
The current version of swiftrobotc uses usbmux, which comes preinstalled on every Mac. It is used by iTunes etc. to communicate with your devices. After a proper connection request, all traffic to this UNIX socket is tunneled through USB to an iOS device. This ability is exploited by swiftrobotc.
Using an open source implementation of usbmuxd enables swiftrobotc to work on Linux systems and therefore on most embedded devices. If not using a Mac, please check out their installation guide to use swiftrobotc on Linux.
Future versions will be using libusb to elliminate the usbmuxd dependency and enable microcontrollers to communicate with iOS devices via USB as well.
If you want to use USB capability, make sure usbmuxd is running on your system if not using a Mac. Otherwise usbmuxd is not needed.
Further instructions come as soon as the first version is ready.
This package is licensed under the MIT license. See the LICENSE file for more information.