- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all:
there is configuration interface on the mesh client control, show it as below:
now I want to use it send the Heartbeat subscription and publication message to the light CTL server by the HCI Uart
the client have received the HCI message correctly and send the message successfully. however the light CTL server
can't receive the message iin the message receive callback API(get_msg_handler_callback).
the source and Destination address of message is corrent !
now I don't know how to settle it .
thanks!
mandy
Solved! Go to Solution.
- Tags:
- cyw20735
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi mandy wu,
I think you are using wrong clientcontrol (from some other version of WICED). Please try to use ClientControl from same WICED SDK, because there can be code changes on both clientControl as well as mesh_provision_client.
I just tried with the WICED 6.4.0.61 (WICED-Studio 6.4.0 Installer (Windows) ) using 20735 device and it just worked well.
Please check the WICED version from version.txt file in the SDK install folder directory. I am using public release of WICED 6.4 (WICED6.4.0.61) and the version.txt has below infrormation:
WICED-SDK Version: Wiced_006.004.000.0061
b38d42ee8368ff374b13514286120afd9e788a07
If you are using any other version of WICED please let me know and try to upgrade to the public release (link given above).
Also I am attaching the clientcontrol from WICED 6.4.0.61 here. Please try your experiment with it also.
Thanks,
-Dheeraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi mawu_4270096
Did you give correct 'app key index' along with the destination?
If you have used 'Light Control' tab to provision and configure your device, then from the networkname.JSON (database) you can get the valid 'app key index' and you will have to provide it in the clientcontrol.
Thanks,
-Dheeraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
sorry. I use the nordic app nRF Mesh to connect the bt mesh device, I don't know why the configuration server model can't bind a app key, however other models for example the generic on/off model can bind a app key .
however the cypress app have not the configuration server model interface. currently I have not used the 'Light Control' tab to provision. I use the mobile phone to provision my devices and configure my devices using the 'Light Control' tab !
thanks!
mandy
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
From mobile app also, you can export the database (.json) of the network to the SD card and get the app key index value. (There will be an option to export as well as import the database).
Every first element of all mesh device includes Configuration server and Health server models.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
there is a bug for the mesh client control . it can scan the unprovisioned devices but when I click the provision and configure button . it mentions the UUID not found!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi mawu_4270096,
You have to create a network, open it and then scan for unprovisioned devices before clicking on 'provision and configure' button. I think you missed to create a network and open it.
Could you please go through the below document.
https://www.cypress.com/file/462491/download
Steps you can follow:
You need to use MeshClientControl along with mesh_provision_client app to provision and configure a mesh device.
1. Open WICED HCI UART of mesh_provision_client app in MeshClientControl.
2. Provide a network name and click on the create button. And click on the open button which will open the created network.
3. Scan for unprovisioned beacons.
4. If 'Provision UUID' field got filled with valid UUID of the mesh device which to be provisioned then click on the 'provision and Configure' button.
Also please use correct baud rate based on the hardware which you are using.
Thanks,
-Dheeraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi DheerajP_41 :
I have create a network,and open the network,I have referenced the MeshClient_and_ClientControlMesh_App_User_Guide.pdf
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi mawu_4270096,
I just provisioned a server device using mesh_provision_client+MeshClientControl - lightcontrol tab.
I have used ModusToolbox1.1+BTSDK1.4. Are you using the same versions of SDKs? Otherwise please update.
https://www.cypress.com/products/modustoolbox-software-environment
Can I know which hardware board are you using?
Also which is the OS of your system?
Thanks,
-Dheeraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
the created network can scan the unprovisioned device,however the provisioned UUID field can't be filled with the UUID of discovered device!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I use the CYW20735 platform and my PC OS is win8.1
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So, are you using WICED to download the app to 20735 board? I assume you are not using Modus SDK.
Could you please provide below details?
->Which WICED version you are using?
->Which mesh applications you are using?
Also, could you please try with the attached MeshClientControl?
Thanks,
-Dheeraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi DheerajP_41 :
the wiced version is 6.4
mesh application is mesh_provision_client
can ModusToolbox BT SDK 1.4 be used on the CYW20735 platform?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi mandy wu,
I think you are using wrong clientcontrol (from some other version of WICED). Please try to use ClientControl from same WICED SDK, because there can be code changes on both clientControl as well as mesh_provision_client.
I just tried with the WICED 6.4.0.61 (WICED-Studio 6.4.0 Installer (Windows) ) using 20735 device and it just worked well.
Please check the WICED version from version.txt file in the SDK install folder directory. I am using public release of WICED 6.4 (WICED6.4.0.61) and the version.txt has below infrormation:
WICED-SDK Version: Wiced_006.004.000.0061
b38d42ee8368ff374b13514286120afd9e788a07
If you are using any other version of WICED please let me know and try to upgrade to the public release (link given above).
Also I am attaching the clientcontrol from WICED 6.4.0.61 here. Please try your experiment with it also.
Thanks,
-Dheeraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi DheerajP_41:
now I use the SDK WICED 6.4 (WICED6.4.0.61) and also use the mesh client control to create a network, the device can join the network successfully. I can use mesh client control to turn on/off the remote diammable light.
now I want to use mesh client control to configue the device. there is a configuration interface on the mesh client control.I want to use it to configue the heartbeat subscription message and the heartbeat publication message for the device. I can get the network key, network key index,app key,app key index from the xxx.json. when I send heartbeat publication by the 'set' button.the message callback function of configuration server model of remote device have not been called and the configuration server have not received any meaasges!
the message callback function of configuration server model is defined as below:
{ MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_CONFIG_SRV, mesh_config_server_message_handler, NULL, NULL },
{ MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_HEALTH_SRV, mesh_health_server_message_handler, NULL, NULL },
so the mesh_config_server_message_handler is never called
thanks
mandy
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi DheerajP_41:
when I use the mesh light ctl server as the mesh server, and use the mesh provision client as the client ,the mesh provision client can discover the mesh light ctl server,but when I provision and configue mesh light ctl server ,there is a error message on the mesh client control as below:
Node unreachable: opcode: 161a addr:4
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi DheerajP_41:
I have searched the whole SDK project, I think the process_tx_complete function is called, and the tx_status is
TX_STATUS_FAILED
void process_tx_complete(uint8_t *p_buffer, uint16_t len)
{
int i;
wiced_bt_mesh_event_t *p_event = wiced_bt_mesh_event_from_hci_header(&p_buffer, &len);
if (p_event == NULL)
return;
uint16_t num_addr;
uint16_t addr;
uint16_t hci_opcode = p_buffer[0] + ((uint32_t)p_buffer[1] << 8);
uint8_t tx_status = p_buffer[2];
if (tx_status == TX_STATUS_FAILED)
{
num_addr = p_buffer[3] + ((uint32_t)p_buffer[4] << 8);
for (i = 0; i < num_addr; i++)
{
addr = p_buffer[5 + (2 * i)] + ((uint32_t)p_buffer[6 + (2 * i)] << 8);
Log("Node unreachable: opcode:%x addr:%x", hci_opcode, addr);
}
// ToDo notify parent mesh_provision_process_event(WICED_BT_MESH_CONFIG_APPKEY_STATUS, p_event, &data);
}
else
{
addr = p_buffer[3] + ((uint32_t)p_buffer[4] << 8);
// Log("Mesh Tx Complete: opcode:%x addr:%x", hci_opcode, addr);
}
wiced_bt_mesh_release_event(p_event);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi mandy wu,
If you give correct app_key_index and destination in the configuration tab of client control, then the sent message should receive at the destination.
Note:For GET messages you have to use Generic appKey index and for SET messages you have to use Setup appKey index.
Let me try the same at my side and let you know the result soon.
"Node unreachable" means, one of the node in the network is not available/reachable when a security update happens in the network (Eg: Key refreshment).This happens to you during testing because you may be using the same network (where you have done many node add/remove operations) for all your experiments. While testing please use different networks for different types of mesh experiments.
Thanks,
-Dheeraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
HI mawu_4270096 ,
Please make sure you enable the following flags in the makefile.mk of the application you use. I tried to set heartbeat parameters using the light_dimmable app and it works.
MESH_MODELS_DEBUG := 1
C_FLAGS += -DWICED_BT_TRACE_ENABLE
And please check the client control logs for the sent messages and the response from the server.
Please make sure you mention the correct address in the Heartbeat subscription/publication rowa of client control also.
Thanks,
-Dheeraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thank you!
I will do a try and tell you the test result as soon as possible
thanks!
mandy