BLE테스트를 위한 기본 설정은 [nRF52 xBee EVM] Arduino BLE UART Test 를 참고로 해서 설정해 주면 되고
BLE 라이브러리는 BLEPeripheral 을 사용 할 수 있다.
BLE HID Keyboard 예제를 이용해서 키 입력에 따른 Key값이 전송 되도록 했다.
#include <BLEHIDPeripheral.h>
#include <BLEKeyboard.h>
// 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 = BLEHIDPeripheral(BLE_REQ, BLE_RDY, BLE_RST);
BLEKeyboard bleKeyboard;
void setup() {
Serial.begin(115200);
#if defined (__AVR_ATmega32U4__)
while(!Serial);
#endif
// clear bond store data
bleHIDPeripheral.clearBondStoreData();
#ifdef ANDROID_CENTRAL
bleHIDPeripheral.setReportIdOffset(1);
#endif
bleHIDPeripheral.setLocalName("HID Keyboard");
bleHIDPeripheral.addHID(bleKeyboard);
bleHIDPeripheral.begin();
Serial.println(F("BLE HID Keyboard"));
}
void loop() {
BLECentral central = bleHIDPeripheral.central();
if (central) {
// central connected to peripheral
Serial.print(F("Connected to central: "));
Serial.println(central.address());
while (central.connected()) {
if (Serial.available() > 0) {
// read in character
char c = Serial.read();
Serial.print(F("c = "));
Serial.println(c);
bleKeyboard.print(c);
}
}
// central disconnected
Serial.print(F("Disconnected from central: "));
Serial.println(central.address());
}
}
프로그램 다운로드 후 폰에서 키보드 동작을 테스트 해 볼 수 있다.
반응형