changed low freq. clock source to IRC
Dependencies: BLE_API mbed nRF51822_IRC
Fork of BLE_ANCS_SDAPI by
Diff: README.txt
- Revision:
- 0:1f985a7c0a8b
- Child:
- 1:f0edc06f2d29
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.txt Tue Jun 03 04:25:33 2014 +0000 @@ -0,0 +1,122 @@ +INTRODUCTION +============ +This is a POC (Proof of Concept) for implementing +ANCS (Apple Notification Center Service)with +NRF51822-mKit (mbed) platform. + +The code is not meant to be use for implementation, +whatsoever. + +I'm not intent to further enhancing this code. +The sole purpose is to show that we can use +SoftDevice client api for doing ANCS with NRF51822-mkit. +(At this time, BLE API doesn't expose Gatt Client API) + +This program code are bypassing mbed BLE API and use +Soft Device (S110) Gatt Client API directly. + +If you want to explore the code, S110 API Reference will +be handy. + +I know, there are many bugs, and things not implemented +correctly. But again, the purpose of this code is just +to show thant Gatt Client API is indeed doable. + + +WHAT NEXT? +========== +Since with this code, ANCS with mbed (NRF51822-mkit) is +doable, the next step is to implement GATT CLIENT API on +mbed BLE API. +That should make programming more understandable (and +perhaps portable to other platform) than using SD API +directly. + + +HOW TO TEST THIS OUT? +===================== +You gonna need: +1. iOS7 (iPhone/iPad) + *recomended: iPush Test, free app to generate test notification. + but if you can generate notification by yourself + anything will be sufficient. +2. NRF51822-mKIT, connected to PC + (debug log and the notification itself will + be print out via usb com port). + *teraterm etc is needed to access com port. + (depend on your platform) + +Ready for the action! +1. Compile the code, transfer the binary file to mkit. +2. Use teraterm etc, to connect to mkit com port. +3. Press reset. LED1(advertise) should turn on. + You should see Appendix 1 Log. +4. On iOS7, select "Settings", "Bluetooth". + You should see "ANCC" on the devices list. + Click it to connect. LED2(connected) should turn on. +5. A Dialog will appear: "Bluetooth Pairing Request" + Press "Pair" + You should see Appendix 2 Log. + + That's it you ready to receive notification. + There's a free app on app store for generating + push notification. Search "push test" on app store. + +6. Run iPush Test app +7. Click "Local Push Test" +8. You will receive notification in about 1 minute. + + + +Appendix 1 (Program Start Log) +============================== +Program started +timers_init() +ble_stack_init() +gap_params_init() +set_128_uuid() +advertising_init() +conn_params_init() +sec_params_init() +advertising_start() + +Appendix 2 (iOS Connect and Pairing) +==================================== +Event: BLE_GAP_EVT_CONNECTED (Connection established.) +Event: BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP (Primary Service Discovery Response event.) +Found ANCS service, start handle: 15, end handle: 24 +Event: BLE_GATTC_EVT_CHAR_DISC_RSP (Characteristic Discovery Response event.) +Found char: Control PointEvent: BLE_GATTS_EVT_WRITE (Write operation performed.) +Event: BLE_GATTC_EVT_CHAR_DISC_RSP (Characteristic Discovery Response event.) +Found char: Notification SourceEvent: BLE_GATTC_EVT_CHAR_DISC_RSP (Characteristic Discovery Response event.) +Found char: Data SourceEvent: BLE_GATTC_EVT_CHAR_DISC_RSP (Characteristic Discovery Response event.) +Event: BLE_GATTC_EVT_DESC_DISC_RSP (Descriptor Discovery Response event.) +Found NS CCC +Event: BLE_GATTC_EVT_DESC_DISC_RSP (Descriptor Discovery Response event.) +Found DS CCC +Event: BLE_GAP_EVT_SEC_PARAMS_REQUEST (Request to provide security parameters.) +Event: BLE_GAP_EVT_AUTH_STATUS (Authentication procedure completed with status.) +Event: BLE_GAP_EVT_CONN_SEC_UPDATE (Connection security updated.) +Event: BLE_GATTC_EVT_WRITE_RSP (Write Response event.) +NS subscribe success. +Event: BLE_GATTC_EVT_WRITE_RSP (Write Response event.) +DS subscribe success. + +Appendix 3 (Receiving Notification) +=================================== +Event: BLE_GATTC_EVT_HVX (Handle Value Notification or Indication event.) +Event ID: 0 (Notification Added) +Event Flags: 0 ((no flags)) +Category ID: 0 (Other) +Category Count: 1 +Notification ID: 6 0 0 0 +Event: BLE_GATTC_EVT_WRITE_RSP (Write Response event.) +CP write success. +Event: BLE_GATTC_EVT_HVX (Handle Value Notification or Indication event.) +Title:(10)iPush Test + +Link +==== +1. ANCS + https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/AppleNotificationCenterServiceSpecification/Introduction/Introduction.html +