I see references to a get (0x8046), set (0x8047), and status (0x8048) messages for Node Identity. Where could I find documentation about these messages? There is no sample code in the Nordic App for these messages.
I see references to a get (0x8046), set (0x8047), and status (0x8048) messages for Node Identity. Where could I find documentation about these messages? There is no sample code in the Nordic App for these messages.
Hi,
This is all part of the Configuration Model, which is one of the foundation models in Bluetooth mesh. The message formats for the Bluetooth mesh packets are directly from the Bluetooth mesh specification, and the data structures used in our nRF5 SDK for Mesh is described in the Message formats chapter of our Configuration Model documentation. You should use our API functions and the Configuration Model module in the SDK for handling these messages.
Regards,
Terje
Yes, I see the definitions for these messages but not what they actually do or how to pack the data for these messages. Is there more documentation like this for them?
Yes, but I'm not able to find an existing code sample on how to accomplish this. The Nordic App does 1-1 connections with nodes so you provision one node with one iPhone but I'm not able to find out how to interact with a single mesh network from multiple phones. I just need some way to determine the identity of a node from different phones. The UUID changes between phones for the same node.
Also, if I send a blank get message I'm not getting a status message back. I don't know what data I'm supposed to send with the get messages to get a status response.
Hi,
The Config Node Identity Get message has one field 2 bytes in size, for NetKeyIndex, ref. Mesh Profile Specification 1.0.1, section 4.3.2.43 "Config Node Identity Get", where the encoding for NetKey Index is described in detail in section 4.3.1.1 "Key indexes" in the same document.
The main reasoning for having that field would be that a node can take part in multiple networks, with different node identity for each network.
Regards,
Terje
Ok, thank you so much for the reference link! The problem I'm having is that iOS gives a different UUID for the same provisioned node from another iPhone. Is there any way to get some unique ID for a node that stays the same across connections?
Hi,
The unicast address for the node is unique and constant for as long as the node is part of the network. (That is, from provisioning to removal.) While it is possible to use e.g. heartbeat and TTL to probe for the nearest device (and hence figure out what GATT proxy node you are connected to), Node Identity would be the preferred method. (Note that Node Identity is based on the unicast address and the subnet network key.)
Regards,
Terje
Hi,
The unicast address for the node is unique and constant for as long as the node is part of the network. (That is, from provisioning to removal.) While it is possible to use e.g. heartbeat and TTL to probe for the nearest device (and hence figure out what GATT proxy node you are connected to), Node Identity would be the preferred method. (Note that Node Identity is based on the unicast address and the subnet network key.)
Regards,
Terje