-
1. Re: Cypress BLE mesh client applications
DheerajP_41Sep 30, 2019 3:39 AM (in response to LuLu_4493096)
Hi Luca Luca,
Cypress BLE mesh stack is fully compliant with BLE mesh spec released by Bluetooth SIG. Please go through the app note for learning about Cypress ble mesh implementation from basics. https://www.cypress.com/file/473921/download
Peer application (Win, android, ios) will be connected to the proxy node through GATT connection. Proxy node helps to advertise the mesage to the network. Please go through the source code of the peer application to understand the implementation part.
Please go through the SIG mesh spec (profile and models) for more details regarding mesh working. https://www.bluetooth.com/specifications/mesh-specifications/
Thanks,
-Dheeraj
-
2. Re: Cypress BLE mesh client applications
LuLu_4493096 Sep 30, 2019 5:29 AM (in response to DheerajP_41)Hi Dheeraj,
Thanks, I have read the specification.Back to my question, is there any reason that your smartphone/pc apps do not support sending msg by advertising? And do you have any plan for adding this support?
P.S. GATT connection is one way of communication, I am asking about sending a message by a smartphone to all the nodes.
-
3. Re: Cypress BLE mesh client applications
DheerajP_41Sep 30, 2019 9:52 AM (in response to LuLu_4493096)
Hi Luca Luca,
I believe it is possible to advertise mesh messages from smartphones/PC, but it is little complicated since Bluetooth stack running on these devices (android, Windows, ios) are different and also does not have full control on the radio. So currently GATT proxy is used. GATT proxy node is a bridge node between mesh network and traditional BLE devices (which does not have entire mesh stack on it) and it helps these devices to take part in mesh communication.
Thanks,
-Dheeraj
-
4. Re: Cypress BLE mesh client applications
LuLu_4493096 Oct 1, 2019 12:59 AM (in response to DheerajP_41)Hi Dheeraj,
Thanks for your response.
Well, no device has the entire MESH stack on it, am I right? it is to be implemented as far as I know
The problem with proxy nodes is it has a limitation, and the cellphone must be in its range.I know that advertising mesh messages from smartphones should be more complicated, but I want to understand it better.
For example, the are APIs for advertising regular BLE messages in Android, so it should be possible to use them in the bearer layer in the BLE mesh stack instead of GATT, is that true?Thanks
-
5. Re: Cypress BLE mesh client applications
VictorZ_46 Oct 15, 2019 12:53 PM (in response to LuLu_4493096)1 of 1 people found this helpfulIf OS Platform supports sending arbitrary advertisement packets and can scan/receive the advertisement packets, it indeed does not need to use a GATT Proxy. The problem is that the phone OSes typically do not provide an interface to send a single advertisement packet. Android indeed allows you to start advertising stream, but it is a bit clumsy to stop the stream after application thinks that required number of retransmissions have been sent.
More importantly, unlike the GATT connection, where master and slave are synchronized, the mesh traffic is asynchronous and it is not possible to guess when somebody is sending you a message. To implement a mesh device without a GATT proxy, the phones would need to listen pretty close to 100% of the time, which affects the battery, affects performance of other BT profiles (for ex. audio), affects WiFi coexistance.
-
6. Re: Cypress BLE mesh client applications
LuLu_4493096 Oct 16, 2019 1:05 AM (in response to VictorZ_46)Hi VictorZ_46,
Thanks for your response.The problem is that the phone OSes typically do not provide an interface to send a single advertisement packet. Android indeed allows you to start advertising stream, but it is a bit clumsy to stop the stream after application thinks that required number of retransmissions have been sent.
So when advertising is started it cannot be stopped anymore? at least not quickly.
Is that what you are saying? If yes, then how many packets are will be sent minimum? (in case of Android for example)
the phones would need to listen pretty close to 100% of the time, which affects the battery, affects performance of other BT profiles (for ex. audio), affects WiFi coexistance.
This should not be a problem as the cellphone is to be used mostly for sending messages and not receiving them, so the app could be closed afterward.
-
7. Re: Cypress BLE mesh client applications
VictorZ_46 Oct 16, 2019 7:44 AM (in response to LuLu_4493096)1 of 2 people found this helpfulWhen host starts and then stops advertisement stream, the controller can send 0, 1, or more advertisement packets depending on a lot of different conditions.
A device has to receive secure network beacons to understand if key refresh or iv update procedure is in progress. In most cases, the phone would be interested to receive replies.
But if you think that it is not a problem, please go ahead and implement whatever you need. We cannot stop you.
-
8. Re: Cypress BLE mesh client applications
LuLu_4493096 Oct 16, 2019 8:21 AM (in response to VictorZ_46)I just wanted to make sure that the Android BLE advertising API could be used in the first place or not.
From your last reply, it seems there is no limitation in this respect, and I can implement it by myself.
Thanks -
9. Re: Cypress BLE mesh client applications
VictorZ_46 Oct 16, 2019 7:12 PM (in response to LuLu_4493096)1 of 1 people found this helpfulIf the goal is to have something production ready, I strongly recommend against that. But if you want to practice in Android development and learn BLE mesh protocol, it would definitely be a good exercise.