Diferencia entre el protocolo RFCOMM y L2CAP en la comunicación Bluetooth

1

Acabo de comenzar a aprender lo esencial de la programación Bluetooth, ya que se usa mucho en mi proyecto.

Tengo una placa de desarrollo nRF52 y una Raspberry Pi 3 - Modelo B (con bluetooth incorporado). Quiero que los 2 dispositivos se comuniquen entre sí por ahora para el desarrollo de prototipos (por ejemplo, intercambiar bytes de datos únicos).

En la sección 1.2.1 Elección de un socio de comunicación de un PDF útil que he encontrado: ( enlace ), introdujo 2 protocolos de transporte:

  • RFCOMM
  • L2CAP

Quiero saber cuáles son los principales puntos de comparación entre los dos para poder decidir cuál de ellos es el protocolo adecuado para usar. El recurso anterior, por supuesto, indica información importante sobre los dos, pero como un desarrollador novato de bluetooth, es posible que no pueda visualizarlos tanto.

¿Alguien puede comparar y contrastar los dos? Gracias de antemano.

    

1 respuesta

2

Me temo que su referencia está desactualizada. Detalla los asuntos relacionados con Bluetooth a partir de 2005 (si la fecha es correcta). Estás trabajando con nRF52, un BLE SoC de 2015. Ambos son de la familia Bluetooth, pero no tienen nada en común.

Bluetooth a partir de 2005 estaba utilizando L2CAP como capa de transporte (piense en TCP), y RFCOMM era un protocolo por encima de L2CAP para la emulación de puerto serie (aproximadamente).

Bluetooth Low Energy (o BLE, comercializado como Bluetooth Smart), es un protocolo introducido por Bluetooth SIG en 2010 para Bluetooth 4.0. BLE utiliza L2CAP, pero no las capas superiores como RFCOMM, solo los protocolos ATT y GATT. Esto es lo que se implementa en nRF52.

Probablemente debería crear un servicio GATT personalizado con una característica que contenga los bytes de datos que desea intercambiar. Hay numerosos ejemplos en el SDK nórdico sobre esto.

    
respondido por el Nipo

Lea otras preguntas en las etiquetas