Bluetooth Mesh - Send customize data/command to node

Is nRF Mesh app support feature that send customize data/command to node? The goal is to transmit data from phone to node, where it will be processed and used to trigger actions. Besides that, how to check what’s the roles of node currently running? Those fields are shown unknown in nRF Mesh app features section (Refer to attachment). Is it check from prj.conf file?

SDK version: v2.6.1
nRF Mesh app (IOS): 4.2.0
Hardware: nRF5340-DK


Parents Reply
  • Hi,

    chunjie said:
    Other than that, how does the message structure of Bluetooth mesh look like? From what I know, it contains 1-3 bytes opcode. What is the full message sent to node when we tap ON in GenericOnOff Server?

    This is defined in the specification for Bluetooth Mesh, please download it for free here: https://www.bluetooth.com/specifications/specs/?types=specs-docs&keyword=mesh&filter= . Here you will find how various Mesh messages are defined.

    Here's a general explanation of how messaging works from our documentation:

    API: for Bluetooth Mesh messaging- https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/connectivity/bluetooth/api/mesh/msg.html 

    From Bluetooth Mesh Network Data flow - https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/bt/bt_mesh/architecture.html#bluetooth_mesh_network_data_flow 

    Bluetooth Mesh uses Bluetooth Low Energy as a bearer or transport for its messages. The messages are encapsulated in either Bluetooth LE advertisements or GATT packets, referred to as advertising bearer or GATT bearer. The Bluetooth Mesh message provides a set of structures, macros, and functions used for preparing message buffers, managing message, and acknowledged message contexts.

    In a typical data flow within a mesh network, the process begins when an application calls a model’s publish function. The model includes a message in a publishing packet with an opcode and sends it to the access layer. The access layer fetches the necessary publish parameters, like destination address, encryption keys, and time to live value (TTL value), and passes the packet to the transport layer. The transport layer then encrypts the message with the selected application key, and splits the message into segments if necessary. Each segment is passed to the network layer, which attaches a network header with a sequence number and encrypts the packet with the network key before passing it to the Bluetooth LE Controller. The Bluetooth LE Controller includes the network message in an advertisement packet, and schedules a time slot for the packet to be broadcasted.

    From Bluetooth Mesh Concepts - https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/bt/bt_mesh/concepts.html#network_topology_and_relaying 

    Bluetooth Mesh is a broadcast-based network protocol, where every device in the network sends and receives all messages to and from all devices within radio range. The advertisement packets are picked up by nearby mesh devices and handled like other Bluetooth LE advertisement packets. The mesh packets are represented with a unique AD (advertisement data) type and added to the advertisement packet payload.

    Kind regards,
    Andreas

Children
Related