BLE mesh OTA

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

cross mob
lock attach
Attachments are accessible only for community members.
RoBe_1502026
Level 4
Level 4
25 replies posted 10 replies posted 5 replies posted

Hi all,

I think I am making some progress. I currently can use the lightblue app to send a value to the module and I see in the terminal "OTA handle CMD:10 ... (10 is the value sent)
here is a screenshot of the terminal:  2019-07-08_1514

I dont think the callback or whatever is ment to be called is being called when the data is sent.

here is my code is attached

what I ultimately was is an app that I can send a value to called 'Relay'

and retrieve values called  'temp','volts' as a start.

I will then be using another processor or seeing if code is small enough to use a single module to run it all.

Originally was going to use the psoc6 but it doesnt support mesh so need to look elsewhere.

I think I am close but keep hitting dead ends.

Thanks,

Rob

0 Likes
1 Solution
DheerajPK_41
Moderator
Moderator
Moderator
750 replies posted 500 likes received 500 replies posted

Hi RoBe_1502026,

I checked the logs. I think you are using the mesh app before provisioning it. If you want to use the mesh apps, you will have to provision and configure the device well, so that the nodes can publish and subscribe messages properly. Could you please check whether you are provisioning correctly or not?

After provisioning, when the server gets a command, it should be able to process the command and respond back if necessary.

Thanks,

-Dheeraj

View solution in original post

6 Replies
DheerajPK_41
Moderator
Moderator
Moderator
750 replies posted 500 likes received 500 replies posted

Hi RoBe_1502026,

I checked the logs. I think you are using the mesh app before provisioning it. If you want to use the mesh apps, you will have to provision and configure the device well, so that the nodes can publish and subscribe messages properly. Could you please check whether you are provisioning correctly or not?

After provisioning, when the server gets a command, it should be able to process the command and respond back if necessary.

Thanks,

-Dheeraj

I believe you are correct. I am trying to use the lightblue app but that doesnt let you provision.  If I use the wiced lighting app it will show in the provisioning process but after I give it an name, it never shows in the list of 'light'

I am currently trying to use the sensor app as my base app and want to do the following:

1. add sensors - I increased the number of sensors and added another entry in the mesh_element1_sensor[] array. To add more sensors do I add to the mesh_element1_sensor[] array or create a mesh_element2_array[]?   How to I present the new sensor to the network? I have read the getting started a few times but not 100% clear. read it one way and it seems like you need to make new arrays for each sensor but the code doesn't seem to support that.

2. If I want to add an editable property, do i create a new entry in the mesh_element1_properties[]?  When I try to access this in the lighting app it  never shows in the list. And whe i try in lightblue app, I see the first 3 Manufacture data type but not the ADMIN type. But even if I change to MANUFACTUERER it still doesnt show in the app list of values.

3. If I make a property read/writable I can update it from a client, correct?

Also I try to use the clientcontrol app but even after connecting to the serial port, everything is grayed out and cant do anything but download firmware.

Thanks!

Rob Berry

0 Likes

Hi Robert Berry,

  1. You need to create mesh_element2_sensor[] if you want to add second element for your device. And add an entry to wiced_bt_mesh_core_config_element_t with appropriate configurations. I would suggest you to go through mesh_onoff_server app code to understand how to code multiple elements.
  2. You need to create a new entry in the mesh_element1_properties[] with appropriate configuration data and you have to mention it in element1 entry in wiced_bt_mesh_core_config_element_t. Please go through mesh_property_server app if you want to learn how to code multiple properties.
  3. Yes, depending on the defined device properties properties can be read only or read-write. 
  4. I think you are talking about model tab in ClientControl. Here you have to select appropriate model from the drop down menu located on the 1st row of clientcontrol (by default OnOff model is selected).

Thanks,

-Dheeraj

0 Likes

Thanks for the reply. I am looking at the examples with the mideset of the element2[] etc.

here is a picture of the ClientControl I have in the MorusToolbox. does not have a dropdown as you described.

2019-07-10_0915

Also, I am wanting to test the properties server/client and when i try to create a network and provision the client/server in the Android Mesh lighting app, I see the client and server. BUT when I try to provision the devices i can select and name them, but they never show in the list of devices in the room.

Is there another app I should try? I also want to see how the update and read of the properties work.

Also, In the sample properties server it shows a property 'mesh_property_motion_threshold'. When I try to connect to the server, the other properties show but not this one. Why? is it due to the 'ADMIN' type? Would changing it to a MANUFACTURER' type make it show?

Thanks,

Rob Berry

Hi RoBe_1502026,

The clientcontrol which you are using is not suitable for mesh applications.  Please use the clientcontrol located in \ModusToolbox_1.1\libraries\bt_sdk-1.1\components\BT-SDK\common\apps\snip\mesh\ClientControl\Release.

Also you need to connect mesh_provision_client app to your clientcontrol, so that other mesh devices (property_client, property_server) can be provisioned into a network created by this provisioner.

Thanks,

-Dheeraj

0 Likes

Thanks!

I was mistakenly clicking the clientcontrol link in the Modustoolbox QuickPanel option for the clientcontrol.

-Rob

0 Likes