BLE iBeacon Scan example for Nordic dongle
Dependencies: BLE_API BLE_iBeacon_Scan mbed-dev nRF51822
Fork of BLE_iBeaconScan by
main.cpp
- Committer:
- phamhuutin202
- Date:
- 2016-08-03
- Revision:
- 1:cbb615126d2f
- Parent:
- 0:17c37c570285
File content as of revision 1:cbb615126d2f:
#include "mbed.h" #include "BLE.h" #include "iBeaconScan.h" Serial pc(TX_PIN_NUMBER, RX_PIN_NUMBER); DigitalOut led1(LED1); union unionType u; void AdvertisementReportCallback(const Gap::AdvertisementCallbackParams_t *params) { led1 = !led1; pc.printf("Advertisement packet received.\r\n"); uint8_t i; if (memcmp(params->advertisingData,iBeaconPrefix,sizeof(iBeaconPrefix)) != 0){ pc.printf("Received packet is not ibeacon.\r\n"); return; } memset(u.rawData, 0 , sizeof(u.rawData)); memcpy(u.rawData, params->advertisingData,params->advertisingDataLen); pc.printf("uuid:"); for( i = 0; i < 16; i++) pc.printf("%02x ",u.iBeaconPayload_m.uuid[i]); pc.printf("\r\n"); pc.printf("majorNumber:%02x %02x\r\n",u.iBeaconPayload_m.majorNumber[0], u.iBeaconPayload_m.majorNumber[1]); pc.printf("minorNumber:%02x %02x\r\n",u.iBeaconPayload_m.minorNumber[0], u.iBeaconPayload_m.minorNumber[1]); pc.printf("txPower:%d\r\n",u.iBeaconPayload_m.txPower); pc.printf("RSSI:%d\r\n",params->rssi); } int main(void) { led1 = 0; pc.baud(115200); wait(10); pc.printf("Hello\r\n"); pc.printf("Start initialization\r\n"); iBeaconInit(); pc.printf("Finish initialization\r\n"); wait(10); pc.printf("Start Scan\r\n"); iBeaconStartScan(); pc.printf("Scanning..\r\n"); //wait(10); //iBeaconStopScan(); //pc.printf("Scan stop.\r\n"); while(1) { //pc.printf("Hello\r\n"); //led1 = !led1; //wait(1); } }