[Client - Server Bluetooth]

Hello,

I am programming BLE with the nRF52840-DK. [Toolchain Manager: v1.3.0, IDE: Visual Studio Code (VSCode), SDK: ncs v2.6.0 ]

I am planning to set up the system as shown in the diagram below.

To explain briefly, the data obtained from the ADC (1.2Mbps) will be sent to the PC via Bluetooth. The commands received from the PC will be sent to the nRF52840 via Bluetooth for control purposes.

Here are my questions:

1. Are the server and client appropriately placed?

2. Is it possible to control the nRF52840 (Client) using 'Notify'?

Parents
  • Hi,

    In Bluetooth LE, the roles for the connection are called Central and Peripheral, and each can have a GATT server and/or operate as GATT client, but in almost all cases the GATT server used for BLE services resides on the peripheral.

    For transferring a stream of data, I recommend having a look at Nordic UART Service (NUS).

    Regards,
    Terje

  • I want a throughput of more than 1.3Mbps.

    1. so, Can I increase Bluetooth throughput by adjusting PHY, interval time, MTU, and data length in NUS ?

    2. Can you provide an example of how to control Bluetooth throughput by adjusting PHY, interval time, MTU, and data length? (excluding Bluetooth: Throughput)


  • Hi,

    seongmincho said:
    1. so, Can I increase Bluetooth throughput by adjusting PHY, interval time, MTU, and data length in NUS ?

    1.3 Mbps is around the limit for what is possible with BLE, using large ATT MTU size and LE 2M PHY.

    seongmincho said:
    2. Can you provide an example of how to control Bluetooth throughput by adjusting PHY, interval time, MTU, and data length? (excluding Bluetooth: Throughput)

    Please note that many BLE devices out there expect adjusting PHY, connection parameters, MTU size etc. at the beginning of the connection only, or only a couple of times, and may decide to disconnect if it happens too often. In this case however you control both ends of the link, and therefore multiple updates may be OK.

    For a sample to run and change those settings, please have a look at the Bluetooth Shell.

    Apart from that, the settings can be changed dynamically through the following API calls:

    These changes should generally be initiated from the central side, since the central is the device controlling the connection. Calling them on the peripheral is merely a suggestion, and it is always up to the central to agree and perform the actual change.

    Please note also that changes may be required to the Nordic UART Service (NUS) code, with regards to buffer sizes, when to send, etc, to better match the connection settings.

    Regards,
    Terje

Reply
  • Hi,

    seongmincho said:
    1. so, Can I increase Bluetooth throughput by adjusting PHY, interval time, MTU, and data length in NUS ?

    1.3 Mbps is around the limit for what is possible with BLE, using large ATT MTU size and LE 2M PHY.

    seongmincho said:
    2. Can you provide an example of how to control Bluetooth throughput by adjusting PHY, interval time, MTU, and data length? (excluding Bluetooth: Throughput)

    Please note that many BLE devices out there expect adjusting PHY, connection parameters, MTU size etc. at the beginning of the connection only, or only a couple of times, and may decide to disconnect if it happens too often. In this case however you control both ends of the link, and therefore multiple updates may be OK.

    For a sample to run and change those settings, please have a look at the Bluetooth Shell.

    Apart from that, the settings can be changed dynamically through the following API calls:

    These changes should generally be initiated from the central side, since the central is the device controlling the connection. Calling them on the peripheral is merely a suggestion, and it is always up to the central to agree and perform the actual change.

    Please note also that changes may be required to the Nordic UART Service (NUS) code, with regards to buffer sizes, when to send, etc, to better match the connection settings.

    Regards,
    Terje

Children
Related