En todos los módems Bluetooth con los que he trabajado, la interfaz del módem se encontraba a través de un enlace serie conectado a un UART dentro de un microcontrolador. Las señales, aunque utilizan el mismo protocolo que se vería en RS-232, son niveles TTL, no niveles RS-232; por lo tanto, puede conectar los cables TX / RX del módem directamente a los cables TX / RX del microcontrolador. . Puede haber módems Bluetooth que usen SPI o I²C, pero no he trabajado con ninguno.
Los comandos enviados al módem Bluetooth usan comandos ASCII, tales como INQUIRY, CALL, PAIR, SET etc. Desafortunadamente, los comandos serán similares pero no idénticos en los dispositivos Bluetooth de diferentes fabricantes.
Los datos se envían a través de este mismo enlace, y hay una secuencia de escape (banda de guarda de 1 segundo, seguida de "+++", seguida de otra banda de guardia de 1 segundo, la misma que se utiliza en los módems Hayes originales 30) años atrás) o un pin en el dispositivo Bluetooth para cambiar de comandos a datos y viceversa.
El modo de datos generalmente se ingresa automáticamente después de una conexión válida.
por ejemplo
CALL 00:60:57:a6:56:49 1103 <- cell another Bluetooth device by MAC id
CONNECT 0 -> modem reports call connected
(data mode entered here)
[+++] <- escape sequence to re-enter command mode
CLOSE 0 <- command to close connection
NO CARRIER 0 -> modem reports connection lost
Después de la respuesta CONECTAR del módem, se pone automáticamente en modo de datos. Los datos binarios se envían a través del mismo enlace UART que los comandos. La secuencia +++, mencionada anteriormente, se usa para terminar el modo de datos y volver al modo de comando.
Además del conjunto de comandos orientado a ASCII que se describe aquí, hay otra interfaz de paquetes binarios llamada Interfaz de controlador de host (HCI), que es mucho más difícil de trabajar, pero será el mismo en diferentes dispositivos.