Experimental BLE project showing how IO can be made with an App over BLE. Pointer to matching App will be added when ready, initially this works with: - Android App [nRF-Master Control Panel], supports Write,Read,Notify - Android Project [BluetoothLeGatt]

Dependencies:   BLE_API mbed nRF51822

This is an experimental project for BLE (Bluetooth LE == Bluetooth Low Energy == Bluetooth Smart).

  • It supports general IO over BLE with Read/Notify/Write support.
  • It is compatible with FOTA using Android App "nRF Master Control Panel" (20150126)
  • IO supported by:
    • Custom Android App is in the WIKI under: Android-App, developed from Android Sample "BluetoothLeGatt"
    • Android App: nRF-MCP (Master Control Panel)
    • iOS App LightBlue.
    • General HRM, HTM, Battery and similar apps should be able to access the matching services.
  • It includes combinations of code from other projects, alternative code included can be tried by moving comments (, //)
  • 20150126 bleIO r25: It compiles for both "Nordic nRF51822" and "Nordic nRF51822 FOTA" platforms
  • 20150126 The matching bleIO App (in wiki) doesn't support FOTA yet, use Android App "nRF Master Control Panel"

Feedback and ideas greatly appreciated!!!

Files at this revision

API Documentation at this revision

Comitter:
prussell
Date:
Mon Jan 26 18:56:52 2015 +0000
Parent:
25:1c6c2895f729
Commit message:
Works for both "Nordic nRF51822" and "Nordic nRF51822 FOTA" platforms, and the FOTA load does allow subsequent FOTA loads using Android App "nRF Master Control Panel".

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Mon Jan 26 18:36:11 2015 +0000
+++ b/main.cpp	Mon Jan 26 18:56:52 2015 +0000
@@ -140,7 +140,7 @@
 
 //==========BLE==========
 //const static char pcDeviceName[] = "bleIOv04_pr"; //Too Long for advertising with a UUID128
-const static char pcDeviceName[] = "bleIO"; //Advertised device name (Max length depends on available space with other Advertising data)
+const static char pcDeviceName[] = "bleIOr25"; //Advertised device name (Max length depends on available space with other Advertising data)
 BLEDevice   ble;
 //Pointers to services for accesses outside main()
     HeartRateService            *pServiceHRM;
@@ -545,6 +545,7 @@
     //} else if (tHandle == IOn4.getValueHandle()) { // Notifyonly, shouldn't occur
     } else {
         DEBUG("\n  Unknown onWrite(tHandle:%d)\n\n", tHandle);
+        //This appears to happen at the beginning of a FOTA DFU Update, 20150126PR
     }
 }