BT Mesh proxy node and sequence number questions

Greetings,

I've been trying to implement a cloud-based solution for Bluetooth Mesh. I've got two questions that I would like to receive some comments on and I would be grateful for any assistance.

1. Am I correct to understand that you can have as many proxy connections as there are nodes in the network? To rephrase, is it possible to have two or more smartphones connect to a single Mesh node over BT Mesh proxy functionality?

2. How should I deal with sequence numbers when having two smartphones connect over BT Mesh to a single node in sequence?

The problem I run into is as follows:

Say, I have two smartphones on an App with user account system that is able to save BT Mesh networks in the cloud using Nordic's Bluetooth Mesh library for Android. User retrieves the BT Mesh network data upon logging in. The following steps would be done on a single user account.

  1. On phone 1, I connect to a proxy node within the network and send/receive some Mesh packets to increase the sequence number.
  2. I stop using phone 1 at all, closing the app, BT connections and updating the Mesh network in the cloud.
  3. On phone 2, I sign on with the same user account, retrieving the previous Mesh data, connect to the same proxy node and attempt to send/receive Mesh packets.

In step 3, I would be unable to send/receive Mesh packets successfully due to invalid sequence number. The "export mesh network" functionality inside Nordic's Bluetooth Mesh library for Android does not save the sequence numbers that devices expect to receive.

Can you suggest me a way of going around this, so that phone 2 would be able to talk with the proxy node?

Would it be feasible to somehow reset the sequence number to zero upon a new connection to a proxy node?

Or maybe I should store the phone 1's sequence number in the cloud and have phone 2 retrieve it?

Thank you for reading and any replies.

Related