This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Multiple proxy clients and concurrent updates

Hello Nordic,

We have constant success with provisioning servers into the mesh and communicating to smart devices via proxy node. However we do all provisioning with the smart device app (both android and iOS) and so a couple questions came up:

1: We don't have luck provisioning with one mobile (GATT) device and then trying to get the other GATT device to connect to the network. We tried copying the net key and app key from the provisioning device to the other device (both are mobile devices) that we want to connect but it doesn't find the network when scanning. Neither with the provisioning smart device connected and disconnected from the proxy server. Is there a specific procedure for connecting another smart device (GATT) that didn't provision the network? We do see the device in nRFConnect app and can connect but there's no way to send information since we technically are not sending a proxy PDU with appropriate keys etc. 

2: Assuming a solution exists to the first question, let's suppose there are multiple GATT devices connected via proxy nodes into the mesh. Should each GATT device have its own unicast address or can they all have the same unicast address? I would think there is no way for the network to "know" that the source address of the message is actually from different devices since they are relayed through proxy nodes. The reason for this question is that if I send a command from one device, I would want that state to reflect on all connected devices. The server is going to send a reply to the src of the message, so if the GATT devices can all have the same address they should all get the message passed to them. Similarly, when the server state is changed locally (button press on the device) it should publish, and again if the model publish address is a unicast address -- that of the GATT devices, state should reflect. Is this possible?

3: If the answer to 2 is "no" the best alternative that we can think of at the moment is to have all the GATT devices subscribe to a group address that all the servers publish state to. This requires a bit more coding to handle but is certainly feasible when building the mesh network. In this case how are GATT devices that want to connect to the mesh network assigned addresses? Is there a proxy feature that "provisions" a GATT device to be able to connect to the network (back at question 1 again) and assigns an address?

Apologies for the quantity of words. Thanks!

Parents
  • Hi. 

    Sorry about the delay here. For some reason your ticket was hidden in the system.

    However we do all provisioning with the smart device app (both android and iOS) and so a couple questions came up:

    Are you using your own mobile app for this, or are you working with our nRF Mesh app? 

    1.
    We actually have quite limited example code for mobile phones (yet). 
    What we currently have is an example of a phone acting as a provisioner with hardcoded address, netkey, appkey etc. 
    So we don't have an example on how to provision a phone into a Mesh network. The workaround would be to distribute the keys to all phones (using a different com. method) and also hardcode the phone with a unique address. After that the phone should be able to talk to the mesh network via GATT proxy nodes. 

    2. I would say that the answer to this question is no. Each node in the mesh network should have it's own unique unicast address. 

    3. Let me talk to our developers and get back to you. 

    Best regards, 
    Joakim Jakobsen

Reply
  • Hi. 

    Sorry about the delay here. For some reason your ticket was hidden in the system.

    However we do all provisioning with the smart device app (both android and iOS) and so a couple questions came up:

    Are you using your own mobile app for this, or are you working with our nRF Mesh app? 

    1.
    We actually have quite limited example code for mobile phones (yet). 
    What we currently have is an example of a phone acting as a provisioner with hardcoded address, netkey, appkey etc. 
    So we don't have an example on how to provision a phone into a Mesh network. The workaround would be to distribute the keys to all phones (using a different com. method) and also hardcode the phone with a unique address. After that the phone should be able to talk to the mesh network via GATT proxy nodes. 

    2. I would say that the answer to this question is no. Each node in the mesh network should have it's own unique unicast address. 

    3. Let me talk to our developers and get back to you. 

    Best regards, 
    Joakim Jakobsen

Children
  • Hi Joakim,

    We have been doing all our device building/testing with the nRF Mesh app. We are beginning to build our own app and thats how these questions came about. 

    So it looks like for now we will hardcode unicast addresses into mobile devices until we can come up with some automated way of checking for available addresses and assigning to the mobile device when establishing the GATT connection.

    Will wait to hear back on what the developers come back with.

    Thanks! 

Related