본문 바로가기

HID

(18)
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..
RP2040 SSM - Web HID 테스트 RP2040에서 WebSerial 테스트 했던것 처럼 HID 장치도 Web에서 제어 할수 있다고 한다. RP2040 - Serial Web 테스트 Serial Web은 Chrome 89에서 제공하는 웹페이지 상에서 USB 하드웨어 장치에 접근할 수 있는 API 이다. Web Serial API는 웹사이트가 JavaScript를 사용하여 직렬 장치에서 읽고 쓸 수 있다. Serial Web의 장점은 nexp.tistory.com WebHID 를 테스트 해보자 RP2040의 펌웨어 코드는 RP2040 Custom HID 제어 예제를 이용 하였다. WebHID 웹페이지는 https://developer.mozilla.org/en-US/docs/Web/API/WebHID_API 를 참고 해서 작성 하였다. HI..
RP2040 SSM - Raspberry Pi Pico USB Custom HID 테스트 Raspberry Pi Pico USB Custom HID 를 테스트 해 보자 TinyUSB의 기본 HID예제코드에서 데이터 수신시 실행되는 콜백함수(set_report_callback) 를 수정 해서 간단히 LED 제어를 해 볼 수 있다. #include "Adafruit_TinyUSB.h" int led_flag = 0; // HID report descriptor using TinyUSB's template // Generic In Out with 64 bytes report (max) uint8_t const desc_hid_report[] = { TUD_HID_REPORT_DESC_GENERIC_INOUT(64) }; // USB HID object. Adafruit_USBD_HID usb_hi..
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..
RP2040 - HID Keyboard 테스트 (TinyUSB) RP2040은 USB가 포함되어 있기 때문에 진행 하려고 했던 KeyPad 프로젝트를 위한 USB HID Keyboard 를 테스트 해 보았다. 기본으로 제공하는 키보드 예제 테스트 하니 잘 동작한다. Arduino 기본 USB Keyboard 예제는 심플하고 간단해서 사용하기는 편한데 뭔가 좀더 복잡한 KeyBoard를 위해서는 아쉬운점이 있다. #include "Keyboard.h" const int buttonPin = 4; // input pin for pushbutton int previousButtonState = HIGH; // for checking the state of a pushButton int counter = 0; // button push counter void setup() ..
[STM32-48 SSM EVM] - Arduino HID Keyboard Test [STM32-48 SSM EVM] 보드의 특징으로 작은크기 인데 간단한 USB보조 HID키보르를 제작해 보면 좋을것 같다. HID 키보드를 제작하기 위해 ARDUINO 라이브러리를 이용하면 쉽게 작성가능하다. 보드내에 있는 스위치(PB12) 입력에 따라 Keyboard Report를 전송하도록 했다. #include "Keyboard.h" const int buttonPin = 15; // input pin for pushbutton int previousButtonState = HIGH; // for checking the state of a pushButton int counter = 0; // button push counter void setup() { // make the pushButton p..
USB KeyBoard Encoder 보드 제작 USB KeyBoard Encoder 보드 제작 USB Keyboard 로 동작하는 Encoder 보드를 제작했다.5개의 키 값과 Encoder값을 입력 받아 처리 할수 있는 보드로 MCU는 ST사의 STM32F042를 적용하여 제작하였다.HID composite device 로 인식해서 Key값을 실시간으로 변경 가능하다. USB KeyBoard Encoder 보드 구성도 Key값은 HID Key Config 프로그램으로 재 설정 가능하다. HID 장시치로 인식해서 동작중 실시간으로 설정 가능하다.키값는 Function Key(CTRL, ALT, SHIFT), Normal Key 에디트 창에서 키값을 입력하면 간단히 설정 가능하다.

반응형