- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear,,,All
I'm testing cypress mesh solution the below environment.
-. KIT : CYBT-213043-MESH
-. IDE : ModusToolbox 1.1
-. BT SDK 1.4
-. Code Example : Download BT SDK 1.4 example from GIT
-. Test : mesh location client / server among snip folder in code example.
The mesh code examples provided by cypress are example codes based on the HCI control command.
But, I need stand-alone example code for my mesh application.
Question 1 : Could you provide me with an example for a stand-alone type mesh application that I mean?
(Additional, I need an example code to receive a provisioning from remote (ex, client control android app))
I'm trying to replace the HCI control-based example code provided by Cypress with the stand-alone example I'm talking about.i
In this process, I have the following questions.
From the mesh_location_client.c file of the mesh location code example, I can see "mesh_app_proc_rx_cmd" function.
In this function, I can see "wiced_bt_mesh_create_event_from_wiced_hci" function.
But,The "wiced_bt_mesh_create_event_from_wiced_hci" fucntion be calloed with HCI controlled command.
Because I have to make the stand-alone mesh application, I can call "wiced_bt_mesh_create_event" function instead of "wiced_bt_mesh_create_event_from_wiced_hci" function
if necessary.
Question 2 : For stand-alone project, If I need to call "wiced_bt_mesh_create_event" function directly, how can I put app_key_idx among the function argument?
(For reference, in the case of the HIC controll method, the value of the command packet is parsed and inserted)
Question 3: In case of "wiced_bt_mesh_create_event" function, I can the description below.
But, I can not understand fully about the function call.
Please explain in detail so that I can understand???
===========================================================================================================================
/**
* \brief Create mesh event for an unsolicited message.
* \details In case dst is 0 the function takes all information from the model's publication or fails if publication is not configured for the specified model.
* In case non-0 dst the function uses specified dst and app_key_idx and fills all other fields with default values.
* In special case with company_id equals to 0xffff the function creates a message event with default ttl.
*
* @param element_index Element index.
* @param company_id Company ID.
* @param model_id Model ID.
* @param dst Destination address. If parameter is 0, the function finds publication and take uses its fields for the mesh event.
* @param app_key_idx Global app key index. The parameter is ignored if dst is equal to 0. The 0xffff means device key.
*
* @return p_event Pointer to a newly allocated mesh event.
*/
wiced_bt_mesh_event_t *wiced_bt_mesh_create_event(uint8_t element_index, uint16_t company_id, uint16_t model_id, uint16_t dst, uint16_t app_key_idx);
=============================================================================================================================
Question 4: In order to make my desired stand alone mesh application, after provisioning the device, the device should store the provisioning information in internal flash memory. Is it right?
How can I get provisioning information if needed?
If I call the "wiced_bt_mesh_create_event" function, I need the app_key_idx value after provisioning.
Thanks,
Best Regards,
Pilheon
Solved! Go to Solution.
- Labels:
-
ispn:40214:1:0
-
l1:314:1:0
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Pilheon,
I did not understand the real meaning of "Standalone mesh Application". Could you please provide me the actual requirement of it?
You can get implementation of mesh models from snip/mesh applications. And demo/mesh applications are complete demonstration of the model/feature. But both these applications are capable of receiving and sending mesh messages through HCI as well as over mesh.
I would suggest you to go through the below demo/mesh applications to understand the end application.
Please have a look at,
1.on_off_switch (based on mesh_onoff_client) and
2.light_dimmable (based on mesh_light_lightness_server).
You need a provisioner (MeshClient (WIN10), Android, IOS) to provision this client and server devices into the mesh network, and, provisioner will take care of the entire database of the network (MeshClient application generates networkname.JSON).
When you use above two mesh applications and MehClient (Hosted on Windows OS) as provisioner, then all the communications are happening over mesh only. While provisioning provisioner shares necessary keys and indexes with the application and it stores in it.
Also you can go through the code of mesh_provision_client which is an implementation of multiple clients including configuration_client.
Useful documents:
Getting Started with Bluetooth Mesh
MeshClient and ClientControlMesh App User Guide
Thanks,
-Dheeraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The stand-alone type mesh application requested in question 1 of the previous question is for the mesh location client and the mesh location server.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Pilheon,
I did not understand the real meaning of "Standalone mesh Application". Could you please provide me the actual requirement of it?
You can get implementation of mesh models from snip/mesh applications. And demo/mesh applications are complete demonstration of the model/feature. But both these applications are capable of receiving and sending mesh messages through HCI as well as over mesh.
I would suggest you to go through the below demo/mesh applications to understand the end application.
Please have a look at,
1.on_off_switch (based on mesh_onoff_client) and
2.light_dimmable (based on mesh_light_lightness_server).
You need a provisioner (MeshClient (WIN10), Android, IOS) to provision this client and server devices into the mesh network, and, provisioner will take care of the entire database of the network (MeshClient application generates networkname.JSON).
When you use above two mesh applications and MehClient (Hosted on Windows OS) as provisioner, then all the communications are happening over mesh only. While provisioning provisioner shares necessary keys and indexes with the application and it stores in it.
Also you can go through the code of mesh_provision_client which is an implementation of multiple clients including configuration_client.
Useful documents:
Getting Started with Bluetooth Mesh
MeshClient and ClientControlMesh App User Guide
Thanks,
-Dheeraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Dheeraj,,,
For your reference, I'm already looking at useful documents you recommended.
I hoped to find the location server and client code example, just like the other examples in demo / application.
However, since I only searched the location server and client example in snip / application.
From the mesh_location_client.c file of the mesh location code example in snip/application, I can see "mesh_app_proc_rx_cmd" function.
Without "mesh_app_proc_rx_cmd" function, I'm going to create and take a test any mesh communication between mesh location client and server.
In the process, I have the following question.
From the mesh_location_client.c file of the mesh location client code example, I can see "mesh_app_proc_rx_cmd" function.
In this function, I can see "wiced_bt_mesh_create_event_from_wiced_hci" function.
To use without "mesh_app_proc_rx_cmd" function, I'm going to call "wiced_bt_mesh_create_event" function instead of "wiced_bt_mesh_create_event_from_wiced_hci" function.
Question 1 : To call "wiced_bt_mesh_create_event" function directly, how can I put app_key_idx among the function argument?
(For reference, in the case of using "mesh_app_proc_rx_cmd" function, the value of the command packet is parsed and inserted)sk
Question 2: In case of "wiced_bt_mesh_create_event" function, I can see the description below at API reference.
But, I can not understand fully about this function.
Please explain in detail so that I can understand???
===========================================================================================================================
/**
* \brief Create mesh event for an unsolicited message.
* \details In case dst is 0 the function takes all information from the model's publication or fails if publication is not configured for the specified model.
* In case non-0 dst the function uses specified dst and app_key_idx and fills all other fields with default values.
* In special case with company_id equals to 0xffff the function creates a message event with default ttl.
*
* @param element_index Element index.
* @param company_id Company ID.
* @param model_id Model ID.
* @param dst Destination address. If parameter is 0, the function finds publication and take uses its fields for the mesh event.
* @param app_key_idx Global app key index. The parameter is ignored if dst is equal to 0. The 0xffff means device key.
*
* @return p_event Pointer to a newly allocated mesh event.
*/
wiced_bt_mesh_event_t *wiced_bt_mesh_create_event(uint8_t element_index, uint16_t company_id, uint16_t model_id, uint16_t dst, uint16_t app_key_idx);
=============================================================================================================================
Question 3: after provisioning the device, the device should store the provisioning information in internal flash memory. Is it right?
Which function call can I get provisioning information if necessary?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content