본문 바로가기

BLE

(30)
nRF52832 SSM - BLE HID Key Board 테스트 Bluefruit 라이브러리에 BLEHidAdafruit 클래스를 이용하면 쉽게 BLE HID Keyboard를 구현 할 수 있다. 제공예제에서 필요한 부분만 이용해서 가장 간단하게 테스트 할 수 있는 코드를 작성하고 테스트 해 보자 #include #define LED1_PORT 22 #define SW1_PORT 21 BLEHidAdafruit blehid; bool hasKeyPressed = false; void setup() { pinMode(SW1_PORT, INPUT_PULLUP); pinMode(LED1_PORT, OUTPUT); digitalWrite(LED1_PORT, 1); Serial.begin(115200); while ( !Serial ) delay(10); // for nrf5..
nRF52832 SSM - BLE UART 테스트 (Adafruit Bluefruit) Adafruit 예제를 참고로 BLE의 가장 기본이 되는 BLE UART 테스트를 해 보자. 필요 없는 기능은 다 제거 하고 가장 심플하게 코드를 수정 했다. BLE앱에서 nRF52832 보드의 LED를 On/Off 하는 기본 예제 #include #define LED_BUILTIN 22 // BLE Service BLEUart bleuart; // uart over ble void setup() { pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LOW); Serial.begin(115200); Serial.println("nRF52832 SSM BLE-UAR Test"); // Setup the BLE LED to be enabled on CONNE..
Raspberry Pi PicoW - BLE Serial Profile 서비스 테스트 BLE는 Classic Bluetooth SPP와 같은 시리얼 서비스가 제공되지 않는다. 대신 BLE UART Custom 서비스로 구현해야 한다. Pi PicoW BLE Custom Profile 테스트 코드를 이용해서 간단히 BLE UART로 송수신 하는 테스트 코드를 작성해 보자. 참고로 Nordic UART 테스트 코드에서 서비스 UUID를 사용 하였다. #include #include #define SerialSerial1 #define SERVICE_UUID "6E400001-B5A3-F393-E0A9-E50E24DCCA9E" // UART service UUID #define CHARACTERISTIC_UUID_RX "6E400002-B5A3-F393-E0A9-E50E24DCCA9E" #de..
Raspberry Pi PicoW - BLE Custom Profile 서비스 테스트 Raspverry Pi Pico W의는 Bluetooth Classic 및 BLE(Bluetooth Low Energy) 기능을 지원한다. BLE 기능을 테스트 해보자. Pico W의 BLE 설정 테스트를 참고 하여 코드를 작성할 수 있다. 가장 간단하게 테스트 해 볼수 있는 BLE Custom Profile로 데이터를 송수신 하는 코드를 작성하자. #include #include static char characteristic_data = 'H'; //BLE 연결 콜백 함수 void deviceConnectedCallback(BLEStatus status, BLEDevice *device) { (void) device; switch (status) { case BLE_STATUS_OK: Serial.p..
Raspberry Pi Pico W - Bluetooth BT Serial SPP 테스트 Raspberry Pi Pico W Bluetooth 는 BLE 및 Classic Bluetooth 기능를 제공하고 시리얼 기능이 있는 SPP를 테스트 해보자. SPP는 기존 시리얼 통신 프로그램 기반 프로그램을 별다른 변경없이 무선으로 바꿀수 있다. 테스트 코드는 시리얼 포트로 송수신되는 데이터를 Bluetooth SPP로 주고 받을 수 있는 간단한 코드 이다. #include #define SerialDebug Serial1 void setup() { SerialBT.begin(); SerialDebug.begin(115200); SerialDebug.println("Pico W BT Serial Test."); pinMode(LED_BUILTIN,OUTPUT); } void loop() { byte..
Raspberry Pi PicoW - Bluetooth 설정 테스트 (BT Keyboard) Raspverry Pi Pico W의 무선 기능은 Infineon CYW43439를 사용한다. 이 장치에는 802.11n Wi-Fi와 Bluetooth 5.2를 모두 제공하는 2.4GHz 무선 장치가 포함되어 있으며 Bluetooth Classic 및 BLE(Bluetooth Low Energy) 기능을 지원한다. 기존에는 Bluetooth가 아닌 Wi-Fi만 지원했는데 이제 BLE를 지원 한다고 한다. C SDK 버전 1.5.1 과 최신 MicroPython 에서 Pico W가 Bluetooth 및 Bluetooth LE 장치를 사용할수 있다. 특히 ACL/SCO를 일시적으로 제외하고 BLE Central 및 Peripheral 역할과 함께 Bluetooth Classic을 지원한다고 한다. 우선 Pi..
nRF52832 SSM - BLE HTS 테스트 (IAR) nRF52832로 BLE관련 한가지더 테스트를 해 보자. 많이 사용하는 온도 전송 서비스(HTS)를 테스트하는 코드가 있다. 코드는 전형적인 BLE GATT 예제이다. int main(void) { bool erase_bonds; // Initialize. log_init(); timers_init(); buttons_leds_init(&erase_bonds); power_management_init(); ble_stack_init(); gap_params_init(); gatt_init(); advertising_init(); services_init(); sensor_simulator_init(); conn_params_init(); peer_manager_init(); // Start executi..
nRF52832 SSM - BLE UART 테스트 (IAR) 빠른 테스트를 위해 기존에 사용했던 BLE UART예제를 구동 했는데 기존 코드가 정상 동작을 하지 않는다. 옛날 버전이라 그런가? 최신 버전을 다운로드 해서 테스트 해 보자. 노르딕사에서 제공하는 최신 SDK, Softdevice 를 다운로드 해서 테스트 해 보았다. 컴파일 에러가 발생한다. nRF5x 시리즈는 버전의 호환성이 너무 떨어져 새로운 버전을 사용할때마다 한번에 진행 되는 것이 없는것 같다. 계속 문제가 생기네.. 소프트 디바이스도 버전에 따라 용량설정과 헤더 파일을 다 꿔줘야 하는(?) 일을 해 주어야 하고... nRF52832로 꼭 진행 해야 한다고 하니... 어쩔수는 없다. 구글링 결과 컴파일러의 라이센스 문제라고 한다. https://www.nordicsemi.com/Products/..

반응형