Gettingen started with Bluetooth Smart Mesh

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Gettingen started with Bluetooth Smart Mesh

2,338 Views
matthiasschuh
Contributor II

Hey there,

wondering what would be the best combo of hardware to get started with Bluetooth Smart Mesh.

I'd like to setup a demo with one device acting as a gateway / bridge to our lan / wlan and several

nodes to test the mesh capability.

I was thinking of:

Any ideas or references for similar demo applications ? Are there maybe demos to run a mesh via a raspberry or something similar ?

Best Regards

8 Replies

1,055 Views
danielkresta
NXP Employee
NXP Employee

Hello Matthias,
unfortunately the mesh solution is not supported for KW40Z, so you would have to use KW31Z or KW41Z instead. You can use FRDM board, USB dongle or your custom board with this device.

Commisioner control commands can be sent using USB serial terminal to both FRDM and USB boards.

There are two demo applications for KW41Z in the Connectivity Software Package, one for a mesh commissioner and one for a mesh device.

Regards,
Daniel

1,055 Views
matthiasschuh
Contributor II

Dear Daniel,

thank you for clearing that up. Is it possible to gain more insight on functional aspects like security etc. after signing an NDA? Currently all information seems stronlgy focused on the hardware. I would be very happy to gain more insight in how to arrange a mesh with the Kinetis solution. Is there something like a wiki I havent stumbled upon so far?

Best regards,

Matthias

0 Kudos

1,055 Views
danielkresta
NXP Employee
NXP Employee

Matthias,
in the Connectivity software package (folder \docs\wireless\Bluetooth ) you will find BLE Mesh User's Guide and API Reference Manual, that can provide you with basic infromation that you are searching for.

If you want more information on how to work with Commisioner/Node examples that are in the Connectivity software, I'll direct you to this community post.


Hope this helps,
Daniel

1,055 Views
samsaprunoff
Contributor V

Good day Daniel,

Do you have an updated link that you posted?  I ask, as it directs me to a page that says "Unauthorized".  I am looking for a more thorough demo of using the FRDM KW41 Commissioner and Node applications.  The documentation provided is helpful but does not really walk one through the demos to see the functionality in action.

Thanks on advance!

Cheers,

Sam

1,055 Views
danielkresta
NXP Employee
NXP Employee

Hello Sam,
sorry for a later response. The link I posted is directed to a community group, where you probably do not have access to. I'll try to summarize and guide you through it.

Basically, if you want to create a mesh network, you should load a mesh_device project on multiple KW41Z, but each on with an unique BD_ADDR_ID (define on the bottom od the app_preinclude.h located in mesh_device\app\mesh_device project structure). For example 0x01 for the first device, 0x02 for the other, etc.

If you want to explore a lightning profile, you can assign a Light switch or Light bulb role to each of these devices. This can be done in app.h in the same project folder. Here, you can enable either gAppLightSwitch_d or gAppLightBulb_d. You can then inspect what is changed by these macros in app.c. You will then need to fill the UpdateLightUI function in the app.c, it could be looking like this:

static void UpdateLightUI(bool_t lightOn)

{

   if (lightOn)

   {

      Led2On();

      Led3On();

      Led4On();

   }

   else

   {

      Led2Off();

      Led3Off();

      Led4Off();

   }

}

Then, you should load a mesh_commissioner project into an other board and start a serial connection to this board. Through this you will be able to control every mesh_device you have created and addressing them using their BD_ADDR_ID. If you type "help", you'll receive a list of commands you can use. For example, you can type "light on" for a broadcast message to turn off lights on all devices. A UpdateLightUI is then called on each node with a bool parameter lightOn 0. If you want to send an unicast message to a device with BD_ADDR_ID set as 0x01, then type "light on 1" (here, the address is in decimal). You can also set a device to publish on a certain multicast address through a "pub" command and subscribe other devices to this address through a "sub" command. More on multicast settings is written in the Mesh User guide. It is possible to change a TTL value of each mesh node from the commissioner through a "ttl set" command, default value is 5. You can also enable/disable a relay status of each node through a "relay" command.

If you want to create some custom functions on both types of devices, you can use the API from the mesh library.

Hope this helps,
Daniel

1,055 Views
evgenyerlihman
Contributor IV

Hi Daniel,

In the documentation i see

The Mesh Commissioner application instantiates a node with the mesh address 0x0001. This address is fixed inside the
library and cannot be changed from the application. The demo application is configurable with regards to the network key
and the terminal functionality.

Does this mean that any additional node in the network should start from 0x2?

Thanks,

Evgeny

0 Kudos

1,055 Views
samsaprunoff
Contributor V

Good day Daniel,

Thank you for your response!  Indeed, I had no access to where the link directed me to, however, your summary certainly helps! 

Thanks again!

Cheers,

Sam

0 Kudos

1,055 Views
matthiasschuh
Contributor II

Thank you for pointing that out! Now I'm happy!