This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LAUNCHXL-CC26X2R1: Node to Node message transfer through unicast address in BLE mesh

Part Number: LAUNCHXL-CC26X2R1

Hi TI,

  1)  I'm trying to send node to node message through unicast address. It is good when I use a Low Power Node and a friend node as configurations. If I configure two launchpads with say Relay+Proxy how can I send node to node using unicast or is there any approach else to make this happen.

Also using publish subscribe paradigm I'm publishing using on node to a Group address, I'm subscribing to that group address using another node, but on serial monitor I don't see any.

Please provide me with some information if any kind of code modifications to be done or something else.

2) Can you point out some BLE mesh testcases to verify whether my network is fully functional or not (w.r.t data transfer and security part to verify that everything is smooth).

  • Hey Manikanth,

    This thread seems a bit overlapping with your other related post here: https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1084287/launchxl-cc26x2r1-ble-mesh---realy-node-message-passing.

    In short:

    1)  I'm trying to send node to node message through unicast address. It is good when I use a Low Power Node and a friend node as configurations. If I configure two launchpads with say Relay+Proxy how can I send node to node using unicast or is there any approach else to make this happen.

    I would refer to the other thread where I show the struct you use to pass in the target address for the message.

    Also using publish subscribe paradigm I'm publishing using on node to a Group address, I'm subscribing to that group address using another node, but on serial monitor I don't see any.

    Have you been able to reproduce the default demo, as outlined in the Provisioning SimpleLink Academy? If this does not work, I would take this opportunity to debug the application further and check return statuses to see if the publish/subscribe was completed successfully.

      2) Can you point out some BLE mesh testcases to verify whether my network is fully functional or not (w.r.t data transfer and security part to verify that everything is smooth).

    Unfortunately I don't have too much to share in this regard. We have published some test data in our Mesh Software Product Brief. In addition, we are a qualified mesh solution which I hope gives you confidence in this solution.

  • 1)

               

    In this thread you have instructed me to fix the destination address in such a way that it will be sending the  packet to the assigned destination else will be relayed if intended node have not received or within the radio range of the source right.

    But the unicast addresses are assigned only after provisioning right then how can I assign prior to the provisioning.

    2) W.r.t publish/subscribe paradigm I was able to create a group and give On/Off messages to that group can see that nodes(subscribed to the group address) are receiving them, this is successful.The way shown in below picture.

    But my focus is, a particular node has to publish to a group address and all the node subscribed to that group has to receive the published messages please suggest me a way to do so for 1 and 2.

  • Hey Manikanth,

    Thanks for explaining, I see where the gap is. You are correct, there really is not a way to assign the addresses if you aren't sure what your provisioner will assign. This can be solved at the application layer by defining a specific group address and using the publish/subscribe paradigm. You can also I guess create a custom network where upon provisioning, every node broadcasts its element addresses and shares the information necessary for you to use strategically. Are you able to share some details regarding the project you are working on? If you can share some details, I can help advise what would be best in your scenario.

    But my focus is, a particular node has to publish to a group address and all the node subscribed to that group has to receive the published messages please suggest me a way to do so for 1 and 2.

    For #2, the On/Off message approach is exactly that. If you want something custom, you can use a vendor model instead of the SIG defined On/Off and have those nodes subscribe to the group address for that model. The process of subscribing/publishing is the same across nodes, so I'm not sure what more I can add to this answer.

  • Hi Ammar,

    I'm working on BLE mesh networking for improving the range of  individual nodes and smooth communication among the nodes.

    I will note down  some cases on which I'm working on.

    Publish/Subscribe paradigm - I was able to do it as shown in the above image, which is nothing but publishing from unicast address 0x0001 to a particular group right.This is smooth but publishing messages to a group from a unicast address other than 0x0001 I see it is not happening.

    Left over part is : I was only able to send from 0x0001 to group but not from other elements or other  unicast address to a group.

    Node to node message transfer(through unicast address): This is achieved in the case of Low power node and a friend node.

    Left over part: I was not able to send from Relay+proxy node to Relay+proxy node by just giving unicast address to one of them and send it to other.

    Node to many other nodes: This is similar to publishing messages to a group from a node(precisely from a unicast address other than 0x0001) which I was not able to achieve .(Left Over)

    I guess I've made all the points very clear  please give attention to "Left over" description.

    And finally I would like to concentrate on the BLE mesh security. Anyhow that is taken care, I see that cryptographic, mbedtls libraries are present and I assume that security part is taken care.

    ...

    What are those Generic models menu, Sensor models menu, can we use that to communicate from node to node. If so please let me know.

  • Hey Manikanth,

    I would take a look at the UART output to check the status of the messages you are sending. It could be that you have not bound an app key to the model you are sending. This needs to be done on all nodes separately by the provisioner (i.e. the mobile app), otherwise the target node cannot decrypt the packet and will just discard it.

    I was not able to send from Relay+proxy node to Relay+proxy node by just giving unicast address to one of them and send it to other.

    As I mention, you will need to know the proper unicast address to send to for it to be received (along with the above statement about binding app keys). I would suggest just declaring a known group address for the nodes to subscribe to, rather than try to figure out what addresses the provisioner has assigned all nodes.

    And finally I would like to concentrate on the BLE mesh security. Anyhow that is taken care, I see that cryptographic, mbedtls libraries are present and I assume that security part is taken care.

    I believe I've addressed this already in other posts, this is outlined in the specification and we are qualified by the SIG, meaning we abide by the specification in this regard.

    What are those Generic models menu, Sensor models menu, can we use that to communicate from node to node. If so please let me know.

    For new questions, please create a new post.

    I am here to help resolve any issues with the project's TI provides as well as help clarify certain aspects of the specification as it relates to TI's implementation. I am here to help guide you, but I am in no way meant to replace the specification and collateral that is already available to learn from. Please take some time to thoroughly review the documentation I've linked and referred to and come back with follow up questions.

  • Hi Ammar,

        All the scenarios which I have mentioned are passed and working fine. I was able to send node to node, node(other than 0x0001) to a group address.

    All my interested scenarios are passed successfully.

    I have used Generic models menu to do all the scenarios using Launchpad buttons.

    Thanks for all your inputs.

  • Hey Manikanth,

    Awesome news, I'm glad to hear it!

    Please don't hesitate to follow up with more questions should you have them.