본문 바로가기

BLE

(30)
ESP32S3 SM EVM - Bluetooth 5 (LE) BLE KeyBoard 테스트 ESP32S3의 가장 큰 특징은 ESP32S2와 같이 USB가 있고 Bluetooth기능을 제공한다. ESP32S3의 Bluetooth 5 (LE) 기능을 테스트 해 보자 ESP32-IDF 제공 예제중 BLE Keyboard 예제를 수정하여 스위치 누를때 마다 Key값을 전송하도록 테스트해 보았다. int flag = 0; void hid_demo_task(void *pvParameters) { vTaskDelay(1000 / portTICK_PERIOD_MS); while(1) { if(!gpio_get_level(BUTTON_PIN)) { if(!flag) { flag = 1; gpio_set_level(LED_PIN, 0); if (sec_conn) { uint8_t key_vaule = {HID_..
[ESP32-C3 SSM] BLE 5.0 - BLE HRM 심박수 모니터 테스트 ESP32-C3는 BLE 5.0이 내장되어 있다. BLE관련 여러 서비스 중 표준 HRM 서비스를 테스트 해보자. HR 수집기는 데이터를 사용할 수 있을 때마다 HRM 특성으로부터 알림을 받는다. 측정값은 Bluetooth LE 패킷당 23바이트의 데이터로 전송되고 첫 번째 바이트는 Flag 라고 하며 데이터 형식에 대한 정보를 제공 한다. HR 데이터 형식 : HR 값이 UINT8 또는 UINT16 형식인지 나타내는 1비트. 센서 접촉(SC) : SC 기능 지원 여부, 지원 여부, 지원 여부를 나타내는 2비트. Energy Expended(EE) : HRM 특성에서 Energy Expended가 있음을 나타내는 1비트. RR-간격(RR) : RR-간격 측정이 HRM 특성에 존재하는지 여부를 알려주는 1..
[ESP32-C3 SSM] BLE 5.0 테스트 - HTM ESP32-C3에서 온도센서 테스트 코드를 바탕으로 BLE로 온도 값을 전송하는 프로토콜 HTM 를 구현해 보자. #include #include #include #include #define SERVICE_UUID BLEUUID((uint16_t)0x181A) #define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8" BLEDescriptor outdoorHumidityDescriptor(BLEUUID((uint16_t)0x2901)); BLEDescriptor outdoorTemperatureDescriptor(BLEUUID((uint16_t)0x2901)); BLECharacteristic outHumidityCharacteristic(B..
[ESP32-C3 SSM] BLE HID Keyboard 테스트 라이브러리는 https://github.com/T-vK/ESP32-BLE-Keyboard 를 사용 하였다. BleKeyboard 예제를 조금 수정하여 동작 시켜보자 ESP32-C3 SSM EVM에서 실행 후 장치를 검색하면 검색은 되지만 연결이 되지 않는다. 디버깅 메시지는 장치를 찾을 수 없다고 출력이 된다. Starting BLE work! E (23994) BT_BTM: btm_proc_smp_cback received for unknown device E (53994) BT_BTM: btm_proc_smp_cback received for unknown device E (57024) BT_BTM: Device not found BLE 5.0이라 그런가? ESP-IDF로 테스트 해봐야 할 것 같다...
ESP32-C3 - BLE5 UART 테스트 ESP32-C3를 이용하여 BLE UART를 테스트 해보자 기본 펌웨어 다운로드 하고 장치 검색하면 설정한 장치로 인식이 된다 // Create the BLE Device BLEDevice::init("ECPC3 UART"); BLE UART 초기화 #define SERVICE_UUID "6E400001-B5A3-F393-E0A9-E50E24DCCA9E" // UART service UUID #define CHARACTERISTIC_UUID_RX "6E400002-B5A3-F393-E0A9-E50E24DCCA9E" #define CHARACTERISTIC_UUID_TX "6E400003-B5A3-F393-E0A9-E50E24DCCA9E" //1)BLE Device를 생성하고 BLEDevice::init(..
ESP32-C3 - BLE CUSTOM SERVICE 테스트 ESP32-C3의 가장 큰 장점으로 BLE 5.0이 있다. 저렴한 가격에 소형의 BLE 칩으로 사용하면 좋을것 같다. BLE 예제를 테스트 해보자 가장 간단한 CUSTOM SERVICE 코드로 테스트 했다. 라이브러리가 잘되어 있어 아주 간단하게 BLE 구현이 가능하다. #include #include #include // See the following for generating UUIDs: // https://www.uuidgenerator.net/ #define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b" #define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8" class MyCallbac..
[nRF52 xBee EVM] Arduino BLE HID Keyboard Test BLE테스트를 위한 기본 설정은 [nRF52 xBee EVM] Arduino BLE UART Test 를 참고로 해서 설정해 주면 되고 BLE 라이브러리는 BLEPeripheral 을 사용 할 수 있다. BLE HID Keyboard 예제를 이용해서 키 입력에 따른 Key값이 전송 되도록 했다. #include #include // define pins (varies per shield/board) #define BLE_REQ 6 #define BLE_RDY 7 #define BLE_RST 4 //#define ANDROID_CENTRAL // create peripheral instance, see pinouts above BLEHIDPeripheral bleHIDPeripheral = BLEHIDPe..
[nRF52 xBee EVM] Arduino BLE UART Test nRF52의 BLE기능을 Arduino에서 사용하기 위해 소프트디바이스 설정과 BLE 라이브러리 설치를 해야 한다. 소프트디바이스 설정은 [nRF52 xBee EVM] BLE 테스트 - BLE UART(IAR) 를 참고 해서 설정하고 Arduino IDE에서 사용여부를 설정해 주면 된다. BLE 라이브러리는 BLEPeripheral 을 설치 해 주면 된다. 기본 으로 제공되는 BLE UART 예제를 수정해서 앱에서 전송되는 UART 값에 따라 LED On/Off 하는 예제를 작성해 보았다. #include #include "BLESerial.h" // create ble serial instance, see pinouts above BLESerial BLESerial(BLE_REQ, BLE_RDY, BL..

반응형