nRF5 SDK에서 제공하는 BLE예제 중에 BLE HID Keyboard 예제를 테스트 해 보았다.
/examples/ble_peripheral/ble_app_hids_keyboard
소프트디바이스 설정은 [nRF51822 xBee EVM] BLE 테스트 - BLE UART(IAR) 를 참고 해서 설정하고 펌웨어를 다운로드 한다.
int main(void)
{
bool erase_bonds;
uint32_t err_code;
// Initialize.
err_code = NRF_LOG_INIT(NULL);
APP_ERROR_CHECK(err_code);
timers_init();
buttons_leds_init(&erase_bonds);
nrf_gpio_cfg_output(13);
ble_stack_init();
scheduler_init();
peer_manager_init(erase_bonds);
if (erase_bonds == true)
{
NRF_LOG_INFO("Bonds erased!\r\n");
}
gap_params_init();
advertising_init();
services_init();
sensor_simulator_init();
conn_params_init();
buffer_init();
// Start execution.
NRF_LOG_INFO("HID Keyboard Start!\r\n");
if(bsp_button_is_pressed(0))
{
NRF_LOG_INFO("press=1\r\n");
}
else NRF_LOG_INFO("press =0\r\n");
timers_start();
advertising_start();
// Enter main loop.
for (;;)
{
app_sched_execute();
if (NRF_LOG_PROCESS() == false)
{
power_manage();
}
if(bsp_button_is_pressed(0))nrf_gpio_pin_clear(13);
else nrf_gpio_pin_set(13);
}
}
핸드폰에서 BLE장치를 검색하면 Nordic_Keyboard로 검색되고 스위치를 누를때 키값이 전송되는것을 확인 할 수 있다.
반응형