...
Target: NXP i.MX RT1050 EVK board with the Bluetooth adapter plugged into the USB (J9) port.
The Bluetooth <Target address> in the examples below is 04:7F:0E:31:B7:94.Host: Any computer with a Bluetooth interface, running Linux with the Bluetooth tools (bluez-utils) installed.
The Bluetooth <Host address> in the examples below is BC:77:37:5C:32:57.
3.1. Test Connectivity
Power-on the NXP i.MX RT1050 EVK board and wait for the Linux to boot on the Target. Run the Bluetooth daemons in the background:
Code Block ... / # hcid -n& [1] 97 hcid -n hcid[97]: Bluetooth HCI daemon / # sdpd -n& [2] 98 sdpd -n / #
Plug-in the Bluetooth adapter to the USB1 interface of the NXP i.MX RT1050 EVK board. Observe the messages like these in the Target console:
Code Block usb 1-1: new full-speed USB device number 3 using ci_hdrc usb 1-1: Duplicate descriptor for config 1 interface 1 altsetting 5, skipping hcid[229]: HCI dev 0 regBluetooth: hci0: CSR: Unbranded CSR clone detected; adding workarounds and force-suspending once... isteBluetooth: hci0: CSR: Failed to suspend the device for our Barrot 8041a02 receive-issue workaround red hcid[229]: HCI dev 0 up hcid[235]: Can't set encrypt on hci0: Invalid request code (56) hcid[229]: Starting security manager 0
Get the <Target address> Bluetooth address of the adapter you have just plugged-in:
Code Block / # hcitool dev Devices: hci0 04:7F:0E:31:B7:94 / #
Add the Serial Port profile to the list of Bluetooth profiles. In the example below the Bluetooth channel number to access this profile is 1:
Code Block / # sdptool add --channel=1 SP Serial Port service registered
Start the background listening for raw connections on the channel 1:
Code Block / # rfcomm --raw listen /dev/rfcomm0 1 & [3] 110 rfcomm --raw listen /dev/rfcomm0 1 / # Waiting for connection on channel 1
On the Host, open a raw Bluetooth connection to the Target (<Target Address> Bluetooth Device, channel 1):
Code Block $ sudo rfcomm --raw connect 0 04:7F:0E:31:B7:94 1 Connected /dev/rfcomm0 to 04:7F:0E:31:B7:94 on channel 1 Press CTRL-C for hangup
In the Target console observe an indication of the connection from the Host:
Code Block Connection from BC:77:37:5C:32:57 to /dev/rfcomm0 Press CTRL-C for hangup
Send a text string (command) to the Target over the Bluetooth serial port from the Host:
Code Block $ echo "Hello from Host over the BT Serial" | sudo tee /dev/rfcomm0 Hello from Host over the BT Serial
On the Target receive the text string (command) just sent from Host:
Code Block / # cat /dev/rfcomm0 Hello from Host over the BT Serial ^C
Send a text string (response) from the Target to Host over the Bluetooth serial port:
Code Block / # echo "Hello from Target over the BT Serial" > /dev/rfcomm0
Receive the text string (response) just sent from the Target over the Bluetooth serial port:
Code Block $ sudo cat /dev/rfcomm0 Hello from Target over the BT Serial ^C
Disconnect the Host from the Bluetooth serial line by pressing Ctrl-C in the r
fcomm --raw connect ...
terminal window:Code Block ^C Disconnected
Observe the
rfcomm
termination on the Target side:
...