ESP32

ESP32, Bluetooth, ble_spp_server, ble_spp_client

CoyoteUgly 2018. 8. 21. 21:04

ESP32, Bluetooth, ble_spp_server, ble_spp_client




spp를 간단하게 표현하면 채팅 같은 것이라 생각하면 됨


server heartbeat 전송 -> client 수신 정상

client heartbeat 전송 오류, 이유 모름


server terminal 입력, 전송 -> client 수신 정상

client terminal 입력, 전송 -> server 수신 정상



0. 참고 사이트


1. 모듈


2. 보드 연결


3. 소스 설명

ble_spp_client 소스에서 아래 2개의 define 문이 없어서 추가함

//#define SPP_DEBUG_MODE
#define SUPPORT_HEARTBEAT

4. 소스

https://github.com/sglee0223/esp32/tree/master/ble_spp_server


https://github.com/sglee0223/esp32/tree/master/ble_spp_client


5. 결과 확인

ble_spp 소스에서

heartbeat를 쓰는 경우와

terminal_input을 쓰는 경우에 대한 로그입니다.


heartbeat server log


server 에서 heartbeat string으로 "Espressif"을 보냄


I (0) cpu_start: App cpu up.
I (409) heap_init: Initializing. RAM available for dynamic allocation:
I (416) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (422) heap_init: At 3FFCCD50 len 000132B0 (76 KiB): DRAM
I (428) heap_init: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM
I (434) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (441) heap_init: At 40092708 len 0000D8F8 (54 KiB): IRAM
I (447) cpu_start: Pro cpu start user code
I (129) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (210) BTDM_INIT: BT controller compile version [a9156c1]

I (210) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (270) phy: phy_version: 3960, 5211945, Jul 18 2018, 10:40:07, 0, 0
I (510) GATTS_SPP_SERVER: app_main init bluetooth

I (550) GATTS_SPP_SERVER: gatts_event_handler 636
I (550) GATTS_SPP_SERVER: EVT 0, gatts if 3
I (550) GATTS_SPP_SERVER: gatts_profile_event_handler 493
I (550) GATTS_SPP_SERVER: event = 0x0
I (560) GATTS_SPP_SERVER: gatts_profile_event_handler 497

I (560) GATTS_SPP_SERVER: gatts_profile_event_handler 500

I (570) GATTS_SPP_SERVER: gatts_profile_event_handler 503

I (580) GATTS_SPP_SERVER: gatts_event_handler 636
I (580) GATTS_SPP_SERVER: EVT 22, gatts if 3
I (580) GATTS_SPP_SERVER: gatts_profile_event_handler 493
I (590) GATTS_SPP_SERVER: event = 0x16
I (590) GATTS_SPP_SERVER: The number handle =e

E (600) GATTS_SPP_SERVER: GAP_EVT, event 4

I (610) GATTS_SPP_SERVER: gatts_event_handler 636
I (610) GATTS_SPP_SERVER: EVT 12, gatts if 3
I (620) GATTS_SPP_SERVER: gatts_profile_event_handler 493
I (620) GATTS_SPP_SERVER: event = 0xc
E (630) GATTS_SPP_SERVER: GAP_EVT, event 6

I (630) uart: queue free spaces: 10
I (860) GATTS_SPP_SERVER: gatts_event_handler 636
I (860) GATTS_SPP_SERVER: EVT 14, gatts if 3
I (860) GATTS_SPP_SERVER: gatts_profile_event_handler 493
I (860) GATTS_SPP_SERVER: event = 0xe
I (1410) GATTS_SPP_SERVER: gatts_event_handler 636
I (1410) GATTS_SPP_SERVER: EVT 4, gatts if 3
I (1410) GATTS_SPP_SERVER: gatts_profile_event_handler 493
I (1420) GATTS_SPP_SERVER: event = 0x4
I (1560) GATTS_SPP_SERVER: gatts_event_handler 636
I (1560) GATTS_SPP_SERVER: EVT 2, gatts if 3
I (1560) GATTS_SPP_SERVER: gatts_profile_event_handler 493
I (1570) GATTS_SPP_SERVER: event = 0x2
I (1570) GATTS_SPP_SERVER: gatts_profile_event_handler 515
I (1580) GATTS_SPP_SERVER: ESP_GATTS_WRITE_EVT : handle = 5

I (1650) GATTS_SPP_SERVER: gatts_event_handler 636
I (1650) GATTS_SPP_SERVER: EVT 2, gatts if 3
I (1650) GATTS_SPP_SERVER: gatts_profile_event_handler 493
I (1660) GATTS_SPP_SERVER: event = 0x2
I (1660) GATTS_SPP_SERVER: gatts_profile_event_handler 515
I (1670) GATTS_SPP_SERVER: ESP_GATTS_WRITE_EVT : handle = 10

I (1760) GATTS_SPP_SERVER: gatts_event_handler 636
I (1760) GATTS_SPP_SERVER: EVT 2, gatts if 3
I (1760) GATTS_SPP_SERVER: gatts_profile_event_handler 493
I (1760) GATTS_SPP_SERVER: event = 0x2
I (1770) GATTS_SPP_SERVER: gatts_profile_event_handler 515
I (1770) GATTS_SPP_SERVER: ESP_GATTS_WRITE_EVT : handle = 13

I (1800) GATTS_SPP_SERVER: gatts_event_handler 636
I (1800) GATTS_SPP_SERVER: EVT 2, gatts if 3
I (1800) GATTS_SPP_SERVER: gatts_profile_event_handler 493
I (1810) GATTS_SPP_SERVER: event = 0x2
I (1810) GATTS_SPP_SERVER: gatts_profile_event_handler 515
I (1820) GATTS_SPP_SERVER: ESP_GATTS_WRITE_EVT : handle = 12

I (5870) GATTS_SPP_SERVER: spp_heartbeat_task 426 - Espressif
I (5870) GATTS_SPP_SERVER: gatts_event_handler 636
I (5870) GATTS_SPP_SERVER: EVT 5, gatts if 3
I (5870) GATTS_SPP_SERVER: gatts_profile_event_handler 493
I (5880) GATTS_SPP_SERVER: event = 0x5
I (6800) GATTS_SPP_SERVER: gatts_event_handler 636
I (6800) GATTS_SPP_SERVER: EVT 2, gatts if 3
I (6800) GATTS_SPP_SERVER: gatts_profile_event_handler 493
I (6800) GATTS_SPP_SERVER: event = 0x2
I (6810) GATTS_SPP_SERVER: gatts_profile_event_handler 515
I (6810) GATTS_SPP_SERVER: ESP_GATTS_WRITE_EVT : handle = 12

I (10870) GATTS_SPP_SERVER: spp_heartbeat_task 426 - Espressif
I (10870) GATTS_SPP_SERVER: gatts_event_handler 636
I (10870) GATTS_SPP_SERVER: EVT 5, gatts if 3
I (10870) GATTS_SPP_SERVER: gatts_profile_event_handler 493
I (10880) GATTS_SPP_SERVER: event = 0x5
I (11790) GATTS_SPP_SERVER: gatts_event_handler 636
I (11790) GATTS_SPP_SERVER: EVT 2, gatts if 3
I (11790) GATTS_SPP_SERVER: gatts_profile_event_handler 493
I (11800) GATTS_SPP_SERVER: event = 0x2
I (11800) GATTS_SPP_SERVER: gatts_profile_event_handler 515
I (11810) GATTS_SPP_SERVER: ESP_GATTS_WRITE_EVT : handle = 12

I (15870) GATTS_SPP_SERVER: spp_heartbeat_task 426 - Espressif
I (15870) GATTS_SPP_SERVER: gatts_event_handler 636
I (15870) GATTS_SPP_SERVER: EVT 5, gatts if 3
I (15870) GATTS_SPP_SERVER: gatts_profile_event_handler 493
I (15880) GATTS_SPP_SERVER: event = 0x5
I (16800) GATTS_SPP_SERVER: gatts_event_handler 636
I (16800) GATTS_SPP_SERVER: EVT 2, gatts if 3
I (16800) GATTS_SPP_SERVER: gatts_profile_event_handler 493
I (16810) GATTS_SPP_SERVER: event = 0x2
I (16810) GATTS_SPP_SERVER: gatts_profile_event_handler 515
I (16820) GATTS_SPP_SERVER: ESP_GATTS_WRITE_EVT : handle = 12



heartbeat client log


client에서 heartbeat string으로 "Espressif"을 보냄 ( write 오류남, 이유 모름 )

server에서 들어오는 heartbeat 데이터는 정상적으로 수신함


I (0) cpu_start: App cpu up.
I (412) heap_init: Initializing. RAM available for dynamic allocation:
I (419) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (425) heap_init: At 3FFCCD68 len 00013298 (76 KiB): DRAM
I (431) heap_init: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM
I (438) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (444) heap_init: At 40092708 len 0000D8F8 (54 KiB): IRAM
I (450) cpu_start: Pro cpu start user code
I (133) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (201) BTDM_INIT: BT controller compile version [a9156c1]

I (201) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (281) phy: phy_version: 3960, 5211945, Jul 18 2018, 10:40:07, 0, 0
I (521) GATTC_SPP_CLIENT: app_main init bluetooth

I (571) GATTC_SPP_CLIENT: register callback
I (571) GATTC_SPP_CLIENT: EVT 0, gattc if 3
I (571) GATTC_SPP_CLIENT: REG EVT, set scan params
I (571) GATTC_SPP_CLIENT: Enable Ble Scan:during time 0xFFFF minutes.
I (581) GATTC_SPP_CLIENT: Scan start successed
I (591) uart: queue free spaces: 10
I (2461) GATTC_SPP_CLIENT: 30 ae a4 15 20 9e
I (2461) GATTC_SPP_CLIENT: Searched Adv Data Len 23, Scan Response Len 0
I (2461) GATTC_SPP_CLIENT: Searched Device Name Len 14
I (2471) GATTC_SPP_CLIENT: ESP_SPP_SERVER
I (2471) GATTC_SPP_CLIENT:

I (2481) GATTC_SPP_CLIENT: Scan stop successed
I (2481) GATTC_SPP_CLIENT: Connect to the remote device.
I (2541) GATTC_SPP_CLIENT: EVT 40, gattc if 3
I (2541) GATTC_SPP_CLIENT: ESP_GATTC_CONNECT_EVT: conn_id=0, gatt_if = 3
I (2551) GATTC_SPP_CLIENT: REMOTE BDA:
I (2551) GATTC_SPP_CLIENT: 00 00 00 00 00 00
I (2561) GATTC_SPP_CLIENT: EVT 2, gattc if 3
I (3051) GATTC_SPP_CLIENT: EVT 7, gattc if 3
I (3051) GATTC_SPP_CLIENT: ESP_GATTC_SEARCH_RES_EVT: start_handle = 40, end_handle = 65535, UUID:0xabf0
I (3061) GATTC_SPP_CLIENT: EVT 6, gattc if 3
I (3061) GATTC_SPP_CLIENT: SEARCH_CMPL: conn_id = 0, status 0
I (3101) GATTC_SPP_CLIENT: EVT 18, gattc if 3
I (3101) GATTC_SPP_CLIENT: +MTU:200

I (3101) GATTC_SPP_CLIENT: attr_type = PRIMARY_SERVICE,attribute_handle=40,start_handle=40,end_handle=65535,properties=0x0,uuid=0xabf0

I (3111) GATTC_SPP_CLIENT: attr_type = CHARACTERISTIC,attribute_handle=42,start_handle=0,end_handle=0,properties=0x6,uuid=0xabf1

I (3121) GATTC_SPP_CLIENT: attr_type = CHARACTERISTIC,attribute_handle=44,start_handle=0,end_handle=0,properties=0x12,uuid=0xabf2

I (3131) GATTC_SPP_CLIENT: attr_type = DESCRIPTOR,attribute_handle=45,start_handle=0,end_handle=0,properties=0x0,uuid=0x2902

I (3141) GATTC_SPP_CLIENT: attr_type = CHARACTERISTIC,attribute_handle=47,start_handle=0,end_handle=0,properties=0x6,uuid=0xabf3

I (3161) GATTC_SPP_CLIENT: attr_type = CHARACTERISTIC,attribute_handle=49,start_handle=0,end_handle=0,properties=0x12,uuid=0xabf4

I (3171) GATTC_SPP_CLIENT: attr_type = DESCRIPTOR,attribute_handle=50,start_handle=0,end_handle=0,properties=0x0,uuid=0x2902

I (3181) GATTC_SPP_CLIENT: attr_type = CHARACTERISTIC,attribute_handle=52,start_handle=0,end_handle=0,properties=0x16,uuid=0xabf5

I (3191) GATTC_SPP_CLIENT: attr_type = DESCRIPTOR,attribute_handle=53,start_handle=0,end_handle=0,properties=0x0,uuid=0x2902

I (3211) GATTC_SPP_CLIENT: Index = 2,UUID = 0xabf2, handle = 44

I (3211) GATTC_SPP_CLIENT: EVT 38, gattc if 3
I (3221) GATTC_SPP_CLIENT: Index = 2,status = 0,handle = 44

I (3251) GATTC_SPP_CLIENT: EVT 9, gattc if 3
I (3251) GATTC_SPP_CLIENT: ESP_GATTC_WRITE_DESCR_EVT: status =0,handle = 45

I (3311) GATTC_SPP_CLIENT: Index = 5,UUID = 0xabf4, handle = 49

I (3311) GATTC_SPP_CLIENT: EVT 38, gattc if 3
I (3311) GATTC_SPP_CLIENT: Index = 5,status = 0,handle = 49

I (3341) GATTC_SPP_CLIENT: EVT 9, gattc if 3
I (3341) GATTC_SPP_CLIENT: ESP_GATTC_WRITE_DESCR_EVT: status =0,handle = 50

I (3341) GATTC_SPP_CLIENT: gattc_profile_event_handler 402 - SPP_IDX_SPP_STATUS_VAL
I (3411) GATTC_SPP_CLIENT: spp_client_reg_task 494 - SPP_IDX_SPP_HEARTBEAT_VAL
I (3411) GATTC_SPP_CLIENT: Index = 7,UUID = 0xabf5, handle = 52

I (3411) GATTC_SPP_CLIENT: EVT 38, gattc if 3
I (3411) GATTC_SPP_CLIENT: Index = 7,status = 0,handle = 52

I (3441) GATTC_SPP_CLIENT: EVT 9, gattc if 3
I (3441) GATTC_SPP_CLIENT: ESP_GATTC_WRITE_DESCR_EVT: status =0,handle = 53

I (3441) GATTC_SPP_CLIENT: gattc_profile_event_handler 410 - SPP_IDX_SPP_HEARTBEAT_VAL
I (3451) GATTC_SPP_CLIENT: spp_heart_beat_task 513 - Espressif
I (3491) GATTC_SPP_CLIENT: EVT 4, gattc if 3
I (3491) GATTC_SPP_CLIENT: ESP_GATTC_WRITE_CHAR_EVT:status = 13,handle = 52
E (3491) GATTC_SPP_CLIENT: ESP_GATTC_WRITE_CHAR_EVT, error status = 13

I (7551) GATTC_SPP_CLIENT: EVT 10, gattc if 3
I (7551) GATTC_SPP_CLIENT: ESP_GATTC_NOTIFY_EVT
I (7551) GATTC_SPP_CLIENT: +NOTIFY:handle = 52,length = 9
I (7561) GATTC_SPP_CLIENT: notify_event_handler 195
I (7561) GATTC_SPP_CLIENT: Espressif
I (7571) GATTC_SPP_CLIENT:
I (8461) GATTC_SPP_CLIENT: spp_heart_beat_task 513 - Espressif
I (8481) GATTC_SPP_CLIENT: EVT 4, gattc if 3
I (8481) GATTC_SPP_CLIENT: ESP_GATTC_WRITE_CHAR_EVT:status = 13,handle = 52
E (8481) GATTC_SPP_CLIENT: ESP_GATTC_WRITE_CHAR_EVT, error status = 13

I (12551) GATTC_SPP_CLIENT: EVT 10, gattc if 3
I (12551) GATTC_SPP_CLIENT: ESP_GATTC_NOTIFY_EVT
I (12551) GATTC_SPP_CLIENT: +NOTIFY:handle = 52,length = 9
I (12551) GATTC_SPP_CLIENT: notify_event_handler 195
I (12561) GATTC_SPP_CLIENT: Espressif
I (12561) GATTC_SPP_CLIENT:
I (13461) GATTC_SPP_CLIENT: spp_heart_beat_task 513 - Espressif
I (13481) GATTC_SPP_CLIENT: EVT 4, gattc if 3
I (13481) GATTC_SPP_CLIENT: ESP_GATTC_WRITE_CHAR_EVT:status = 13,handle = 52
E (13481) GATTC_SPP_CLIENT: ESP_GATTC_WRITE_CHAR_EVT, error status = 13

I (17541) GATTC_SPP_CLIENT: EVT 10, gattc if 3
I (17541) GATTC_SPP_CLIENT: ESP_GATTC_NOTIFY_EVT
I (17541) GATTC_SPP_CLIENT: +NOTIFY:handle = 52,length = 9
I (17551) GATTC_SPP_CLIENT: notify_event_handler 195
I (17551) GATTC_SPP_CLIENT: Espressif
I (17561) GATTC_SPP_CLIENT:
I (18461) GATTC_SPP_CLIENT: spp_heart_beat_task 513 - Espressif
I (18491) GATTC_SPP_CLIENT: EVT 4, gattc if 3
I (18491) GATTC_SPP_CLIENT: ESP_GATTC_WRITE_CHAR_EVT:status = 13,handle = 52
E (18491) GATTC_SPP_CLIENT: ESP_GATTC_WRITE_CHAR_EVT, error status = 13



terminal_input server log


'a'를 전송하고 'b'를 수신받고

'c'를 전송하고 'd'를 수신함


I (0) cpu_start: App cpu up.
I (409) heap_init: Initializing. RAM available for dynamic allocation:
I (415) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (422) heap_init: At 3FFCCD38 len 000132C8 (76 KiB): DRAM
I (428) heap_init: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM
I (434) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (440) heap_init: At 40092708 len 0000D8F8 (54 KiB): IRAM
I (447) cpu_start: Pro cpu start user code
I (129) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (210) BTDM_INIT: BT controller compile version [a9156c1]

I (210) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (270) phy: phy_version: 3960, 5211945, Jul 18 2018, 10:40:07, 0, 0
I (510) GATTS_SPP_SERVER: app_main init bluetooth

I (540) GATTS_SPP_SERVER: EVT 0, gatts if 3

I (540) GATTS_SPP_SERVER: event = 0

I (540) GATTS_SPP_SERVER: gatts_profile_event_handler 492

I (550) GATTS_SPP_SERVER: gatts_profile_event_handler 495

I (550) GATTS_SPP_SERVER: gatts_profile_event_handler 498

I (560) GATTS_SPP_SERVER: EVT 22, gatts if 3

I (560) GATTS_SPP_SERVER: event = 16

I (570) GATTS_SPP_SERVER: The number handle =b

E (570) GATTS_SPP_SERVER: GAP_EVT, event 4

I (580) GATTS_SPP_SERVER: EVT 12, gatts if 3

I (580) GATTS_SPP_SERVER: event = c

E (590) GATTS_SPP_SERVER: GAP_EVT, event 6

I (590) uart: queue free spaces: 10
I (6470) GATTS_SPP_SERVER: EVT 14, gatts if 3

I (6470) GATTS_SPP_SERVER: event = e

I (7010) GATTS_SPP_SERVER: EVT 4, gatts if 3

I (7010) GATTS_SPP_SERVER: event = 4

I (7150) GATTS_SPP_SERVER: EVT 2, gatts if 3

I (7150) GATTS_SPP_SERVER: event = 2

I (7150) GATTS_SPP_SERVER: ESP_GATTS_WRITE_EVT : handle = 5

I (7220) GATTS_SPP_SERVER: EVT 2, gatts if 3

I (7220) GATTS_SPP_SERVER: event = 2

I (7220) GATTS_SPP_SERVER: ESP_GATTS_WRITE_EVT : handle = 10

I (17290) GATTS_SPP_SERVER: [UART]: a
I (17290) GATTS_SPP_SERVER: EVT 5, gatts if 3

I (17290) GATTS_SPP_SERVER: event = 5


I (30380) GATTS_SPP_SERVER: EVT 2, gatts if 3

I (30380) GATTS_SPP_SERVER: event = 2

I (30380) GATTS_SPP_SERVER: ESP_GATTS_WRITE_EVT : handle = 2

I (30390) GATTS_SPP_SERVER: gatts_profile_event_handler 543 - SPP_IDX_SPP_DATA_RECV_VAL
I (30390) GATTS_SPP_SERVER: b

I (30400) GATTS_SPP_SERVER:
I (41450) GATTS_SPP_SERVER: [UART]: c
I (41450) GATTS_SPP_SERVER: EVT 5, gatts if 3

I (41450) GATTS_SPP_SERVER: event = 5


I (54560) GATTS_SPP_SERVER: EVT 2, gatts if 3

I (54560) GATTS_SPP_SERVER: event = 2

I (54560) GATTS_SPP_SERVER: ESP_GATTS_WRITE_EVT : handle = 2

I (54570) GATTS_SPP_SERVER: gatts_profile_event_handler 543 - SPP_IDX_SPP_DATA_RECV_VAL
I (54570) GATTS_SPP_SERVER: d

I (54580) GATTS_SPP_SERVER:



terminal_input client log


'a'를 수신받고 'b'를 전송하고

'c'를 수신받고 'd'를 전송함


I (0) cpu_start: App cpu up.
I (412) heap_init: Initializing. RAM available for dynamic allocation:
I (419) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (425) heap_init: At 3FFCCD60 len 000132A0 (76 KiB): DRAM
I (431) heap_init: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM
I (437) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (444) heap_init: At 40092708 len 0000D8F8 (54 KiB): IRAM
I (450) cpu_start: Pro cpu start user code
I (133) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (177) BTDM_INIT: BT controller compile version [a9156c1]

I (177) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
I (257) phy: phy_version: 3960, 5211945, Jul 18 2018, 10:40:07, 0, 0
I (487) GATTC_SPP_CLIENT: app_main init bluetooth

I (537) GATTC_SPP_CLIENT: register callback
I (537) GATTC_SPP_CLIENT: EVT 0, gattc if 3
I (537) GATTC_SPP_CLIENT: REG EVT, set scan params
I (547) GATTC_SPP_CLIENT: Enable Ble Scan:during time 0xFFFF minutes.
I (547) GATTC_SPP_CLIENT: Scan start successed
I (557) uart: queue free spaces: 10
I (827) GATTC_SPP_CLIENT: 30 ae a4 15 20 9e
I (827) GATTC_SPP_CLIENT: Searched Adv Data Len 23, Scan Response Len 0
I (837) GATTC_SPP_CLIENT: Searched Device Name Len 14
I (837) GATTC_SPP_CLIENT: ESP_SPP_SERVER
I (847) GATTC_SPP_CLIENT:

I (847) GATTC_SPP_CLIENT: Scan stop successed
I (847) GATTC_SPP_CLIENT: Connect to the remote device.
I (927) GATTC_SPP_CLIENT: EVT 40, gattc if 3
I (927) GATTC_SPP_CLIENT: ESP_GATTC_CONNECT_EVT: conn_id=0, gatt_if = 3
I (927) GATTC_SPP_CLIENT: REMOTE BDA:
I (927) GATTC_SPP_CLIENT: 00 00 00 00 00 00
I (937) GATTC_SPP_CLIENT: EVT 2, gattc if 3
I (1417) GATTC_SPP_CLIENT: EVT 7, gattc if 3
I (1417) GATTC_SPP_CLIENT: ESP_GATTC_SEARCH_RES_EVT: start_handle = 40, end_handle = 65535, UUID:0xabf0
I (1417) GATTC_SPP_CLIENT: EVT 6, gattc if 3
I (1427) GATTC_SPP_CLIENT: SEARCH_CMPL: conn_id = 0, status 0
I (1457) GATTC_SPP_CLIENT: EVT 18, gattc if 3
I (1457) GATTC_SPP_CLIENT: +MTU:200

I (1457) GATTC_SPP_CLIENT: attr_type = PRIMARY_SERVICE,attribute_handle=40,start_handle=40,end_handle=65535,properties=0x0,uuid=0xabf0

I (1467) GATTC_SPP_CLIENT: attr_type = CHARACTERISTIC,attribute_handle=42,start_handle=0,end_handle=0,properties=0x6,uuid=0xabf1

I (1487) GATTC_SPP_CLIENT: attr_type = CHARACTERISTIC,attribute_handle=44,start_handle=0,end_handle=0,properties=0x12,uuid=0xabf2

I (1497) GATTC_SPP_CLIENT: attr_type = DESCRIPTOR,attribute_handle=45,start_handle=0,end_handle=0,properties=0x0,uuid=0x2902

I (1507) GATTC_SPP_CLIENT: attr_type = CHARACTERISTIC,attribute_handle=47,start_handle=0,end_handle=0,properties=0x6,uuid=0xabf3

I (1517) GATTC_SPP_CLIENT: attr_type = CHARACTERISTIC,attribute_handle=49,start_handle=0,end_handle=0,properties=0x12,uuid=0xabf4

I (1537) GATTC_SPP_CLIENT: attr_type = DESCRIPTOR,attribute_handle=50,start_handle=0,end_handle=0,properties=0x0,uuid=0x2902

I (1547) GATTC_SPP_CLIENT: Index = 2,UUID = 0xabf2, handle = 44

I (1547) GATTC_SPP_CLIENT: EVT 38, gattc if 3
I (1557) GATTC_SPP_CLIENT: Index = 2,status = 0,handle = 44

I (1597) GATTC_SPP_CLIENT: EVT 9, gattc if 3
I (1597) GATTC_SPP_CLIENT: ESP_GATTC_WRITE_DESCR_EVT: status =0,handle = 45

I (1647) GATTC_SPP_CLIENT: Index = 5,UUID = 0xabf4, handle = 49

I (1647) GATTC_SPP_CLIENT: EVT 38, gattc if 3
I (1647) GATTC_SPP_CLIENT: Index = 5,status = 0,handle = 49

I (1667) GATTC_SPP_CLIENT: EVT 9, gattc if 3
I (1667) GATTC_SPP_CLIENT: ESP_GATTC_WRITE_DESCR_EVT: status =0,handle = 50

I (11737) GATTC_SPP_CLIENT: EVT 10, gattc if 3
I (11737) GATTC_SPP_CLIENT: ESP_GATTC_NOTIFY_EVT

I (11737) GATTC_SPP_CLIENT: +NOTIFY:handle = 44,length = 1
I (11737) GATTC_SPP_CLIENT: notify_event_handler 183
I (11747) GATTC_SPP_CLIENT: a

I (11747) GATTC_SPP_CLIENT:
I (24807) GATTC_SPP_CLIENT: [UART]: b
I (24827) GATTC_SPP_CLIENT: EVT 4, gattc if 3
I (24827) GATTC_SPP_CLIENT: ESP_GATTC_WRITE_CHAR_EVT:status = 0,handle = 42
I (35897) GATTC_SPP_CLIENT: EVT 10, gattc if 3
I (35897) GATTC_SPP_CLIENT: ESP_GATTC_NOTIFY_EVT

I (35897) GATTC_SPP_CLIENT: +NOTIFY:handle = 44,length = 1
I (35907) GATTC_SPP_CLIENT: notify_event_handler 183
I (35907) GATTC_SPP_CLIENT: c

I (35917) GATTC_SPP_CLIENT:
I (48967) GATTC_SPP_CLIENT: [UART]: d
I (49007) GATTC_SPP_CLIENT: EVT 4, gattc if 3
I (49007) GATTC_SPP_CLIENT: ESP_GATTC_WRITE_CHAR_EVT:status = 0,handle = 42



'ESP32' 카테고리의 다른 글

ESP32, TIMER, esp_timer  (0) 2018.08.22
ESP32, GPIO, gpio_intr  (0) 2018.08.22
ESP32, Wi-Fi, smart_config  (0) 2018.08.21
ESP32, Bluetooth, Wi-Fi, blufi  (0) 2018.08.21
ESP32, Wi-Fi, http2_request  (0) 2018.08.21