Hello people,
Honestly this is a problem more related to a Raspberry Pi than the nRF52832 but I'm getting same difficulties here so I will explain my situation.
I have been working with several different sensors with BLE based communications, I made reverse engineering to this devices to get and read their data when they made measurements, mostly health based devices are involved in my research.
I have an OMRON BP7350 BPM sensor, that is able to measure my blood pressure successfully with the manufacturer android app but also with the nRF Connect android app, which I will attach the log messages from this report in this thread. Here you can see that I'm able to get the data (indication response) easily.
nRF Connect, 2020-06-03 BLESmart_0000015328FFB28ADF2F (28:FF:B2:8A:DF:2F) V 14:59:11.616 Connecting to 28:FF:B2:8A:DF:2F... D 14:59:11.616 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M) D 14:59:11.901 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2) I 14:59:11.901 Connected to 28:FF:B2:8A:DF:2F D 14:59:11.902 wait(1600ms) D 14:59:11.935 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED I 14:59:12.464 Connection parameters updated (interval: 30.0ms, latency: 0, timeout: 2000ms) V 14:59:13.503 Discovering services... D 14:59:13.503 gatt.discoverServices() D 14:59:13.518 [Callback] Services discovered with status: 0 I 14:59:13.518 Services discovered V 14:59:13.567 Generic Access (0x1800) - Device Name [R] (0x2A00) - Appearance [R] (0x2A01) - Peripheral Privacy Flag [R W WNR] (0x2A02) - Reconnection Address [R] (0x2A03) - Peripheral Preferred Connection Parameters [R] (0x2A04) Generic Attribute (0x1801) - Service Changed [I] (0x2A05) Client Characteristic Configuration (0x2902) Device Information (0x180A) - System ID [R] (0x2A23) - Model Number String [R] (0x2A24) - Serial Number String [R] (0x2A25) - Firmware Revision String [R] (0x2A26) - Hardware Revision String [R] (0x2A27) - Software Revision String [R] (0x2A28) - Manufacturer Name String [R] (0x2A29) - IEEE 11073-20601 Regulatory Certification Data List [R] (0x2A2A) Unknown Service (ecbe3980-c9a2-11e1-b1bd-0002a5d5c51b) - Unknown Characteristic [N R W WNR] (b305b680-aee7-11e1-a730-0002a5d5c51b) Client Characteristic Configuration (0x2902) - Unknown Characteristic [W WNR] (db5b55e0-aee7-11e1-965e-0002a5d5c51b) - Unknown Characteristic [W WNR] (e0b8a060-aee7-11e1-92f4-0002a5d5c51b) - Unknown Characteristic [W WNR] (0ae12b00-aee8-11e1-a192-0002a5d5c51b) - Unknown Characteristic [W WNR] (10e1ba60-aee8-11e1-89e5-0002a5d5c51b) - Unknown Characteristic [N R] (49123040-aee8-11e1-a74d-0002a5d5c51b) Client Characteristic Configuration (0x2902) - Unknown Characteristic [N R] (4d0bf320-aee8-11e1-a0d9-0002a5d5c51b) Client Characteristic Configuration (0x2902) - Unknown Characteristic [N R] (5128ce60-aee8-11e1-b84b-0002a5d5c51b) Client Characteristic Configuration (0x2902) - Unknown Characteristic [N R] (560f1420-aee8-11e1-8184-0002a5d5c51b) Client Characteristic Configuration (0x2902) - Unknown Characteristic [N] (8858eb40-aee8-11e1-bb67-0002a5d5c51b) Client Characteristic Configuration (0x2902) Battery Service (0x180F) - Battery Level [N R] (0x2A19) Client Characteristic Configuration (0x2902) Current Time Service (0x1805) - Current Time [N R W] (0x2A2B) Client Characteristic Configuration (0x2902) Unknown Service (5df5e817-a945-4f81-89c0-3d4e9759c07c) - Record Access Control Point [I W] (0x2A52) Client Characteristic Configuration (0x2902) - Unknown Characteristic [I] (c195da8a-0e23-4582-acd8-d446c77c45de) Client Characteristic Configuration (0x2902) User Data (0x181C) - Database Change Increment [N R W] (0x2A99) Client Characteristic Configuration (0x2902) - User Index [R] (0x2A9A) - User Control Point [I W] (0x2A9F) Client Characteristic Configuration (0x2902) - Date of Birth [R W] (0x2A85) Blood Pressure (0x1810) - Blood Pressure Measurement [I] (0x2A35) Client Characteristic Configuration (0x2902) - Blood Pressure Feature [R] (0x2A49) D 14:59:13.568 gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true) D 14:59:13.571 gatt.setCharacteristicNotification(b305b680-aee7-11e1-a730-0002a5d5c51b, true) D 14:59:13.573 gatt.setCharacteristicNotification(49123040-aee8-11e1-a74d-0002a5d5c51b, true) D 14:59:13.574 gatt.setCharacteristicNotification(4d0bf320-aee8-11e1-a0d9-0002a5d5c51b, true) D 14:59:13.576 gatt.setCharacteristicNotification(5128ce60-aee8-11e1-b84b-0002a5d5c51b, true) D 14:59:13.577 gatt.setCharacteristicNotification(560f1420-aee8-11e1-8184-0002a5d5c51b, true) D 14:59:13.579 gatt.setCharacteristicNotification(8858eb40-aee8-11e1-bb67-0002a5d5c51b, true) D 14:59:13.581 gatt.setCharacteristicNotification(00002a19-0000-1000-8000-00805f9b34fb, true) D 14:59:13.584 gatt.setCharacteristicNotification(00002a2b-0000-1000-8000-00805f9b34fb, true) D 14:59:13.585 gatt.setCharacteristicNotification(00002a52-0000-1000-8000-00805f9b34fb, true) D 14:59:13.587 gatt.setCharacteristicNotification(c195da8a-0e23-4582-acd8-d446c77c45de, true) D 14:59:13.588 gatt.setCharacteristicNotification(00002a99-0000-1000-8000-00805f9b34fb, true) D 14:59:13.589 gatt.setCharacteristicNotification(00002a9f-0000-1000-8000-00805f9b34fb, true) D 14:59:13.590 gatt.setCharacteristicNotification(00002a35-0000-1000-8000-00805f9b34fb, true) V 14:59:37.265 Disabling indications for 00002a35-0000-1000-8000-00805f9b34fb D 14:59:37.267 gatt.setCharacteristicNotification(00002a35-0000-1000-8000-00805f9b34fb, false) D 14:59:37.278 gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x0000) I 14:59:37.454 Data written to descr. 00002902-0000-1000-8000-00805f9b34fb, value: (0x) 00-00 A 14:59:37.454 "Notifications and indications disabled" sent V 14:59:37.480 Notifications and indications disabled for 00002a35-0000-1000-8000-00805f9b34fb V 14:59:39.728 Enabling indications for 00002a35-0000-1000-8000-00805f9b34fb D 14:59:39.728 gatt.setCharacteristicNotification(00002a35-0000-1000-8000-00805f9b34fb, true) D 14:59:39.730 gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x0200) I 14:59:39.793 Data written to descr. 00002902-0000-1000-8000-00805f9b34fb, value: (0x) 02-00 A 14:59:39.793 "Indications enabled" sent V 14:59:39.805 Indications enabled for 00002a35-0000-1000-8000-00805f9b34fb I 14:59:40.592 Indication received from 00002a35-0000-1000-8000-00805f9b34fb, value: (0x) 1E-70-00-4B-00-57-00-E4-07-06-03-0B-1F-1F-46-00-01-00-00 A 14:59:40.592 "Systolic: 112.0 mmHg Diastolic: 75.0 mmHg Mean AP: 87.0 mmHg Timestamp: 11:31:31 2.07.2020 Pulse: 70.0 bpm User ID: 1" received I 14:59:40.635 Indication received from 00002a35-0000-1000-8000-00805f9b34fb, value: (0x) 1E-71-00-4B-00-57-00-E4-07-06-03-0E-15-26-52-00-01-00-00 A 14:59:40.635 "Systolic: 113.0 mmHg Diastolic: 75.0 mmHg Mean AP: 87.0 mmHg Timestamp: 14:21:38 2.07.2020 Pulse: 82.0 bpm User ID: 1" received D 14:59:48.769 [Callback] Connection state changed with status: 19 and new state: DISCONNECTED (0) W 14:59:48.770 Connection terminated by peer (status 19) I 14:59:48.770 Disconnected D 14:59:48.840 [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED
What I see is that I want to replicate the same readings in the nRF Connect v3.33 windows program but I'm unable to get the indications back, all I get is this error message when I try to subscribe to the indication handle: