two-way communication with Android and IOS without a normal BLE connection

We are evaluating use nRF52832 to develop our BLE product. We don't want use normal BLE connection to do the communication as we facing some connectivity failer issues in our previous product. 

Requirement:

1. Our product need use Android/IOS app, pc app, web app to receive data from BLE device and also send data to BLE device(two way communication)

2. We don't want use normal BLE connection, we expect no pairing and no connection.

3. We want use Beacon or Advertisement to do the communication.

Questions:

1. Is it possible we use Beacon or Advertisement to do a two way communication without a connection. Any example?

2. Is it possible we customize and send the Advertisement package on Android/IOS app, pc app, web app, to let nRF52832 receive it? Any example?

3. How to do the flow control for the communication?

Parents
  • Hi,

    Based on your description and questions it sounds very much like a connection it sounds very much like a connection is really what you should want to use. Can you elaborate on why you do not want that?

    1. Is it possible we use Beacon or Advertisement to do a two way communication without a connection. Any example?

    It is possible, but has some significant drawbacks. Let us consider one way communication first, where one device is advertising and the other is scanning. In that case the advertiser can send data in advertising packets, but it has no way of knowing if the data is received. The scanner also has no way of knowing if it missed some data or not, unless you make a mechanism for that in the application layer.

    Now, if we want to do two way communication both devices must both transmit and receive. That could then be done by switching between canning and advertising in certain intervals/windows. There is no mechanism to synchronize this between the two devices, so sometimes one device will be advertising while the other device will be scanning. In that cases, the data advertised by one device will probably be received by the other. No guarantees, though.

    Note that for this to work(ish) the devices must be scanning for a significant part of the time, which will consume a lot of power. So such a system will not be low power. Moreover, as explained, the mechanism of exchanging data is unpredictable and unreliable. So you would have to implement something similar to a connection in the application layer if you need to know that data is actually properly transmitted.

    2. Is it possible we customize and send the Advertisement package on Android/IOS app, pc app, web app, to let nRF52832 receive it? Any example?

    Yes that is possible both with iOS and Android. This is for instance supported by the nRF Connect for mobile applications.

    3. How to do the flow control for the communication?

    That would be entirely application specific.

    In a nutshell: using advertising/scanning will be much more power consuming, give you much more overhead, and be more complicated and more unreliable.

Reply
  • Hi,

    Based on your description and questions it sounds very much like a connection it sounds very much like a connection is really what you should want to use. Can you elaborate on why you do not want that?

    1. Is it possible we use Beacon or Advertisement to do a two way communication without a connection. Any example?

    It is possible, but has some significant drawbacks. Let us consider one way communication first, where one device is advertising and the other is scanning. In that case the advertiser can send data in advertising packets, but it has no way of knowing if the data is received. The scanner also has no way of knowing if it missed some data or not, unless you make a mechanism for that in the application layer.

    Now, if we want to do two way communication both devices must both transmit and receive. That could then be done by switching between canning and advertising in certain intervals/windows. There is no mechanism to synchronize this between the two devices, so sometimes one device will be advertising while the other device will be scanning. In that cases, the data advertised by one device will probably be received by the other. No guarantees, though.

    Note that for this to work(ish) the devices must be scanning for a significant part of the time, which will consume a lot of power. So such a system will not be low power. Moreover, as explained, the mechanism of exchanging data is unpredictable and unreliable. So you would have to implement something similar to a connection in the application layer if you need to know that data is actually properly transmitted.

    2. Is it possible we customize and send the Advertisement package on Android/IOS app, pc app, web app, to let nRF52832 receive it? Any example?

    Yes that is possible both with iOS and Android. This is for instance supported by the nRF Connect for mobile applications.

    3. How to do the flow control for the communication?

    That would be entirely application specific.

    In a nutshell: using advertising/scanning will be much more power consuming, give you much more overhead, and be more complicated and more unreliable.

Children
No Data
Related