How to streamline sensor data over Mesh

Hey DevZone Community and Nordic Engineers :)

I'm trying to configure a multiple sensors board to BLE Mesh / COEX Mesh & BLE (If the solution you'd offer to the regular Mesh is also relevant to the COEX case, it would be superb. Otherwise, I'll open a different ticket later).

As far as I tried, the examples on the SDK are mainly with the sensor library. My sensors are not part of the Sensor.h, and thus, I don't know what is essential and what is replaceable - and how.

I'm using NCS v1.9.1 with nRF52840/32 and sometimes nRF21540dk (52840 based).

As far as I noticed, all the tickets relating to Mesh are way old and irrelevant to my current setup.

What do I need to adjust at the mesh_sensor to a regular peripheral (i2c\spi\adc etc.) sensor(unsupported by NCS sensor.h)

Thanks for all the helpers :)

Parents
  • Hi,

    I have picked up your case and have queried our Mesh team about details for an answer. I hope to get back to you by tomorrow.

    Kind regards,
    Andreas 

  • Hi,

    Thank you for your patience.

    Based on my discussion with my colleagues we've come to the following conclusion. As far as we can see, this is not (yet) a Mesh-related question, but rather a question on how to add a sensor that is not supported in our SDK to a project. Unfortunately we do not have support for creating drivers for sensors outside of our SDK, so you will have to do one of the following things for adding support for this sensor

    • Find a driver for the sensor online that works 
    • Ask the manufacturer of the sensor if they have a standardized Zephyr driver for the sensor or if they can create one for the sensor that you can add to your code base
    • Write a driver yourself for the sensor and add that to your code base

    If you already have a driver for your sensors and are wondering how to add this to your code base, please let me know and I'll continue to query my colleagues for information about how to do this.

    Also let us know if you're having issues with setting up I2C/SPI/ADC (whichever you choose to use for communication with the sensor), and we'll help you with that. As a starter, you can see some resources about Serial communication over I2C here:

    After you've added this driver to your code base and can read the data, I recommend you move on to how to do send the sensor data over mesh, as this part should be relatively straight forward.

    I hope this answer helps you getting started and please ask more follow up questions if you have any

    Kind regards,
    Andreas

  • I disagree.

    The current model handler is specified to the mesh/sensor.h formats, and with insufficient documentation about the dynamics between models, I think my question IS, as a matter of fact, a Mesh question. I wrote a dozen drivers to non-supported I2C devices, and over regular BLE, it's okay.

    The problem starts with adjusting the integration to Mesh. Please tell me what models are necessary and what's not in the existing mesh_server and mesh_client examples.

Reply
  • I disagree.

    The current model handler is specified to the mesh/sensor.h formats, and with insufficient documentation about the dynamics between models, I think my question IS, as a matter of fact, a Mesh question. I wrote a dozen drivers to non-supported I2C devices, and over regular BLE, it's okay.

    The problem starts with adjusting the integration to Mesh. Please tell me what models are necessary and what's not in the existing mesh_server and mesh_client examples.

Children
  • Hi,

    So to verify; you have already created whichever drivers you need to send data from your sensor board to the nRF chip and you can send the data with regular BLE? Are you able to read the data from the sensors in your applications when you're not using Mesh? If that is the case, and you're asking about how to connect to the  Mesh network, then we missed that fact in the initial post.

    Nonetheless, I will forward this to the Mesh team and we'll get working on an answer for how to do this.

    Kind regards,
    Andreas

Related