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

gatt service inquiry

Hi,

In addition to listening the advertiser's and beacon data we also need to offer the master application - which is connected to BLE-module via UART - the possibility to connect to peripheral and get information of available GATT-services. For this we need to be able to inquire service uuids from the connected peripheral.

I've been browsing through the examples but not been able to find out the solution for this. There are samples for listening the defined services, but not one for getting the information of all the available services.

Could anyone please guide me to the correct example, or give me some step-by-step information for building such an application.

Devkit used is nRF52840-DK, SDK revision is nRF5_SDK_16.0.0_98a08e2

Regards, Jukka

Parents
  • Hi Jukka

    It seems like you're looking for a way to discover services. Have you checked out our database discovery module which handles service discovery on GATT servers? The ble_app_blinky_c example for one is an example using this to discover the services available in the peripheral it connects to. 

    Alternatively, you can run discovery algorithms yourself by using sd_ble_gattc_XX functions, but I personally think the module is the easiest to use.

    Best regards,

    Simon

  • Hi,

    Basically the initialization procedure is the following:

    /**@brief Function for initializing the BLE stack.
     *
     * @details Initializes the SoftDevice and the BLE event interrupt.
     */
    static void ble_stack_init(void)
    {
        ret_code_t err_code;
    
        err_code = nrf_sdh_enable_request();
        APP_ERROR_CHECK(err_code);
    
        // Configure the BLE stack using the default settings.
        // Fetch the start address of the application RAM.
        uint32_t ram_start = 0;
        err_code = nrf_sdh_ble_default_cfg_set(APP_BLE_CONN_CFG_TAG, &ram_start);
        APP_ERROR_CHECK(err_code);
    
        // Enable BLE stack.
        err_code = nrf_sdh_ble_enable(&ram_start);
        APP_ERROR_CHECK(err_code);
    
        // Register a handler for BLE events.
        NRF_SDH_BLE_OBSERVER(m_ble_observer, APP_BLE_OBSERVER_PRIO, ble_evt_handler, NULL);
    }
    
    
    
    /**@brief Function for initializing the GATT library. */
    void gatt_init(void)
    {
        ret_code_t err_code;
    
        err_code = nrf_ble_gatt_init(&m_gatt, gatt_evt_handler);
        APP_ERROR_CHECK(err_code);
    
        err_code = nrf_ble_gatt_att_mtu_central_set(&m_gatt, NRF_SDH_BLE_GATT_MAX_MTU_SIZE);
        APP_ERROR_CHECK(err_code);
    }
    
    
    /**@brief Function for initializing the UART. */
    static void uart_init(void)
    {
        ret_code_t err_code;
    
        app_uart_comm_params_t const comm_params =
        {
            .rx_pin_no    = RX_PIN_NUMBER,
            .tx_pin_no    = TX_PIN_NUMBER,
            .rts_pin_no   = RTS_PIN_NUMBER,
            .cts_pin_no   = CTS_PIN_NUMBER,
            .flow_control = APP_UART_FLOW_CONTROL_DISABLED,
            .use_parity   = false,
            .baud_rate    = UART_BAUDRATE_BAUDRATE_Baud115200
        };
    
        APP_UART_FIFO_INIT(&comm_params,
                           UART_RX_BUF_SIZE,
                           UART_TX_BUF_SIZE,
                           uart_event_handle,
                           APP_IRQ_PRIORITY_LOWEST,
                           err_code);
    
        APP_ERROR_CHECK(err_code);
    }
    
    /**@brief Function for initializing the Nordic UART Service (NUS) client. */
    static void nus_c_init(void)
    {
        ret_code_t       err_code;
        ble_nus_c_init_t init;
    
        init.evt_handler = ble_nus_c_evt_handler;
    
        err_code = ble_nus_c_init(&m_ble_nus_c, &init);
        APP_ERROR_CHECK(err_code);
    }
    
    
    /**@brief Function for initializing buttons and leds. */
    static void buttons_leds_init(void)
    {
        ret_code_t err_code;
        bsp_event_t startup_event;
    
        err_code = bsp_init(BSP_INIT_LEDS, bsp_event_handler);
        APP_ERROR_CHECK(err_code);
    
        err_code = bsp_btn_ble_init(NULL, &startup_event);
        APP_ERROR_CHECK(err_code);
    }
    
    static ret_code_t mtimer_err_code;
    
    /**@brief Function for initializing the timer. */
    static void timer_init(void)
    {
        ret_code_t err_code = app_timer_init();
        APP_ERROR_CHECK(err_code);
    
        mtimer_err_code = app_timer_create(&m_connection_timer, APP_TIMER_MODE_SINGLE_SHOT, connection_timer_tick_callback);
    }
    
    
    /**@brief Function for initializing the nrf log module. */
    static void log_init(void)
    {
        ret_code_t err_code = NRF_LOG_INIT(NULL);
        APP_ERROR_CHECK(err_code);
    
        NRF_LOG_DEFAULT_BACKENDS_INIT();
    }
    
    
    /**@brief Function for initializing power management.
     */
    static void power_management_init(void)
    {
        ret_code_t err_code;
        err_code = nrf_pwr_mgmt_init();
        APP_ERROR_CHECK(err_code);
    }
    
    
    /** @brief Function for initializing the database discovery module. */
    static void db_discovery_init(void)
    {
        ble_db_discovery_init_t db_init;
        
        memset(&db_init, 0, sizeof(ble_db_discovery_init_t));
        
        db_init.evt_handler  = db_disc_handler;
        db_init.p_gatt_queue = &m_ble_gatt_queue;
        
        ret_code_t err_code = ble_db_discovery_init(&db_init);
        APP_ERROR_CHECK(err_code);
    }
    
    
    /**@brief Function for handling the idle state (main loop).
     *
     * @details Handles any pending log operations, then sleeps until the next event occurs.
     */
    static void idle_state_handle(void)
    {
        if (NRF_LOG_PROCESS() == false)
        {
            nrf_pwr_mgmt_run();
        }
    }
    
    
    int main(void)
    {
        // Initialize.
        log_init();
        timer_init();
        uart_init();
        buttons_leds_init();
        db_discovery_init();
        power_management_init();
        ble_stack_init();
        gatt_init();
        nus_c_init();
        scan_init();
    
        // Start execution.
        NRF_LOG_INFO("BLE UART central example started.");
        scan_start();
    
        // Enter main loop.
        for (;;)
        {
            idle_state_handle();
        }
    }
    

    And the sdk_config.h is attached.3581.sdk_config.h

    BR: Jukka

  • Okay, I can't see anything strange going on here. I noticed while digging through the documentation, that only the following descriptors will be searched for at the peer:

    • Client Characteristic Configuration
    • Characteristic Extended Properties
    • Characteristic User Description
    • Report Reference.

    Can you confirm that your services include any of these descriptors?

    Best regards,

    Simon

  • The device connected is a sealed box, only access to it's secrets is the Nordic Android tool. I have the following log file and partial snapshot to offer:

    nRF Connect, 2020-02-19
    WGX_iBeacon (D8:40:37:82:71:75)
    I	08:11:46.114	[Server] Server started
    V	08:11:46.139	Heart Rate (0x180D)
    - Heart Rate Measurement [N] (0x2A37)
       Client Characteristic Configuration (0x2902)
    - Body Sensor Location [R] (0x2A38)
    - Heart Rate Control Point [W] (0x2A39)
    Unknown Service (0000aaa0-0000-1000-8000-aabbccddeeff)
    - Unknown Characteristic [N R] (0000aaa1-0000-1000-8000-aabbccddeeff)
       Client Characteristic Configuration (0x2902)
       Unknown Descriptor (0000aab0-0000-1000-8000-aabbccddeeff)
       Characteristic User Description (0x2901)
       Characteristic Presentation Format (0x2904)
    - Unknown Characteristic [I W WNR] (0000aaa2-0000-1000-8000-aabbccddeeff)
       Client Characteristic Configuration (0x2902)
    User Data (0x181C)
    - First Name [R W] (0x2A8A)
    - Last Name [R W] (0x2A90)
    - Gender [R W] (0x2A8C)
    V	08:11:46.460	Connecting to D8:40:37:82:71:75...
    D	08:11:46.460	gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
    D	08:11:46.767	[Server callback] Connection state changed with status: 0 and new state: CONNECTED (2)
    I	08:11:46.767	[Server] Device with address D8:40:37:82:71:75 connected
    D	08:11:46.781	[Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
    I	08:11:46.781	Connected to D8:40:37:82:71:75
    D	08:11:46.789	[Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
    V	08:11:46.805	Discovering services...
    D	08:11:46.805	gatt.discoverServices()
    D	08:11:46.812	[Callback] Services discovered with status: 0
    I	08:11:46.813	Services discovered
    V	08:11:46.827	Generic Access (0x1800)
    - Device Name [R W] (0x2A00)
    - Appearance [R] (0x2A01)
    - Peripheral Preferred Connection Parameters [R] (0x2A04)
    Generic Attribute (0x1801)
    Device Information (0x180A)
    - System ID [R] (0x2A23)
    - Firmware Revision String [R] (0x2A26)
    - Hardware Revision String [R] (0x2A27)
    - Software Revision String [R] (0x2A28)
    Unknown Service (0000ffa0-0000-1000-8000-00805f9b34fb)
    - Unknown Characteristic [R W] (0000ffa1-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000ffa2-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [N R] (0000ffa3-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
       Client Characteristic Configuration (0x2902)
    - Unknown Characteristic [N R] (0000ffa4-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
       Client Characteristic Configuration (0x2902)
    - Unknown Characteristic [N R] (0000ffa5-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
       Client Characteristic Configuration (0x2902)
    Unknown Service (0000ffb0-0000-1000-8000-00805f9b34fb)
    - Unknown Characteristic [R W] (0000ffb1-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000ffb2-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [N R] (0000ffb3-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
       Client Characteristic Configuration (0x2902)
    Unknown Service (0000fff0-0000-1000-8000-00805f9b34fb)
    - Unknown Characteristic [R W] (0000fff1-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fff2-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fff3-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fff4-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fff5-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fff6-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fff7-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fff8-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [W] (0000fff9-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fffe-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [W] (0000ffff-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    Battery Service (0x180F)
    - Battery Level [N R] (0x2A19)
       Client Characteristic Configuration (0x2902)
    D	08:11:46.828	gatt.setCharacteristicNotification(0000ffa3-0000-1000-8000-00805f9b34fb, true)
    D	08:11:46.829	gatt.setCharacteristicNotification(0000ffa4-0000-1000-8000-00805f9b34fb, true)
    D	08:11:46.830	gatt.setCharacteristicNotification(0000ffa5-0000-1000-8000-00805f9b34fb, true)
    D	08:11:46.831	gatt.setCharacteristicNotification(0000ffb3-0000-1000-8000-00805f9b34fb, true)
    D	08:11:46.832	gatt.setCharacteristicNotification(00002a19-0000-1000-8000-00805f9b34fb, true)
    I	08:11:52.141	Connection parameters updated (interval: 997.5ms, latency: 0, timeout: 4000ms)
    V	08:12:58.877	Reading all characteristics...
    V	08:12:58.877	Reading characteristic 00002a00-0000-1000-8000-00805f9b34fb
    D	08:12:58.877	gatt.readCharacteristic(00002a00-0000-1000-8000-00805f9b34fb)
    I	08:12:59.966	Read Response received from 00002a00-0000-1000-8000-00805f9b34fb, value: (0x) 57-47-58-5F-69-42-65-61-63-6F-6E, "WGX_iBeacon"
    A	08:12:59.966	"WGX_iBeacon" received
    V	08:12:59.971	Reading characteristic 00002a01-0000-1000-8000-00805f9b34fb
    D	08:12:59.971	gatt.readCharacteristic(00002a01-0000-1000-8000-00805f9b34fb)
    I	08:13:02.960	Read Response received from 00002a01-0000-1000-8000-00805f9b34fb, value: (0x) 40-02
    A	08:13:02.960	"[576] Generic Keyring (Generic category)" received
    V	08:13:02.963	Reading characteristic 00002a04-0000-1000-8000-00805f9b34fb
    D	08:13:02.963	gatt.readCharacteristic(00002a04-0000-1000-8000-00805f9b34fb)
    I	08:13:04.958	Read Response received from 00002a04-0000-1000-8000-00805f9b34fb, value: (0x) 90-01-20-03-00-00-90-01
    A	08:13:04.958	"Connection Interval: 500.00ms - 1000.00ms,
    Slave Latency: 0,
    Supervision Timeout Multiplier: 400" received
    V	08:13:04.963	Reading characteristic 00002a23-0000-1000-8000-00805f9b34fb
    D	08:13:04.963	gatt.readCharacteristic(00002a23-0000-1000-8000-00805f9b34fb)
    I	08:13:06.952	Read Response received from 00002a23-0000-1000-8000-00805f9b34fb, value: (0x) 75-71-82-37-40-D8-00-00
    A	08:13:06.952	"(0x) 75-71-82-37-40-D8-00-00" received
    V	08:13:06.957	Reading characteristic 00002a26-0000-1000-8000-00805f9b34fb
    D	08:13:06.957	gatt.readCharacteristic(00002a26-0000-1000-8000-00805f9b34fb)
    I	08:13:08.947	Read Response received from 00002a26-0000-1000-8000-00805f9b34fb, value: (0x) 57-47-58-32-30-31-36-31-31-30-38-32-33-32-38-33-35-4E-00-00
    A	08:13:08.947	"WGX20161108232835N" received
    V	08:13:08.959	Reading characteristic 00002a27-0000-1000-8000-00805f9b34fb
    D	08:13:08.959	gatt.readCharacteristic(00002a27-0000-1000-8000-00805f9b34fb)
    I	08:13:10.941	Read Response received from 00002a27-0000-1000-8000-00805f9b34fb, value: (0x) 4E-52-46-35-31-38-32-32-51-46-41-41-48-30-00-00-00-00-00-00
    A	08:13:10.941	"NRF51822QFAAH0" received
    V	08:13:10.952	Reading characteristic 00002a28-0000-1000-8000-00805f9b34fb
    D	08:13:10.952	gatt.readCharacteristic(00002a28-0000-1000-8000-00805f9b34fb)
    I	08:13:14.930	Read Response received from 00002a28-0000-1000-8000-00805f9b34fb, value: (0x) 6E-52-46-35-5F-53-44-4B-5F-31-31-2E-30-2E-30-5F-38-39-61-38-31-39-37-00-00
    A	08:13:14.930	"nRF5_SDK_11.0.0_89a8197" received
    V	08:13:14.939	Reading characteristic 0000ffa1-0000-1000-8000-00805f9b34fb
    D	08:13:14.939	gatt.readCharacteristic(0000ffa1-0000-1000-8000-00805f9b34fb)
    I	08:13:16.927	Read Response received from 0000ffa1-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:16.927	"(0x) 00" received
    V	08:13:16.936	Reading characteristic 0000ffa2-0000-1000-8000-00805f9b34fb
    D	08:13:16.936	gatt.readCharacteristic(0000ffa2-0000-1000-8000-00805f9b34fb)
    I	08:13:18.921	Read Response received from 0000ffa2-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:18.921	"(0x) 00" received
    V	08:13:18.934	Reading characteristic 0000ffa3-0000-1000-8000-00805f9b34fb
    D	08:13:18.934	gatt.readCharacteristic(0000ffa3-0000-1000-8000-00805f9b34fb)
    I	08:13:20.915	Read Response received from 0000ffa3-0000-1000-8000-00805f9b34fb, value: (0x) 01-01
    A	08:13:20.915	"(0x) 01-01" received
    V	08:13:20.926	Reading characteristic 0000ffa4-0000-1000-8000-00805f9b34fb
    D	08:13:20.927	gatt.readCharacteristic(0000ffa4-0000-1000-8000-00805f9b34fb)
    I	08:13:22.910	Read Response received from 0000ffa4-0000-1000-8000-00805f9b34fb, value: (0x) C1-FF
    A	08:13:22.910	"(0x) C1-FF" received
    V	08:13:22.918	Reading characteristic 0000ffa5-0000-1000-8000-00805f9b34fb
    D	08:13:22.918	gatt.readCharacteristic(0000ffa5-0000-1000-8000-00805f9b34fb)
    I	08:13:24.905	Read Response received from 0000ffa5-0000-1000-8000-00805f9b34fb, value: (0x) 00-00
    A	08:13:24.905	"(0x) 00-00" received
    V	08:13:24.915	Reading characteristic 0000ffb1-0000-1000-8000-00805f9b34fb
    D	08:13:24.915	gatt.readCharacteristic(0000ffb1-0000-1000-8000-00805f9b34fb)
    I	08:13:26.896	Read Response received from 0000ffb1-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:26.896	"(0x) 00" received
    V	08:13:26.905	Reading characteristic 0000ffb2-0000-1000-8000-00805f9b34fb
    D	08:13:26.905	gatt.readCharacteristic(0000ffb2-0000-1000-8000-00805f9b34fb)
    I	08:13:28.896	Read Response received from 0000ffb2-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:28.896	"(0x) 00" received
    V	08:13:28.897	Reading characteristic 0000ffb3-0000-1000-8000-00805f9b34fb
    D	08:13:28.897	gatt.readCharacteristic(0000ffb3-0000-1000-8000-00805f9b34fb)
    I	08:13:30.891	Read Response received from 0000ffb3-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:30.891	"(0x) 00" received
    V	08:13:30.905	Reading characteristic 0000fff1-0000-1000-8000-00805f9b34fb
    D	08:13:30.905	gatt.readCharacteristic(0000fff1-0000-1000-8000-00805f9b34fb)
    I	08:13:32.883	Read Response received from 0000fff1-0000-1000-8000-00805f9b34fb, value: (0x) 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    A	08:13:32.883	"(0x) 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" received
    V	08:13:32.894	Reading characteristic 0000fff2-0000-1000-8000-00805f9b34fb
    D	08:13:32.895	gatt.readCharacteristic(0000fff2-0000-1000-8000-00805f9b34fb)
    I	08:13:34.881	Read Response received from 0000fff2-0000-1000-8000-00805f9b34fb, value: (0x) 00-00
    A	08:13:34.881	"(0x) 00-00" received
    V	08:13:34.892	Reading characteristic 0000fff3-0000-1000-8000-00805f9b34fb
    D	08:13:34.892	gatt.readCharacteristic(0000fff3-0000-1000-8000-00805f9b34fb)
    I	08:13:36.871	Read Response received from 0000fff3-0000-1000-8000-00805f9b34fb, value: (0x) 00-00
    A	08:13:36.871	"(0x) 00-00" received
    V	08:13:36.876	Reading characteristic 0000fff4-0000-1000-8000-00805f9b34fb
    D	08:13:36.876	gatt.readCharacteristic(0000fff4-0000-1000-8000-00805f9b34fb)
    I	08:13:38.868	Read Response received from 0000fff4-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:38.868	"(0x) 00" received
    V	08:13:38.868	Reading characteristic 0000fff5-0000-1000-8000-00805f9b34fb
    D	08:13:38.869	gatt.readCharacteristic(0000fff5-0000-1000-8000-00805f9b34fb)
    I	08:13:40.863	Read Response received from 0000fff5-0000-1000-8000-00805f9b34fb, value: (0x) 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    A	08:13:40.863	"(0x) 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" received
    V	08:13:40.866	Reading characteristic 0000fff6-0000-1000-8000-00805f9b34fb
    D	08:13:40.866	gatt.readCharacteristic(0000fff6-0000-1000-8000-00805f9b34fb)
    I	08:13:42.860	Read Response received from 0000fff6-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:42.860	"(0x) 00" received
    V	08:13:42.866	Reading characteristic 0000fff7-0000-1000-8000-00805f9b34fb
    D	08:13:42.866	gatt.readCharacteristic(0000fff7-0000-1000-8000-00805f9b34fb)
    I	08:13:44.851	Read Response received from 0000fff7-0000-1000-8000-00805f9b34fb, value: (0x) 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    A	08:13:44.851	"(0x) 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" received
    V	08:13:44.854	Reading characteristic 0000fff8-0000-1000-8000-00805f9b34fb
    D	08:13:44.854	gatt.readCharacteristic(0000fff8-0000-1000-8000-00805f9b34fb)
    I	08:13:46.847	Read Response received from 0000fff8-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:46.847	"(0x) 00" received
    V	08:13:46.850	Reading characteristic 0000fffe-0000-1000-8000-00805f9b34fb
    D	08:13:46.850	gatt.readCharacteristic(0000fffe-0000-1000-8000-00805f9b34fb)
    I	08:13:48.845	Read Response received from 0000fffe-0000-1000-8000-00805f9b34fb, value: (0x) 00-00
    A	08:13:48.845	"(0x) 00-00" received
    V	08:13:48.850	Reading characteristic 00002a19-0000-1000-8000-00805f9b34fb
    D	08:13:48.850	gatt.readCharacteristic(00002a19-0000-1000-8000-00805f9b34fb)
    I	08:13:50.839	Read Response received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 64, "d"
    A	08:13:50.839	"100%" received
    V	08:13:50.843	25 characteristics read

Reply
  • The device connected is a sealed box, only access to it's secrets is the Nordic Android tool. I have the following log file and partial snapshot to offer:

    nRF Connect, 2020-02-19
    WGX_iBeacon (D8:40:37:82:71:75)
    I	08:11:46.114	[Server] Server started
    V	08:11:46.139	Heart Rate (0x180D)
    - Heart Rate Measurement [N] (0x2A37)
       Client Characteristic Configuration (0x2902)
    - Body Sensor Location [R] (0x2A38)
    - Heart Rate Control Point [W] (0x2A39)
    Unknown Service (0000aaa0-0000-1000-8000-aabbccddeeff)
    - Unknown Characteristic [N R] (0000aaa1-0000-1000-8000-aabbccddeeff)
       Client Characteristic Configuration (0x2902)
       Unknown Descriptor (0000aab0-0000-1000-8000-aabbccddeeff)
       Characteristic User Description (0x2901)
       Characteristic Presentation Format (0x2904)
    - Unknown Characteristic [I W WNR] (0000aaa2-0000-1000-8000-aabbccddeeff)
       Client Characteristic Configuration (0x2902)
    User Data (0x181C)
    - First Name [R W] (0x2A8A)
    - Last Name [R W] (0x2A90)
    - Gender [R W] (0x2A8C)
    V	08:11:46.460	Connecting to D8:40:37:82:71:75...
    D	08:11:46.460	gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
    D	08:11:46.767	[Server callback] Connection state changed with status: 0 and new state: CONNECTED (2)
    I	08:11:46.767	[Server] Device with address D8:40:37:82:71:75 connected
    D	08:11:46.781	[Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
    I	08:11:46.781	Connected to D8:40:37:82:71:75
    D	08:11:46.789	[Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
    V	08:11:46.805	Discovering services...
    D	08:11:46.805	gatt.discoverServices()
    D	08:11:46.812	[Callback] Services discovered with status: 0
    I	08:11:46.813	Services discovered
    V	08:11:46.827	Generic Access (0x1800)
    - Device Name [R W] (0x2A00)
    - Appearance [R] (0x2A01)
    - Peripheral Preferred Connection Parameters [R] (0x2A04)
    Generic Attribute (0x1801)
    Device Information (0x180A)
    - System ID [R] (0x2A23)
    - Firmware Revision String [R] (0x2A26)
    - Hardware Revision String [R] (0x2A27)
    - Software Revision String [R] (0x2A28)
    Unknown Service (0000ffa0-0000-1000-8000-00805f9b34fb)
    - Unknown Characteristic [R W] (0000ffa1-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000ffa2-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [N R] (0000ffa3-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
       Client Characteristic Configuration (0x2902)
    - Unknown Characteristic [N R] (0000ffa4-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
       Client Characteristic Configuration (0x2902)
    - Unknown Characteristic [N R] (0000ffa5-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
       Client Characteristic Configuration (0x2902)
    Unknown Service (0000ffb0-0000-1000-8000-00805f9b34fb)
    - Unknown Characteristic [R W] (0000ffb1-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000ffb2-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [N R] (0000ffb3-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
       Client Characteristic Configuration (0x2902)
    Unknown Service (0000fff0-0000-1000-8000-00805f9b34fb)
    - Unknown Characteristic [R W] (0000fff1-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fff2-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fff3-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fff4-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fff5-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fff6-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fff7-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fff8-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [W] (0000fff9-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [R W] (0000fffe-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    - Unknown Characteristic [W] (0000ffff-0000-1000-8000-00805f9b34fb)
       Characteristic User Description (0x2901)
    Battery Service (0x180F)
    - Battery Level [N R] (0x2A19)
       Client Characteristic Configuration (0x2902)
    D	08:11:46.828	gatt.setCharacteristicNotification(0000ffa3-0000-1000-8000-00805f9b34fb, true)
    D	08:11:46.829	gatt.setCharacteristicNotification(0000ffa4-0000-1000-8000-00805f9b34fb, true)
    D	08:11:46.830	gatt.setCharacteristicNotification(0000ffa5-0000-1000-8000-00805f9b34fb, true)
    D	08:11:46.831	gatt.setCharacteristicNotification(0000ffb3-0000-1000-8000-00805f9b34fb, true)
    D	08:11:46.832	gatt.setCharacteristicNotification(00002a19-0000-1000-8000-00805f9b34fb, true)
    I	08:11:52.141	Connection parameters updated (interval: 997.5ms, latency: 0, timeout: 4000ms)
    V	08:12:58.877	Reading all characteristics...
    V	08:12:58.877	Reading characteristic 00002a00-0000-1000-8000-00805f9b34fb
    D	08:12:58.877	gatt.readCharacteristic(00002a00-0000-1000-8000-00805f9b34fb)
    I	08:12:59.966	Read Response received from 00002a00-0000-1000-8000-00805f9b34fb, value: (0x) 57-47-58-5F-69-42-65-61-63-6F-6E, "WGX_iBeacon"
    A	08:12:59.966	"WGX_iBeacon" received
    V	08:12:59.971	Reading characteristic 00002a01-0000-1000-8000-00805f9b34fb
    D	08:12:59.971	gatt.readCharacteristic(00002a01-0000-1000-8000-00805f9b34fb)
    I	08:13:02.960	Read Response received from 00002a01-0000-1000-8000-00805f9b34fb, value: (0x) 40-02
    A	08:13:02.960	"[576] Generic Keyring (Generic category)" received
    V	08:13:02.963	Reading characteristic 00002a04-0000-1000-8000-00805f9b34fb
    D	08:13:02.963	gatt.readCharacteristic(00002a04-0000-1000-8000-00805f9b34fb)
    I	08:13:04.958	Read Response received from 00002a04-0000-1000-8000-00805f9b34fb, value: (0x) 90-01-20-03-00-00-90-01
    A	08:13:04.958	"Connection Interval: 500.00ms - 1000.00ms,
    Slave Latency: 0,
    Supervision Timeout Multiplier: 400" received
    V	08:13:04.963	Reading characteristic 00002a23-0000-1000-8000-00805f9b34fb
    D	08:13:04.963	gatt.readCharacteristic(00002a23-0000-1000-8000-00805f9b34fb)
    I	08:13:06.952	Read Response received from 00002a23-0000-1000-8000-00805f9b34fb, value: (0x) 75-71-82-37-40-D8-00-00
    A	08:13:06.952	"(0x) 75-71-82-37-40-D8-00-00" received
    V	08:13:06.957	Reading characteristic 00002a26-0000-1000-8000-00805f9b34fb
    D	08:13:06.957	gatt.readCharacteristic(00002a26-0000-1000-8000-00805f9b34fb)
    I	08:13:08.947	Read Response received from 00002a26-0000-1000-8000-00805f9b34fb, value: (0x) 57-47-58-32-30-31-36-31-31-30-38-32-33-32-38-33-35-4E-00-00
    A	08:13:08.947	"WGX20161108232835N" received
    V	08:13:08.959	Reading characteristic 00002a27-0000-1000-8000-00805f9b34fb
    D	08:13:08.959	gatt.readCharacteristic(00002a27-0000-1000-8000-00805f9b34fb)
    I	08:13:10.941	Read Response received from 00002a27-0000-1000-8000-00805f9b34fb, value: (0x) 4E-52-46-35-31-38-32-32-51-46-41-41-48-30-00-00-00-00-00-00
    A	08:13:10.941	"NRF51822QFAAH0" received
    V	08:13:10.952	Reading characteristic 00002a28-0000-1000-8000-00805f9b34fb
    D	08:13:10.952	gatt.readCharacteristic(00002a28-0000-1000-8000-00805f9b34fb)
    I	08:13:14.930	Read Response received from 00002a28-0000-1000-8000-00805f9b34fb, value: (0x) 6E-52-46-35-5F-53-44-4B-5F-31-31-2E-30-2E-30-5F-38-39-61-38-31-39-37-00-00
    A	08:13:14.930	"nRF5_SDK_11.0.0_89a8197" received
    V	08:13:14.939	Reading characteristic 0000ffa1-0000-1000-8000-00805f9b34fb
    D	08:13:14.939	gatt.readCharacteristic(0000ffa1-0000-1000-8000-00805f9b34fb)
    I	08:13:16.927	Read Response received from 0000ffa1-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:16.927	"(0x) 00" received
    V	08:13:16.936	Reading characteristic 0000ffa2-0000-1000-8000-00805f9b34fb
    D	08:13:16.936	gatt.readCharacteristic(0000ffa2-0000-1000-8000-00805f9b34fb)
    I	08:13:18.921	Read Response received from 0000ffa2-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:18.921	"(0x) 00" received
    V	08:13:18.934	Reading characteristic 0000ffa3-0000-1000-8000-00805f9b34fb
    D	08:13:18.934	gatt.readCharacteristic(0000ffa3-0000-1000-8000-00805f9b34fb)
    I	08:13:20.915	Read Response received from 0000ffa3-0000-1000-8000-00805f9b34fb, value: (0x) 01-01
    A	08:13:20.915	"(0x) 01-01" received
    V	08:13:20.926	Reading characteristic 0000ffa4-0000-1000-8000-00805f9b34fb
    D	08:13:20.927	gatt.readCharacteristic(0000ffa4-0000-1000-8000-00805f9b34fb)
    I	08:13:22.910	Read Response received from 0000ffa4-0000-1000-8000-00805f9b34fb, value: (0x) C1-FF
    A	08:13:22.910	"(0x) C1-FF" received
    V	08:13:22.918	Reading characteristic 0000ffa5-0000-1000-8000-00805f9b34fb
    D	08:13:22.918	gatt.readCharacteristic(0000ffa5-0000-1000-8000-00805f9b34fb)
    I	08:13:24.905	Read Response received from 0000ffa5-0000-1000-8000-00805f9b34fb, value: (0x) 00-00
    A	08:13:24.905	"(0x) 00-00" received
    V	08:13:24.915	Reading characteristic 0000ffb1-0000-1000-8000-00805f9b34fb
    D	08:13:24.915	gatt.readCharacteristic(0000ffb1-0000-1000-8000-00805f9b34fb)
    I	08:13:26.896	Read Response received from 0000ffb1-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:26.896	"(0x) 00" received
    V	08:13:26.905	Reading characteristic 0000ffb2-0000-1000-8000-00805f9b34fb
    D	08:13:26.905	gatt.readCharacteristic(0000ffb2-0000-1000-8000-00805f9b34fb)
    I	08:13:28.896	Read Response received from 0000ffb2-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:28.896	"(0x) 00" received
    V	08:13:28.897	Reading characteristic 0000ffb3-0000-1000-8000-00805f9b34fb
    D	08:13:28.897	gatt.readCharacteristic(0000ffb3-0000-1000-8000-00805f9b34fb)
    I	08:13:30.891	Read Response received from 0000ffb3-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:30.891	"(0x) 00" received
    V	08:13:30.905	Reading characteristic 0000fff1-0000-1000-8000-00805f9b34fb
    D	08:13:30.905	gatt.readCharacteristic(0000fff1-0000-1000-8000-00805f9b34fb)
    I	08:13:32.883	Read Response received from 0000fff1-0000-1000-8000-00805f9b34fb, value: (0x) 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    A	08:13:32.883	"(0x) 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" received
    V	08:13:32.894	Reading characteristic 0000fff2-0000-1000-8000-00805f9b34fb
    D	08:13:32.895	gatt.readCharacteristic(0000fff2-0000-1000-8000-00805f9b34fb)
    I	08:13:34.881	Read Response received from 0000fff2-0000-1000-8000-00805f9b34fb, value: (0x) 00-00
    A	08:13:34.881	"(0x) 00-00" received
    V	08:13:34.892	Reading characteristic 0000fff3-0000-1000-8000-00805f9b34fb
    D	08:13:34.892	gatt.readCharacteristic(0000fff3-0000-1000-8000-00805f9b34fb)
    I	08:13:36.871	Read Response received from 0000fff3-0000-1000-8000-00805f9b34fb, value: (0x) 00-00
    A	08:13:36.871	"(0x) 00-00" received
    V	08:13:36.876	Reading characteristic 0000fff4-0000-1000-8000-00805f9b34fb
    D	08:13:36.876	gatt.readCharacteristic(0000fff4-0000-1000-8000-00805f9b34fb)
    I	08:13:38.868	Read Response received from 0000fff4-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:38.868	"(0x) 00" received
    V	08:13:38.868	Reading characteristic 0000fff5-0000-1000-8000-00805f9b34fb
    D	08:13:38.869	gatt.readCharacteristic(0000fff5-0000-1000-8000-00805f9b34fb)
    I	08:13:40.863	Read Response received from 0000fff5-0000-1000-8000-00805f9b34fb, value: (0x) 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    A	08:13:40.863	"(0x) 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" received
    V	08:13:40.866	Reading characteristic 0000fff6-0000-1000-8000-00805f9b34fb
    D	08:13:40.866	gatt.readCharacteristic(0000fff6-0000-1000-8000-00805f9b34fb)
    I	08:13:42.860	Read Response received from 0000fff6-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:42.860	"(0x) 00" received
    V	08:13:42.866	Reading characteristic 0000fff7-0000-1000-8000-00805f9b34fb
    D	08:13:42.866	gatt.readCharacteristic(0000fff7-0000-1000-8000-00805f9b34fb)
    I	08:13:44.851	Read Response received from 0000fff7-0000-1000-8000-00805f9b34fb, value: (0x) 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    A	08:13:44.851	"(0x) 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" received
    V	08:13:44.854	Reading characteristic 0000fff8-0000-1000-8000-00805f9b34fb
    D	08:13:44.854	gatt.readCharacteristic(0000fff8-0000-1000-8000-00805f9b34fb)
    I	08:13:46.847	Read Response received from 0000fff8-0000-1000-8000-00805f9b34fb, value: (0x) 00
    A	08:13:46.847	"(0x) 00" received
    V	08:13:46.850	Reading characteristic 0000fffe-0000-1000-8000-00805f9b34fb
    D	08:13:46.850	gatt.readCharacteristic(0000fffe-0000-1000-8000-00805f9b34fb)
    I	08:13:48.845	Read Response received from 0000fffe-0000-1000-8000-00805f9b34fb, value: (0x) 00-00
    A	08:13:48.845	"(0x) 00-00" received
    V	08:13:48.850	Reading characteristic 00002a19-0000-1000-8000-00805f9b34fb
    D	08:13:48.850	gatt.readCharacteristic(00002a19-0000-1000-8000-00805f9b34fb)
    I	08:13:50.839	Read Response received from 00002a19-0000-1000-8000-00805f9b34fb, value: (0x) 64, "d"
    A	08:13:50.839	"100%" received
    V	08:13:50.843	25 characteristics read

Children
No Data
Related