zephyr/tests/bluetooth/tester
Johan Hedberg d22b7c9f2d Bluetooth: Remove bt_storage API
The same functionality is now supported by the settings-based
solution, so remove bt_storage out of the way. There were stubs in
bt_storage to handle per-peer information (e.g. pairing keys) but this
was never actually implemented in full. The next step is to add this
support to the settings-based solution.

Leave the code for generating temporary IRK and identity address in
case BT_SETTINGS is not enabled. Also leave the code for using vendor
HCI to read the identity address, in which case the settings
implementation will not touch it.

Introduce a new bt_unpair() API to replace the removed
bt_storage_clear(), since the latter was actually doing more than just
storage management: it was also handling runtime storage of pairing
information. Later, the bt_unpair() implementation will be extended to
clear settings-based pairing storage.

There is one feature that the bt shell module looses: the ability to
give a specific identity address to the "init" command as a parameter.
We might look later in the future if this is really needed, and add a
separate API for this.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2018-05-04 17:26:05 -04:00
..
src Bluetooth: Remove bt_storage API 2018-05-04 17:26:05 -04:00
btp_spec.txt Bluetooth: btp: Add Enable advertising with Node Identity cmd 2018-03-10 11:56:22 +02:00
CMakeLists.txt Bluetooth: tester: Add initial support for BTP Mesh service 2017-12-12 12:44:21 +02:00
default.conf Bluetooth: tester: Add Configuration and Health Client models 2018-01-12 15:10:24 +02:00
nrf52840_pca10056.overlay Bluetooth: tester: Fix uart-pipe build error on nrf52840 board 2018-01-16 14:41:23 +02:00
qemu.conf Bluetooth: tester: Add Configuration and Health Client models 2018-01-12 15:10:24 +02:00
README Bluetooth: tests: Update tester documentation for cmake 2017-11-12 15:05:49 +02:00
testcase.yaml tests: cleanup meta-data of various tests 2018-04-09 22:55:20 -04:00

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 use BOARD=qemu_cortex_m3 and
CONF_FILE=qemu.conf. After this qemu can be started through the "run"
build target.

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 by employing the "flash" build
target.

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