Search code examples
swiftbluetooth-lowenergyibeaconeddystonebluegiga

iOS cannot detect pibeacon signals properly


I turned my raspberry pi to ibeacon transmitter, but my iPhone cannot detect my pibeacon signals for ranging, for example, it cannot say( push notification) whenever it's close( in the immediate distance) to pibeacon. However, my phone is working properly with other kinds of USB beacons such as Bluegiga and Radbeacon. Has anyone ever faced the same problem?


Solution

  • iOS devices will not detect iBeacons packets unless the ProximityUUID of the beacon packet is pre-configured into the iOS app that is searching for them. Based on the commands shown in the question, the ProximityUUID being configured with the Pi is 43F2ACD1-5522-4E0D-9E3F-4A828EA12C25

    It may just be that the iOS app you are using to try to detect it as an iBeacon packet is not pre-configured to look for the above ProximityUUID.

    Non-beacon BLE apps on iOS can see your Pi's advertisements, so the fact that non-beacon apps detect it can still mean this is the problem.

    If you are successful in using a beacon app to detect a RadBeacon, it can probably detect the default RadBeacon Proximity UUID of 2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6. If your app can detect that, try configuring that into your Raspberry Pi start advertising command like this:

    sudo hciconfig hci0 up sudo hciconfig hci0 leadv 3 sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 2F 23 44 54 CF 6D 4A 0F AD F2 F4 91 1B A9 FF A6 00 00 00 00 C8