Search code examples
bluetooth-lowenergymicrocontrolleradafruit

Bluetooth I Spy


I want to develop a mobile app that listens for broadcasts by a BLE device. My idea generally is patterned on the game "I spy".

In a room full of objects, there should be a numerous Bluetooth beacons. The beacons will have a button and when the button is pressed, it would send a broadcast. One person goes in the room to solve the puzzle so there won't be the need to consider if the broadcast reaches multiple phones.

When the button is pressed, the app should check the clue given and read the corresponding beacon's ID and then alert the user whether they're correct or not.

I would like this to happen without having the user's phone pair with all BLE beacons.

For the beacon, i'm thinking to use something along the lines of an Adafruit LE Friend or flora wearable. This would be soldered to a CR 2025 or similar battery. Do I also need an Arduino or can this be standalone?

I'm thinking that it could be standalone but I have no experience here


Solution

  • For your use case, the flora wearable is the more suitable choice because you can just solder a battery to it and get it to work (the Adafruit LE Friend requires a PC as it is a USB dongle). You will need to do some reading on basic Bluetooth Low Energy (BLE) concepts, and I recommend that you focus on the following:-

    • Advertising/Broadcasting: This is what your BLE peripherals such as the flora will be doing. These devices will be sending adverts when a button is pressed or a command is sent.
    • Scanning/Observing: This is what the app developed on mobile phones will do. Your apps will be continuously scanning for those LE adverts and display relevant information to users when those adverts are read.

    Luckily these are relatively easy BLE concepts and there are already many examples for both advertising and scanning.

    For more resources, I recommend having a look at the following:-

    I hope this helps.