zephyr/samples/bluetooth
Szymon Janc 47ecb52064 Bluetooth: Add support for TinyCrypt based bt_rand
This allows to use pseudo random numbers generator provided by
tinycrypt instead of constant using of HCI LE Rand command.

HCI LE Rand commands are used only to initialize and re-seed PRNG.

Using tinycrypt for NRPA increase size of sample shell application
from 86852 to 89700 bytes.

Change-Id: I06e7392d087908caf37cd3ae648ea0bd5cc4ce61
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
2016-02-10 19:13:00 -05:00
..
beacon sanitycheck: enable build tests for Arduino Due 2016-02-10 01:35:33 +00:00
central sanitycheck: enable build tests for Arduino Due 2016-02-10 01:35:33 +00:00
central_hr Bluetooth: GATT: Refactor subscription API 2016-02-10 18:52:29 -05:00
init Bluetooth: Rename prj_x86.conf to prj.conf 2016-02-05 20:25:20 -05:00
init_h5 Bluetooth: Rename prj_x86.conf to prj.conf 2016-02-05 20:25:20 -05:00
ipsp sanitycheck: enable build tests for Arduino Due 2016-02-10 01:35:33 +00:00
peripheral Bluetooth: peripheral: Fix using CCC handle with bt_gatt_notify 2016-02-10 19:13:00 -05:00
peripheral_dis sanitycheck: enable build tests for Arduino Due 2016-02-10 01:35:33 +00:00
peripheral_hr Bluetooth: peripheral: Fix using CCC handle with bt_gatt_notify 2016-02-10 19:13:00 -05:00
peripheral_sc_only sanitycheck: enable build tests for Arduino Due 2016-02-10 01:35:33 +00:00
shell Bluetooth: Add support for TinyCrypt based bt_rand 2016-02-10 19:13:00 -05:00
test_bluetooth Bluetooth: Convert driver header info to hidden Kconfig options 2016-02-05 20:24:45 -05:00
tester Bluetooth: GATT: Refactor read API 2016-02-10 18:52:29 -05:00
README Bluetooth: Fix HCI driver Kconfig references in samples 2016-02-05 20:25:03 -05:00

Bluetooth subsystem

= Building =

Build samples

$ make -C samples/bluetooth/<app>

= Bluetooth Sample application =

Host Bluetooth controller is connected to the second qemu serial line
through a UNIX socket (qemu option -serial unix:/tmp/bt-server-bredr).
This option is already added to qemu through QEMU_EXTRA_FLAGS in Makefile.

On the host side BlueZ allows to "connect" Bluetooth controller through
a so-called user channel. Use the btproxy tool for that:

$ sudo tools/btproxy -u
Listening on /tmp/bt-server-bredr

Note that before calling btproxy make sure that Bluetooth controller is down.

Now running qemu result connecting second serial line to 'bt-server-bredr'
UNIX socket. When Bluetooth (CONFIG_BLUETOOTH) and Bluetooth HCI UART driver
(CONFIG_BLUETOOTH_H4) are enabled, Bluetooth driver registers to the system.
From now on Bluetooth might be used by the application. To run application in
the qemu run:

$ make qemu

== Bluetooth IPSP application ==

To test IPSP please take a look at samples/net/README, in addition to running
echo-client it is necessary to enable 6LowPAN module in Linux with the
following commands:

$ modprobe bluetooth_6lowpan
$ echo 1 > /sys/kernel/debug/bluetooth/6lowpan_enable

Then to connect:

echo "connect <bdaddr> <type>" > /sys/kernel/debug/bluetooth/6lowpan_control

Once connected a dedicated interface will be created, usually bt0, which can
then be used as following:

$ echo-client -i bt0 <ip>

= Bluetooth sanity check =

There is smoke test application in nanokernel and microkernel test
directories which gets run in sanity check script:

$ scripts/sanity_chk/sanity_chk [-P <platform>]

For quick regression test use bt_regression, it only check Bluetooth test

$ samples/bluetooth/bt_regression.sh