¿Transmite video usando BLE o Bluetooth 4.0 clásico?

10

BLE solo tiene una carga de datos de 100 Kbps, por lo que me preguntaba si es posible transmitir un video en vivo usando Bluetooth Low Energy.

Classic Bluetooth 4.0 tiene una carga útil de datos de 2Mbps que facilita la transmisión del video, pero me preocupa más la potencia total, por lo que quiero implementar el BLE. ¿Puedo obtener el mismo resultado cuando uso BLE para transmitir el video?

    

3 respuestas

12

BLE es muy inadecuado para la transmisión de ancho de banda mediano (audio o video), ya que está diseñado para la transferencia de pocos y pequeños paquetes de datos con mucho tiempo de inactividad entre ellos. Esta es la razón por la que se denomina "baja energía" y no "baja potencia", ya que reduce la cantidad de picojoules por bit para paquetes pequeños con respecto a los estándares de la competencia. La mayoría de los otros estándares utilizan más energía, no porque tengan radios menos eficientes, sino porque al menos el receptor está constantemente encendido incluso cuando hay una pausa relativamente grande en el tráfico de radio, y porque una parte significativa de los bits transferidos no son de carga útil sino de sobrecarga - Encabezados de protocolo, sumas de comprobación, incluso solo espacios en blanco. BLE elimina la mayoría de estas tomas de energía innecesarias. Pero tenga en cuenta que no mejora mágicamente el uso de energía de los transceptores cuando están activos. Y al hacer la transferencia de video, los transceptores están constantemente encendidos. Pierdes la mayor ventaja de BLE.

Esta opción de diseño reduce la sobrecarga esencialmente a lo poco que desee, pero también hace que no tenga ninguna instalaciones de transmisión de datos incorporadas de forma nativa, como la recombinación de paquetes, el reconocimiento diferido y las transferencias asíncronas. En realidad, no tiene nada integrado, BLE es tan simple como puede llegar a una interfaz inalámbrica, salvo tal vez nRF24 y TI CC2x00. Como resultado, deberá hacer esto en el software (ya sea en un microcontrolador o en su dispositivo de usuario) y esto consume una energía increíblemente mayor que si utiliza un protocolo especialmente diseñado con recursos de hardware para esto, como Bluetooth 3.0 EDR o WiFi.

Esto conduce a la noción contraintuitiva de que una vez que comience a ingresar a velocidades de datos de tipo de audio y superiores, según su implementación, Bluetooth Low Energy se vuelve aproximadamente 2 veces menos eficiente que Bluetooth 3.0, y cuando entra en el rango de megabits Es sustancialmente menos eficiente que el WiFi. Esta es la razón por la que existe WiFi, ese y posiblemente el alcance inalámbrico, aunque en la actualidad los transceptores para ambos estándares son muy equivalentes. WiFi solo tiene MIMO y diversidad opcionales.

Por lo tanto, incluso cuando no se tienen en cuenta los límites de rango y ancho de banda muy restrictivos que impone Bluetooth, al menos para el video, es posible que no pueda alcanzar el objetivo de la transferencia de video de baja potencia con este método.

    
respondido por el user36129
8

Bueno, con 100 kbps, puedes reproducir un video de baja calidad del tamaño de un sello postal :-)

Sin ninguna precisión, me imagino que desea HD (ni siquiera Full HD) a 30 fps en H264, con un movimiento promedio (factor 2), una estimación aproximada de la tasa de bits podría ser:

(1280px * 720px) * 30fps * 2 * 0.07 ~ = 3800kbps

Así que tienes que reducir esto en un factor 38 (¡por lo menos!).

Digamos que te conformas con ~ 320x200 @ 15 fps, todavía estás un poco por encima (el ancho de banda teórico , espera menos).

    
respondido por el FredP
0

Todas mis pruebas terminaron a menos de 2000 octetos / segundo

Requisitos previos:

  • Android: Nexus Gallaxy Tab 7 Android 6.0.1 (cliente GATT)
  • Linux: R-PI + BCM20702A0 (servidor GATT)
  • NUCLEO-F411RE: BlueNRG (servidor GATT)

Todas las pruebas que he realizado entre Android < - > Linux & Bunget, Android < - > Linux & Bleno, Android < - > ST-Micro Nucleus + blueNRG. Linux & NUCLEO ejecutando servidores GATT. Android ejecuta principalmente el cliente GATT.

  • El servidor GATT de Android > NOTIFICACIÓN / ESCRIBIR NO HAY RESPUESTA no se puede enviar A menudo más de 13 ms. A menudo, 13ms se borraron en un paquete perdido.

  • Servidor- > Android NOTIFICACIÓN / ESCRIBIR SIN RESPUESTA no se puede enviar a menudo de 15 ms

  • Ambos lados, LEER INDICADOR, como no se puede invocar a menudo de 15..20 ms.

Eso lleva hasta 1000ms / 13ms - > 77 veces / segundo de 20 bytes = 1500 octetos / segundo.

    
respondido por el user2195463

Lea otras preguntas en las etiquetas