/* Genovation BLE Test 1 */ #include BleKeyboard bleKeyboard("MT_BLE_K2_v030","Genovation, Inc.",100); int ble_start = 0; // const int ledBlue = 3; // the number of the LED pin String BLE_KB_Data; String incomingString; int BLE_KB_String; int LED_BLUE; void setup() { pinMode(ledBlue, OUTPUT); LED_BLUE = 0; BLE_KB_Data = ""; digitalWrite(ledBlue, HIGH); // LED OFF Serial.begin(115200); Serial.println("BLE Enabled, Waiting to Connect.."); bleKeyboard.begin(); LED_BLUE = 2; } // the loop function runs over and over again forever void loop() { // Begin Loop // Check if BLE is Connected if(bleKeyboard.isConnected()) { if (ble_start == 0) { ble_start = 1; LED_BLUE = 1; } } else { ble_start = 0; LED_BLUE = 2; } // check if data is available if (Serial.available() > 0) { // Serial Data Found incomingString = Serial.readString(); // read the incoming string // See if Serial Data is a command // BLUE LED Commands if (incomingString == "@LB0") { LED_BLUE = 0; } // LED OFF if (incomingString == "@LB1") { LED_BLUE = 1; } // LED ON if (incomingString == "@LB2") { LED_BLUE = 2; } // LED BLINK BLE_KB_String = incomingString.length(); BLE_KB_Data = incomingString.substring(0,3); if ( BLE_KB_Data == "@BK" ) { BLE_KB_Data = incomingString.substring(3,BLE_KB_String); Serial.println(BLE_KB_Data); bleKeyboard.print(BLE_KB_Data); } } // Every Loop, Check if command variables are set // Execute BLUE LOOP Commands if (LED_BLUE == 0) { digitalWrite(ledBlue, HIGH); } // LED OFF if (LED_BLUE == 1) { digitalWrite(ledBlue, LOW); } // LED ON if (LED_BLUE == 2) { digitalWrite(ledBlue, LOW); // LED OFF delay(200); digitalWrite(ledBlue, HIGH); // LED ON delay(200); } } // End Loop