0
\$\begingroup\$

I have an idea for a distributed communication platform that I want to build. For my project, I would have many phones, and I would like to send ~20kb of data between each phone at a minimum range of 2 meters or 6 feet. I was hoping to find some way to utilize a phones Bluetooth transceiver for this purpose and do the following:

  1. Identify Bluetooth enabled phones
  2. Identify if a phone has 'opted in' to the communication platform
  3. Open a connection between two participating phones and engage in a two-way communication of about ~20kb data. Probably considerably less data in practice but I want margin.
  4. Close the connection. Add that phone to a list so they don't connect again.

Is there anyway to do this with current phone Bluetooth? I read something about 'Bluetooth mesh networking' and 'Bluetooth radio' but I was hoping someone could point me in the right direction, or confirm that these technologies would be a good place to start.

Its worth noting that if this process drains too much battery life, the project is Dead on Arrival. Also the phones should not have to be close to each other for more than maybe a couple seconds to get the job done. Please let me know any thoughts.

\$\endgroup\$
2
  • \$\begingroup\$ This may be possible, but more specifics are needed. Does "they don't connect again" mean only that specific pair (A-B) doesn't connect again, but any other pairings (A-C, B-C, B-D etc) still would connect when they approach? Are you trying to limit the connection to a certain proximity range, and if so, how tightly? \$\endgroup\$ Nov 24, 2020 at 22:54
  • \$\begingroup\$ @MarkLeavitt only the A-B pair does not connect again. But A-C and B-C pairings still should occur. I think greater than 10 meters would defeat the purpose, but it does not have to be precise. Its a network on a grand-scale, not a warehouse type environment. \$\endgroup\$ Nov 25, 2020 at 0:33

1 Answer 1

1
\$\begingroup\$

Is there a way to do this with current Bluetooth (i.e. Bluetooth Low Energy, BLE, which is present on most all phones from the last few years)?

The answer is "yes, probably". It's not "yes, certainly" because your requirements are still vague regarding battery life, amount of data transferred, and time for the communications. And there may be issues with specific phone operating systems (Android, iOS, or other) that interfere with your intent.

Basically you will need to develop an app that causes the phone to act as both a peripheral -- sending out advertisements -- and a central -- scanning for other phones that are advertising. It might alternate between these roles, or execute them concurrently. When a scanning phone picks up an advertising phone, it can verify it's never been connected to it before, then connect and perform the data exchange. Sending 20kB in a few seconds is possible with BLE data rates.

Both the advertising and the scanning will use battery energy, the scanning being the bigger consumer, but it will depend on the advertising frequency and the scanning interval. Move to the next step in getting your specs defined, then start developing a proof-of-concept app.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.