BLE Peripheral App
==================

Overview
~~~~~~~~

Now that we've gone through how BLE Apps are contructed, how they
function, and how all the parts fit together let's try out a BLE
Peripheral App to see how it all works.

.. contents::
  :local:
  :depth: 2

Prerequisites
~~~~~~~~~~~~~

-  You should have a BLE Central App of some sort to connect with. On
   Mac OS or iOS, you can use
   `LightBlue <https://itunes.apple.com/us/app/lightblue-explorer-bluetooth/id557428110?mt=8>`__
   which is a free app to browse and connect to BLE Peripheral devices.

Create a New Target
~~~~~~~~~~~~~~~~~~~

You can create a new project instead, but this tutorial will simply use
the previously created btshell project and add a new target for the BLE
Peripheral

.. code-block:: console

    $ newt target create myperiph
    Target targets/myperiph successfully created
    $ newt target set myperiph bsp=@apache-mynewt-core/hw/bsp/nrf52dk
    Target targets/myperiph successfully set target.bsp to @apache-mynewt-core/hw/bsp/nrf52dk
    $ newt target set myperiph app=@apache-mynewt-core/apps/bleprph
    Target targets/myperiph successfully set target.app to @apache-mynewt-nimble/apps/bleprph
    $ newt target set myperiph build_profile=optimized
    Target targets/myperiph successfully set target.build_profile to optimized
    $ newt build myperiph
    Building target targets/myperiph
    ...
    Linking ~/dev/nrf52dk/bin/targets/myperiph/app/apps/bleprph/bleprph.elf
    Target successfully built: targets/myperiph
    $ newt create-image myperiph 1.0.0
    App image succesfully generated: ~/dev/nrf52dk/bin/targets/myperiph/app/apps/bleprph/bleprph.img
    $ newt load myperiph
    Loading app image into slot 1

Now if you reset the board, and fire up your BLE Central App, you should
see a new peripheral device called 'nimble-bleprph'.

.. figure:: ../../../pics/LightBlue-1.jpg
   :alt: LightBlue iOS App with nimble-bleprph device

Now that you can see the device, you can begin to interact with the
advertised service.

Click on the device and you'll establish a connection.

.. figure:: ../../../pics/LightBlue-2.jpg
   :alt: LightBlue iOS App connected to the nimble-bleprph device

Now that you're connected, you can see the Services that are being
advertised.

Scroll to the bottom and you will see a Read Characteristic, and a
Read/Write Characteristic.

.. figure:: ../../../pics/LightBlue-3.jpg
   :alt: LightBlue iOS App connected to the nimble-bleprph device

Just click on the Read Write Characteristic and you will see the
existing value.

.. figure:: ../../../pics/LightBlue-4.jpg
   :alt: LightBlue iOS App with nimble-bleprph device Characteristic

Type in a new value.

.. figure:: ../../../pics/LightBlue-5.jpg
   :alt: LightBlue iOS App Value Change

   LightBlue

And you will see the new value reflected.

.. figure:: ../../../pics/LightBlue-6.jpg
   :alt: LightBlue iOS App with nimble-bleprph new value

If you still have your console connected, you will be able to see the
connection requests, and pairing, happen on the device as well.

.. code:: console

    258894:[ts=2022609336ssb, mod=64 level=1] connection established; status=0 handle=1 our_ota_addr_type=0 our_ota_addr=0a:0a:0a:0a:0a:0a our_id_addr_type=0 our_id_addr=0a:0a:0a:0a:0a:0a peer_ota_addr_type=1 peer_ota_addr=7f:be:d4:44:c0:d4 peer_id_addr_type=1 peer_id_addr=7f:be:d4:44:c0:d4 conn_itvl=24 conn_latency=0 supervision_timeout=72 encrypted=0 authenticated=0 bonded=0
    258904:[ts=2022687456ssb, mod=64 level=1]
    258917:[ts=2022789012ssb, mod=64 level=1] mtu update event; conn_handle=1 cid=4 mtu=185
    258925:[ts=2022851508ssb, mod=64 level=1] subscribe event; conn_handle=1 attr_handle=14 reason=1 prevn=0 curn=0 previ=0 curi=1
    261486:[ts=2042859320ssb, mod=64 level=1] encryption change event; status=0 handle=1 our_ota_addr_type=0 our_ota_addr=0a:0a:0a:0a:0a:0a our_id_addr_type=0 our_id_addr=0a:0a:0a:0a:0a:0a peer_ota_addr_type=1 peer_ota_addr=7f:be:d4:44:c0:d4 peer_id_addr_type=1 peer_id_addr=7f:be:d4:44:c0:d4 conn_itvl=24 conn_latency=0 supervision_timeout=72 encrypted=1 authenticated=0 bonded=1
    261496:[ts=2042937440ssb, mod=64 level=1]

Congratulations! You've just built and connected your first BLE
Peripheral device!
