¿La Adafruit_BluefruitLE_nRF51 library (compatible con mi arduino UNO) sacrifica la velocidad y funcionalidad de BLE con otros dispositivos de Adafruit? En la página de preguntas frecuentes BLE de adafruit tienen esta sección:
¿Cuál es el límite de velocidad teórica para BLE?
Esto depende de una variedad de factores, y está determinado por la capacidades del dispositivo central (el teléfono móvil, etc.) tanto como el periferico Teniendo en cuenta los límites de HW en el nR51822 (máx. 6 paquetes por intervalo de conexión y un intervalo de conexión mínimo de 7,5 ms) terminas con los siguientes límites teóricos en varios sistemas operativos móviles:
iPhone 5/6 + IOS 8.0/8.1
6 packets * 20 bytes * 1/0.030 s = 4 kB/s = 32 kbps
iPhone 5/6 + IOS 8.2/8.3
3 packets * 20 bytes * 1/0.030 s = 2 kB/s = 16 kbps
iPhone 5/6 + IOS 8.x with nRF8001
1 packet * 20 bytes * 1/0.030 s = 0.67 kB/s = 5.3 kbps
Nexus 4
4 packets * 20 bytes * 1/0.0075 s = 10.6 kB/s = 84 kbps
Nordic Master Emulator Firmware (MEFW) with nRF51822 0.9.0
1 packet * 20 bytes * 1/0.0075 = 2.67 kB/s = 21.33 kbps
Nordic Master Emulator Firmware (MEFW) with nRF51822 0.11.0
6 packets * 20 bytes * 1/0.0075 = 16 kB/s = 128 kbps
También hay algunos límites impuestos por el firmware Bluefruit LE, pero Estamos trabajando activamente para mejorar significativamente el rendimiento en el próxima versión 0.7.0, que estará disponible el segundo trimestre de 2016. Lo anterior Las cifras son útiles como máximo teórico para decidir si BLE es apropiado para su proyecto o no.
También he notado algunos ejemplos extraños de cómo envían datos a través de BLE en sus ejemplos encontrados en la biblioteca, y simplemente parece ineficiente.
Tengo que usar BLE en el BLE SPI Friend de adafruit de manera muy confiable con el ancho de banda más alto que puedo extraer de él junto con un microcontrolador habilitado con SPI STM32 ... ¿Debo abstenerme de elegir esta biblioteca debido a un bajo rendimiento? ¿Debo usar algo como un IDE de Nordic Semiconductors para obtener el mejor rendimiento? ¿Alguna otra sugerencia?