zephyr/tests/bluetooth/tester
Johan Hedberg 2975ca0754 Bluetooth: Kconfig: Rename CONFIG_BLUETOOTH_* to CONFIG_BT_*
The API name space for Bluetooth is bt_* and BT_* so it makes sense to
align the Kconfig name space with this. The additional benefit is that
this also makes the names shorter. It is also in line with what Linux
uses for Bluetooth Kconfig entries.

Some Bluetooth-related Networking Kconfig defines are renamed as well
in order to be consistent, such as NET_L2_BLUETOOTH.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2017-08-09 11:14:19 +03:00
..
src Bluetooth: Kconfig: Rename CONFIG_BLUETOOTH_* to CONFIG_BT_* 2017-08-09 11:14:19 +03:00
Makefile license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
README doc: fix wiki board references in non .rst files 2017-07-11 12:45:35 -05:00
btp_spec.txt Bluetooth: tester: Rework discovery procedure 2016-10-16 09:01:28 +03:00
default.conf Bluetooth: Kconfig: Rename CONFIG_BLUETOOTH_* to CONFIG_BT_* 2017-08-09 11:14:19 +03:00
qemu.conf Bluetooth: Kconfig: Rename CONFIG_BLUETOOTH_* to CONFIG_BT_* 2017-08-09 11:14:19 +03:00
testcase.yaml tests: samples: convert testcase files to yaml 2017-06-21 20:56:53 -04:00

README

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