![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
BLE Application to open a Garage door
Dependencies: BLE_API Crypto RNG mbed nRF51822
Fork of BLE_LED by
Diff: main.cpp
- Revision:
- 12:eaee29bfa1c7
- Parent:
- 11:3de9b542eeac
- Child:
- 13:bc1be947b497
diff -r 3de9b542eeac -r eaee29bfa1c7 main.cpp --- a/main.cpp Wed Aug 26 00:13:10 2015 +0000 +++ b/main.cpp Wed Aug 26 00:59:07 2015 +0000 @@ -23,13 +23,16 @@ // I -> 4 bytes ID (chars) // S -> 8 bytes SHARED_SECRET (chars) +// Generating K and iv: +//openssl enc -aes-128-cbc -pass pass:********** -nosalt -P + #define SHARED_KEY "figueiredo" #define DEVICE_NAME "Garagem" BLE ble; DigitalOut actuatedLED(P0_19); Timeout offRelay; - +bool boot; #ifndef DEBUG DigitalOut relay(P0_8); #endif @@ -76,16 +79,17 @@ } else { DBG("NO SUCH LUCK...\r\n"); } - } if((params->handle == securityServicePtr->getKeyHandle()) && (params->len > 0)) { + } if(boot && (params->handle == securityServicePtr->getKeyHandle()) && (params->len > 0)) { securityServicePtr->setKey((char *) params->data); } - securityServicePtr->bootComplete(); + boot = false; } int main(void) { DBG("Garagem v0\r\n"); + boot = true; actuatedLED = true; #ifndef DEBUG relay = 0; @@ -109,15 +113,16 @@ uint16_t minorNumber = 1423; uint16_t txPower = 0xBE; iBeacon ibeacon(ble, uuid, majorNumber, minorNumber, txPower); + + DeviceInformationService deviceInfo(ble, "diogogomes.com", DEVICE_NAME, "SN1", "hw-rev1", "fw-rev1", "soft-rev1"); GaragemService garagemService(ble); garagemServicePtr = &garagemService; - SecurityService securityService(ble, SHARED_KEY); + SecurityService securityService(ble); + securityService.init(SHARED_KEY); securityServicePtr = &securityService; - DeviceInformationService deviceInfo(ble, "diogogomes.com", DEVICE_NAME, "SN1", "hw-rev1", "fw-rev1", "soft-rev1"); - /* setup advertising */ ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *)uuid16_list, sizeof(uuid16_list));