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

BLE Mesh serial - cannot set the device key via UART

It is possible to provision the NetKey, AppKey and unicast address of a node using the serial protocol, using the following messages:

Mesh Subnet Add, Opcode: 0x92 - NetKey

Mesh Appkey Add, Opcode: 0x97 - I assume this sets the appkey that is used to encrypt data submitted with Bluetooth Mesh Packet Send, Opcode: 0xab

Mesh Addr Local Unicast Set Opcode: 0x9f

However I cannot find any way to provision a device key in a node via the serial protocol (we would like this option, in addition to the option to provision OTA).

If no device key is set in a node does this then mean that the node cannot be configured to publish a periodic heartbeat ?   (And another node could not subscribe to that heartbeat).

Without a device key set it seems that the whole configuration model would not be usable.  This may not be a problem in our application - I just need to understand it.  Thanks!

Parents
  • Hi,

    Regarding provisioning using a serial protocol, I suggest you have a look at our Interactive PyACI script and Interactive mesh provisioning and configuration

    If no device key is set in a node does this then mean that the node cannot be configured to publish a periodic heartbeat ?   (And another node could not subscribe to that heartbeat).

     Yes, that is correct. I would suggest you read through this.

  • Thanks - I did run the light server provisioning demo, and captured the log file and analyzed it.  However ours is a different situation.  We would like to be able to provision every node in the mesh using serial - not over the air at all.  In a similar way as the dev.quick_setup() script does for the "sending mesh packets" demonstration.  We do not require mesh standard compliance - we intend to use it only as a data bearer, not for standard models.

    The one thing missing with configuring the nodes this way is no devkey is generated - so I was wondering if it's possible to write a devkey into the node using the serial protocol - the dev key could be generated by a RNG on our host processor.

    Also the serial example nrf5_SDK_for_Mesh_v4.0.0_src\examples\serial does not appear to contain support for being a mesh over-the-air provisionee. I'm not sure how complex or how much work it is to add the provisionee functionality into the serial example (by copying out of the light server, for example).

Reply
  • Thanks - I did run the light server provisioning demo, and captured the log file and analyzed it.  However ours is a different situation.  We would like to be able to provision every node in the mesh using serial - not over the air at all.  In a similar way as the dev.quick_setup() script does for the "sending mesh packets" demonstration.  We do not require mesh standard compliance - we intend to use it only as a data bearer, not for standard models.

    The one thing missing with configuring the nodes this way is no devkey is generated - so I was wondering if it's possible to write a devkey into the node using the serial protocol - the dev key could be generated by a RNG on our host processor.

    Also the serial example nrf5_SDK_for_Mesh_v4.0.0_src\examples\serial does not appear to contain support for being a mesh over-the-air provisionee. I'm not sure how complex or how much work it is to add the provisionee functionality into the serial example (by copying out of the light server, for example).

Children
No Data
Related