nRF52833 cannot interconnect and communicate with BLE chip of Realtek

Hello,

Our customer has a project that uses nrf52833 as the master and want to connect to the slave of portable ECG meter (ble is Realtek). But they tried for a long time and still failed.

1. ECG meter (slave device) --- Realtek ble device Information :

UUID types: 128bit

UUID = {0xFB, 0x34, 0x9B, 0x5F, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}

2. nrf52833 DK as master device:

a. BLE central base on "nRF5_SDK_17.1.0_ddde560\examples\ble_central\ble_app_uart_c\pca10100\s122\arm5_no_packs"

b. Scan filter for UUIDs and UUID config is below:

#define NUS_BASE_UUID {{0xFB, 0x34, 0x9B, 0x5F, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}   /**< Used vendor-specific UUID. */

#define BLE_UUID_NUS_SERVICE    0xFF12                                              /**< The UUID of the Nordic UART Service. */
#define BLE_UUID_NUS_RX_CHARACTERISTIC     0xFF01                      /**< The UUID of the RX Characteristic. */
#define BLE_UUID_NUS_TX_CHARACTERISTIC      0xFF02                      /**< The UUID of the TX Characteristic. */

c. If  "#define NUS_SERVICE_UUID_TYPE   BLE_UUID_TYPE_BLE", 52833 can be connected to ECG meter, but the service cannot be found that log is "Service UUID 0xFF12 not found.".

    If  "#define NUS_SERVICE_UUID_TYPE   BLE_UUID_TYPE_VENDOR_BEGIN" , 52833 cannot connect to ECG meter and the function of ble_advdata_uuid_find() return 7 (NRF_ERROR_INVALID_PARAM). This function is called by adv_uuid_compare() in the file "nrf_ble_scan.c".

3. My question:

a. Whether nRF52833 interconnect and communicate with Realtek are feasible?

b. If feasible, what is missing from the customer's above configuration?

c. Is there any other way to solve this problem?

Thanks

Pany

Parents
  • Hi,

    UUID types: 128bit

    UUID = {0xFB, 0x34, 0x9B, 0x5F, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}

    This is not a vendor defined 128-bit UUID, this is the base UUID used by the 16-bit UUIDs defined by Bluetooth SIG.

    0xFF12 

    I can't find 0xFF12 in the Assigned Numbers document here, https://www.bluetooth.com/specifications/assigned-numbers/ , so it's seems like they have not registered it with the Bluetooth SIG...

    Try using this scan-filter:

        #define TARGET_UUID 0xFF12
    
    ble_uuid_t uuid =
        {
            .uuid = TARGET_UUID,
            .type = BLE_UUID_TYPE_BLE,
        };
    
        err_code = nrf_ble_scan_filter_set(&m_scan,
                                           SCAN_UUID_FILTER,
                                           &uuid);
        APP_ERROR_CHECK(err_code);

    And use e.g. ble_app_hrs_c as an template example on how to create a central that connects to a peripheral that have a 16-bit UUID service(BLE_UUID_TYPE_BLE).

  • Hi Sigurd,

    Thank you for your reply!

    Yes, I also think so they have not registered it with the Bluetooth SIG.

    I'll try your method and modify based on ble_app_hrs_c.

    Best regards,

    Pany

Reply Children
No Data
Related