This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Getting started with meshing (nRF52840)

Quick project overview:

Mesh network using nRF52840.

Nodes need to be able to be controlled individually (setting GPIOs) and also report back data (ADC, GPIO state) to a mobile device. The mobile device should show a list of all the nodes in the network and be able to send and receive data to/from them.

I am confused on what roles each node needs to play. And how does the mobile device access the mesh network. Is it through one device that is running coexistence? That means the mobile device will need to be in range of this coexistence node and can't just be located anywhere in the mesh, right?

I also want to be able to DFU individually, (not mesh DFU).

Sounds like I need each node to be running coexistence? Is that correct?

I used a nRF51832 a few years ago, but this meshing is a whole different beast it seems.

I'd appreciate some starting pointers. There don't seem to be many examples. I loaded the light switch example, but that is nowhere close to the application I need.

Thanks.

Parents
  • Hi,

    For introductory material on nRF5 SDK for Mesh, have a look at the Getting started sections for nRF5 SDK for Mesh on Infocenter. We have guides showcasing a simple OnOff model and for creating new models (found under Libraries -> Mesh models.) For a basic understanding of Bluetooth mesh, you can have a look at Basic Bluetooth Mesh concepts.

    In general you can connect from a smartphone to any node in the mesh network that has enabled the GATT Proxy feature, and through that connection reach any other node in the network.

    In order to do DFU directly to the node (not using other mesh nodes for extending the range) you must use the DFU solution from nRF5 SDK. This is the DFU soulution you must use for Low Power Nodes as well.

    The coexistence examples are for situations where you need both a Bluetooth mesh network (with mesh models) and BLE services on the same device. For your use case, it sounds like only the DFU solution needs to be done using BLE (and thus taken from nRF5 SDK.)

    Regards,
    Terje

  • What if I wanted a mesh network where if something happens on one of the nodes (i.e. gpio gets activated) all the other nodes should react to it (i.e. turn on a gpio). This should work for every node in the mesh. Any node could have its gpio externally activated and then every other node should activate a gpio. What would the architecture be for something like this? It's almost like the light switch example, but each node needs to be a server and client at the same time.

  • Hi,

    In that case, you could still use the OnOff model, but have both a server model and a client model on each node. (You can have multiple models on one node, where some are client models, some are server models.)

    Configure all of the client models to publish to a group address. Configure all the server models to subscribe to that same group address. When a node gets the activation signal (from peripheral, from GPIO, or otherwise) the client model publishes an OnOff message, and all nodes (including itself) gets the message in the server model which turns on/off.

    Regards,
    Terje

  • What if I wanted to send more data than just a simple OnOff. I.e. I want to send a few bytes with additional information.

Reply Children
Related