Getting Provisioning Data from a Bluetooth Mesh Device

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
JoBo_4364091
Level 1
Level 1
First question asked First reply posted

Hello All,

I am experimenting with the CYBT-213043-MESH development board and as part of my current project I need to be able to handle network messages based on their source and destination node addresses. To do this I am looking to access the provisioning data of the local device.

Currently I am using this function…

wiced_bt_mesh_core_get_local_addr();

…from the “wiced_bt_mesh_core.h” library, to find the provisioned network address of the device. However, I would also like to identify group messages by finding the provisioned group address of the device the program is running on.

Is anyone aware of a similar function that will allow me access the device’s local provisioning data that includes the provisioned group address?

Thank you.

0 Likes
1 Solution
Owen_Zhang123
Moderator
Moderator
Moderator
5 questions asked 500 solutions authored 250 sign-ins

If you are using the Modus Tool Box for your development, please refer to the folder like C:\Users\xxxx\ModusToolbox_1.1\libraries\bt_sdk-1.1\components\BT-SDK\common\libraries\mesh_client_lib.

All the lib files that needed in the provision process are here. You can find the following API:

uint16_t wiced_bt_mesh_db_get_node_addr(wiced_bt_mesh_db_mesh_t *mesh_db, uint16_t element_addr)

uint16_t get_device_addr(const char *p_dev_name)

View solution in original post

0 Likes
3 Replies
Owen_Zhang123
Moderator
Moderator
Moderator
5 questions asked 500 solutions authored 250 sign-ins

If you are using the Modus Tool Box for your development, please refer to the folder like C:\Users\xxxx\ModusToolbox_1.1\libraries\bt_sdk-1.1\components\BT-SDK\common\libraries\mesh_client_lib.

All the lib files that needed in the provision process are here. You can find the following API:

uint16_t wiced_bt_mesh_db_get_node_addr(wiced_bt_mesh_db_mesh_t *mesh_db, uint16_t element_addr)

uint16_t get_device_addr(const char *p_dev_name)

0 Likes

Thanks for getting back to me, that library has quite a lot of useful functions that I can use.

I have found the function wiced_bt_mesh_db_group_get_addr(wiced_bt_mesh_db_mesh_t *mesh_db, const char *group_name) within the wiced_bt_mesh_db.h file which looks perfect for what I need, but do you know where I can find, or how to generate the argument "wiced_bt_mesh_db_mesh_t *mesh_db" from the mesh network so I can use this function in my code?

Thanks again.

0 Likes

The mesh database is created with the mesh network. You can find the database p_mesh_db is created in the API mesh_client_network_create.

0 Likes