zephyr/samples/bluetooth
Johan Hedberg 483fc4705f Bluetooth: samples: Add sample Kconfig for nimble based controllers
Add config files to be used on Arduino 101 (or any Curie-based) board
with the MyNewt nimble stack running on the nRF51 and exposing HCI
over UART. These configs contain a stripped-down set of features so
that the resulting image fits e.g. on the Arduino 101.

Change-Id: I7300e9ca4205de6f52aa6ca1bfe4e0b011b6dcbe
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-04-19 13:19:02 +03:00
..
beacon samples/nble: Remove default driver debug for samples 2016-04-04 14:33:50 +00:00
central tests: Fix Bluetooth tests and samples platform blacklisting 2016-02-15 15:06:53 +00:00
central_hr Bluetooth: Remove CONFIG_TEST_RANDOM_GENERATOR from sample apps 2016-02-10 19:13:01 -05:00
gatt Bluetooth: CTS: Add service sample 2016-03-22 17:26:49 +00:00
ipsp Bluetooth: samples: Add sample Kconfig for nimble based controllers 2016-04-19 13:19:02 +03:00
peripheral Bluetooth: Add Privacy Feature support 2016-04-05 12:29:14 +03:00
peripheral_csc Bluetooth: BAS: Add service sample 2016-03-22 17:26:29 +00:00
peripheral_dis Bluetooth: DIS: Add service sample 2016-03-22 17:26:15 +00:00
peripheral_esp samples/nble: Remove default driver debug for samples 2016-04-04 14:33:50 +00:00
peripheral_hr samples/nble: Remove default driver debug for samples 2016-04-04 14:33:50 +00:00
peripheral_sc_only Bluetooth: Make application samples to use GAP Service sample 2016-03-22 16:43:02 +00:00
README Bluetooth: samples/README: Fix sanitycheck references 2016-03-31 07:57:23 +03:00

README

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/sanitycheck [-P <platform>]

To only run Bluetooth tests use the -t bluetooth switch:

$ scripts/sanity_chk/sanitycheck -t bluetooth