Data throughput issues, CoreBluetooth[ERROR] XPC connection interrupted
Data throughput issues, CoreBluetooth[ERROR] XPC connection interrupted
- Subject: Data throughput issues, CoreBluetooth[ERROR] XPC connection interrupted
- From: Dave Camp <email@hidden>
- Date: Thu, 17 Jan 2013 17:58:50 -0800
We are working on an iOS app to capture data from some BTLE sensors. The goal is to deploy up to 40 of these sensors, allow them to collect data for a couple of hours, retrieve the sensors and then download all of the collected data. Over the course of two hours, the sensors will collect approximately 420KB of data each.
Data is read by writing to a command characteristic on the sensor, indicating what block of data I want (0-n). My code then receives 256 notifications for the response characteristic, each notification carrying a 16 byte data payload. This process is repeated until I've read all the blocks I need.
What we are having problems with is maximizing the throughput of the overall download process. We are testing on an iPad 3 and iPad Mini with iOS 6.0.1.
For any single sensor, we receive data at about 4000 bytes/sec. We believe this is a limitation of the sensor itself. All of the sensors seem to hover around that data rate.
To improve throughput, we've been initiating connections with small numbers of sensors and running downloads in parallel. With two downloads, we get ~8000 bytes/sec. Once we scale this up to 3 sensors at the same time (or more), things get weird. Some or all of the following happens:
- Console log shows "CoreBluetooth[ERROR] XPC connection interrupted". The central then changes states to resetting, off, then on, and all of our devices are re-discovered. I'm assuming the bluetooth daemon is crashing…
- Connections and downloads slow to a crawl. After a number of parallel downloads, connecting to a single sensor will take several seconds and download proceed at a glacial pace. After some period of time, this may or may not resolve itself.
- Some new connections will not work.
Is there anything wrong with the approach we are taking? While I don't expect parallelizing our downloads to scale infinitely, it seems odd that Core Bluetooth seems to fall apart so quickly.
Suggestions?
Dave
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Bluetooth-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden