| Title: Bluetooth tester application |
| |
| Description: |
| |
| Tester application uses binary protocol to control Zephyr stack and is aimed at |
| automated testing. It requires two serial ports to operate. |
| The first serial is used by Bluetooth Testing Protocol (BTP) to drive Bluetooth |
| stack. BTP commands and events are received and buffered for further processing |
| over the same serial. |
| |
| -------------------------------------------------------------------------------- |
| |
| Supported Profiles: |
| |
| GAP, GATT, SM |
| -------------------------------------------------------------------------------- |
| |
| Building and running on QEMU: |
| |
| QEMU should have connection with the external host Bluetooth hardware. |
| The btproxy tool from BlueZ can be used to give access to a Bluetooth controller |
| attached to the Linux host OS: |
| |
| $ sudo tools/btproxy -u |
| Listening on /tmp/bt-server-bredr |
| |
| /tmp/bt-server-bredr option is already set in Makefile through QEMU_EXTRA_FLAGS. |
| |
| To build tester application for QEMU: |
| |
| $ make pristine && make BOARD=qemu_cortex_m3 CONF_FILE=qemu.conf run |
| |
| Note: Target board have to support enough UARTs for BTP and controller. |
| We recommend using qemu_cortex_m3. |
| |
| 'bt-stack-tester' UNIX socket (previously set in Makefile) can be used for now |
| to control tester application. |
| -------------------------------------------------------------------------------- |
| |
| Building and running on Arduino 101: |
| |
| Arduino 101 is equipped with Nordic nRF51 Bluetooth LE controller. |
| Please refer to the Zephyr Project docs [1] to see how to build and flash the |
| controller with the HCI Bluetooth LE firmware. |
| |
| Next, build and flash tester application: |
| |
| $ make pristine && make flash |
| |
| While running tester application on Arduino 101, serial converter, typically |
| UART <-> USB is required by BTP to operate. Connect Arduino 101 Tx and Rx lines |
| (0 and 1 ports on Arduino 101 board) through the UART converter to the host |
| USB port. |
| |
| Use serial client, e.g. PUTTY to communicate over the serial port |
| (typically /dev/ttyUSBx) with the tester using BTP. |
| |
| [1] https://www.zephyrproject.org/doc/boards/x86/arduino_101/doc/board.html#flashing-the-bluetooth-core |