1 of 1 people found this helpful
Mesh communication works on managed flooding technique where nodes just broadcast the data such that it is received by all other nodes within the direct range of the transmitting node. Please go through the appnote AN227069 for understanding more about the working principle.
Also, please refer https://www.bluetooth.com/specifications/mesh-specifications/
Features for a mesh node can be enabled in wiced_bt_mesh_core_config_t mesh_config in each application.
"WICED_BT_MESH_CORE_FEATURE_BIT_RELAY" for enabling the relay feature for the mesh app.
.features = WICED_BT_MESH_CORE_FEATURE_BIT_FRIEND | WICED_BT_MESH_CORE_FEATURE_BIT_RELAY | WICED_BT_MESH_CORE_FEATURE_BIT_GATT_PROXY_SERVER,
Bluetooth mesh stack sits on top of BLE stack which means mesh node acts as a normal BLE device with additional mesh networking capability. So it has range of normal BLE devices (https://www.bluetooth.com/learn-about-bluetooth/bluetooth-technology/range/ ).
Using relay nodes in the network we can extend this range.
(Eg. For a 3 node network A- B -C. (Node_B is in range with A and C)
If Node_A is not in direct range with Node_C, then we can configure Node_B as a relay node and relay the messages from A to C).
Thanks Dheeraj for early response. In accordance with your second point, Suppose I am implementing Dimmer Switch(A) with dimmable lights (B,C&D). I enabled relay mode in B,C&D. B is in range of A, C is directly in range of B and D is in range of C. So now if I control the switch A, D will also be controlled by A, right?
Again how can I see the data packets which are sent through the nodes? Is there any specific SDK I have to integrate with the system?
Correct. You can control node D using node A by enabling relay feature in the intermediate nodes.
According to the spec, all the nodes cannot decode the payload of the mesh messages. Those devices which have valid keys (netkey,appkey,device key, etc..) can only decode the message. Others it will simply relay the messages.
You can use cypress helper applications such as clientcontrolmesh for debugging which allows very low-level interaction with the mesh network. Otherwise, if you want to collect OTA traces you may have to buy standard sniffer devices (Eg. Ellisys).