This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE high bandwidth bulk transfer from Client to Server

I am developing an application that will transmit a lot (say 100kB) of data from client (scanner) to server (advertiser). 

Using cccd, notification, and hvx works well for large data transfer from server to client, as illustrated in the ble_app_att_mtu_throughput example. However, that's the opposite direction from what I would like to do. 

What would be advised for bulk transfer from client to server?

Parents
  • I was able to get the suggested idea of having the scanner register a service, and the advertiser, upon BLE_GAP_EVT_CONNECTED event should initiate ble_db_discovery_start(), sort of working.

    However, it does not work if the advertiser stops advertising -- by calling sd_ble_gap_adv_stop() in the handler of the connected event. The discovery appears to complete only if the advertising is not stopped.

    1. Why is this?
    2. Is there an appropriate time to stop advertising?
    Reply
    • I was able to get the suggested idea of having the scanner register a service, and the advertiser, upon BLE_GAP_EVT_CONNECTED event should initiate ble_db_discovery_start(), sort of working.

      However, it does not work if the advertiser stops advertising -- by calling sd_ble_gap_adv_stop() in the handler of the connected event. The discovery appears to complete only if the advertising is not stopped.

      1. Why is this?
      2. Is there an appropriate time to stop advertising?
      Children
      No Data
      Related