라이브러리 선택
•
NimBLE 라이브러리는 기존 ESP32 BLE 라이브러리보다 메모리 사용량이 적고 성능이 좋아 ESP32-S3에 더 적합합니다.
•
만약 NimBLE 대신 기존 ESP32 BLE 라이브러리를 사용하고 싶다면, platformio.ini 파일에서 lib_deps를 nkolban/ESP32 BLE Arduino @ ^1.0.1로 변경하고, 코드에서 NimBLE 관련 클래스명을 원래 BLE 클래스명으로 변경하면 됩니다.
헤더 추가
#include <NimBLEDevice.h>
#include <NimBLEServer.h>
#include <NimBLEUtils.h>
JavaScript
복사
사용 변수 선언
// ESP32-S3용 BLE UART 서비스 구현
NimBLEServer *pServer = NULL;
NimBLECharacteristic *pTxCharacteristic;
bool deviceConnected = false;
bool oldDeviceConnected = false;
uint8_t txValue = 0;
JavaScript
복사
UUID 세팅
•
uart 장치가 사용하는 UUID
•
같은 uuid를 사용해야 모바일에서 붙일 수 있음
// UART 서비스를 위한 UUID (표준 Nordic UART 서비스 UUID 사용)
#define SERVICE_UUID "6E400001-B5A3-F393-E0A9-E50E24DCCA9E"
#define CHARACTERISTIC_UUID_RX "6E400002-B5A3-F393-E0A9-E50E24DCCA9E"
#define CHARACTERISTIC_UUID_TX "6E400003-B5A3-F393-E0A9-E50E24DCCA9E"
JavaScript
복사