ESP32, Bluetooth, ble_spp_server, ble_spp_client
spp를 간단하게 표현하면 채팅 같은 것이라 생각하면 됨
server heartbeat 전송 -> client 수신 정상
client heartbeat 전송 오류, 이유 모름
server terminal 입력, 전송 -> client 수신 정상
client terminal 입력, 전송 -> server 수신 정상
0. 참고 사이트
- esp-idf\examples\bluetooth\ble_spp_server
- esp-idf\examples\bluetooth\ble_spp_client
- https://esp-idf.readthedocs.io/en/latest/api-reference/bluetooth/index.html
- https://github.com/espressif/esp-idf/blob/master/examples/bluetooth/ble_spp_client/README.md
1. 모듈
2. 보드 연결
3. 소스 설명
ble_spp_client 소스에서 아래 2개의 define 문이 없어서 추가함
//#define SPP_DEBUG_MODE
#define SUPPORT_HEARTBEAT
#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 |