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

How send message to all from peripheral to peripheral in the multiperipheral example?

I am trying to create a network mesh using the multiperipheral example.

In the original version the communication is possible only:

central >> peripherals peripferals >> central

Ans now I wanna sent som messages peripheral to peripheral.

For this I adapted the led_status_send_to_all method but I have a problem.

._build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol ble_lbs_led_status_send (referred from main.o).

I already copy the ble_bs_c.c to BLE Services folder.

Is it possible to do what I am doing or are there other way to do it? How I can fix it?

Parents
  • Dear Martin, thanks for your answer...

    About your comment

    To send messages between peripherals you will have to implement some sort of relay mechanism in your central application. Just make the central forward all packets it receives from one peripheral to all the other peripherals.

    I cant to do this because some peripherals are far from central and there are not communication between both. In my application I want to make communication between two (or more) peripherals and these peripherals that are far from central device (SENC#1), use others peripherals (SENC#2/SENC#n) to send informations to central (Gateway)

    image description

    Resuming, I want the follow communication:

    Central >> Peripherals (Already exists) Peripheral >> central (already exists) Peripheral >> Peripheral (To do - broadcast)

    I can to adapt the multiperipheral example to do it?

  • BLE was originally intended to be one-to-one and star networks only, but the S132 Softdevice is able to run both central and peripheral roles concurrently which in practice allows you to make more advanced topologies. In other words, you can e.g. chain devices like:

    peripheral <-> central/peripheral <-> central/peripheral <-> .....
    

    but you will still need to implement the relay mechanism in your application yourself.

    Maybe a mesh solution is better for you? You could look into BLE mesh or Thread.

Reply
  • BLE was originally intended to be one-to-one and star networks only, but the S132 Softdevice is able to run both central and peripheral roles concurrently which in practice allows you to make more advanced topologies. In other words, you can e.g. chain devices like:

    peripheral <-> central/peripheral <-> central/peripheral <-> .....
    

    but you will still need to implement the relay mechanism in your application yourself.

    Maybe a mesh solution is better for you? You could look into BLE mesh or Thread.

Children
No Data
Related