본문 바로가기

Keyboard

(8)
Raspberry Pi Pico (RP2040) QMK Keyboard 테스트 USB HID KeyBoard를 만들기위한 방업은 여러가지가 있지만 표준화된 펌웨어를 사용하면 유지보수나 업데이트 등의 관리가 편리하다. 표준화된 키보드 펌웨어 중에 가장 많이 사용하는것 중에 QMK를 사용해 보자. 먼저 펌웨어 개발 환경을 다운로드 받는다. https://msys.qmk.fm/ QMK MSYS msys.qmk.fm 다운로드 받아서 설치 하면 자동으로 환경 설정을 해준다. QMK 설치후 QMK MSYS 실행 qmk setup 가장 먼저 해야 할것이 QMK 셋업 이다. 새로운 프로젝트를 생성한다. 프로젝트 생성할때 디바이스를 선택 해야 하는데 36번에 있는 RP2040을 선택 한다. 생성된 프로젝트에서 원하는 형태의 펌웨어로 수정해 주면 된다. info.json 파일에서 키맵을 설정 해 줄..
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..
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..
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 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로 테스트 해봐야 할 것 같다...
RP2040 SSM - HID Keyboard Composite Device 테스트, CDC로 Key 값 설정하기 Keyboard, Disk Composite Device 로 Key 값을 설정 하는 방법외 CDC 로 설정하면 좀더 편리 하지 않을까? 키보드 + 시리얼 로 동작하게 해서 시리얼 포트로는 데이터 세팅 하도록 하는 코드 작성해 보았다. 스위치 누르면 키값을 전송하도록 했는데 keyboard_ramdisk.ino와 다른 현상이 발생한다. if (digitalRead(PIN_BUTTON1) == 0 ) { if(flag == 0) { flag = 1; keycode = hidcode[0]; usb_hid.keyboardReport(report_id, modifier, &keycode); Serial.print("press="); // delay a bit before attempt to send keyboar..
HID Keyboard Composite Device 테스트, RAM Disk로 Key 값 설정 Raspberry Pi-Pico 를 이용해서 HID Keyboard 를 테스트 했으니 Key값을 원하는 값으로 변경할 수 있도록 수정 할수 있는 Composite 장치로 인식 시켜 보자. 기존에는 HID로 인식 했지만 디스크 장치로 인식 시키면 좀더 유연한 인터페이스를 지원 할수 있을것 같다. composite 테스트 를 위해 mouse_ramdisk.ino 파일을 수정해서 Keyboard로 동작 하도록 수정 했다. (keyboard 예제는 없네..) // the setup function runs once when you press reset or power the board void setup() { #if defined(ARDUINO_ARCH_MBED) && defined(ARDUINO_ARCH_R..
[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..

반응형