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!!!

Revision:
26:942faa4201d5
Parent:
25:1c6c2895f729
--- 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
     }
 }