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

Using nRF52-DK, Is there an example of a Star topology?

Hi,

We bought 3 nRF52-DKs (based on nRF52832 and PCA10040 V1.2.1). We compiled, built, and flashed the systems with several provided examples from nRF5_SDK_14.1.0_1dda907 including ble_central, ble_peripheral, and IoT examples like udp and coap. For the IoT examples we used Raspberry PI as a gateway to our cloud.

Now we would like to create a "star" network where one nRF52-DK is running ble_peripheral, another running IoT udp Client that is connected to cloud via the Raspberry PI, and another running IoT udp Server. I was trying to find and example on your website and I could not. Is there an example like this? Like below,

nRF52-DK peripheral -> nRF52-DK IoT udp client -> Raspberry PI->Cloud->nRF52-DK IoT udp Server

Or is there an example where one nRF52-DK is running ble_peripheral and another running IoT udp Client ? Like below,

  nRF52-DK peripheral -> nRF52-DK IoT udp client 

Any help/suggestions would be very much appreciated.

Thanks, Asha

Parents
  • Sorry but you are mixing layers in the way that there is no really good answer. By "Peripheral" you mean GAP Peripheral role as defined in BLE since v4.0? How that corresponds with IoT UDP client (which has nothing to do with BLE spec as there is nothing like this so I assume you run it somewhere on APP layer - and probably with several more SW layers in between)?

    If you stay BLE world for a while then indeed star topology is basic use case of GAP Central device in the middle and whatever number (in older stacks typically up to 8, with today best stacks you should be able to operate 20 and more connections in parallel) of GAP Peripheral devices around it, there is examples\ble_central\ble_app_multilink_central example in nRF5 SDK an more.

Reply
  • Sorry but you are mixing layers in the way that there is no really good answer. By "Peripheral" you mean GAP Peripheral role as defined in BLE since v4.0? How that corresponds with IoT UDP client (which has nothing to do with BLE spec as there is nothing like this so I assume you run it somewhere on APP layer - and probably with several more SW layers in between)?

    If you stay BLE world for a while then indeed star topology is basic use case of GAP Central device in the middle and whatever number (in older stacks typically up to 8, with today best stacks you should be able to operate 20 and more connections in parallel) of GAP Peripheral devices around it, there is examples\ble_central\ble_app_multilink_central example in nRF5 SDK an more.

Children
  • Hi, Thank you for responding. But I don't think I made myself clear.

    I would like 2 BLE devices (such as nRF52-DK running an example like "nRF5_SDK_14.1.0_1dda907\examples\ble_peripheral\ble_app_hrs") sending data to the cloud via a nRF52-DK router that is running as an example "nRF5_SDK_14.1.0_1dda907\examples\iot\udp\ipv6\client".

    So on one side a nRF52-DK is connecting via BLE with 2 BLE devices and on the other side thsame nRF52-DK is connecting to the cloud via the Raspberry PI.

    Is this possible with Nordic nRF52-DK ??

    I looked at the examples\ble_central\ble_app_multilink_central and I am wondering if I could use an example from it to connect to the Raspberry PI??

    Thanks, Asha

  • What are the links between nRF52 DK and other components? I mean what is BLE, what is UART/SPI/whatever else over wire, what part you have sorted out (in terms of FW/SW that you are fine with what it does towards "cloud" side)? I suppose there are some demos by Nordic which might fulfill most of your needs (and I believe their support will let you tomorrow when they wake up in Europe) but I'm pretty sure that these three SDK examples you mention (examples\iot\udp\ipv6\client, examples\ble_peripheral\ble_app_hrs and examples\ble_central\ble_app_multilink_central) are not meant to work together out of the box or to be more specific these two ble yes, they at least implement certain common interface (BLE GAP and GATT layers in roles which are able to work together) but one is implementing some standard BT SIG GATT profile (Heart Rate Monitor) and second demonstration LEDs manager.

  • To be precise I have no clue why you mix all that IoT and UDP and COAP into the game;) What is the purpose of the nRF52 DK in your demo/app? Should it connect over BLE directly with RPI (don't know if that supports BT LE out of the box) or should it only bridge some gap over BLE to another nRFx board and that is attached to RPi over some wires? In every case you can build your BLE app to bridge 5-50 meters and transport whatever data you need and then o higher layer get these data and upload/download them from /to "cloud" through some app running in your Linux box (let it be RPi) over whatever sexy protocol. This is how most of the "IoT" use cases can be solved easily (and actually should be solved from my point of view but I'm probably too old fashion).

  • Hi, My objective is that not all BLE devices (blue tooth low energy devices such as a heart rate monitor or temperature ) connect to the Cloud. I want a BLE device that just acts as a gateway to the cloud. I am connecting to the cloud via a Raspberry PI.

    I have run the "nRF5_SDK_14.1.0_1dda907\examples\iot\udp\ipv6\client" example on one nRF52DK and was able to connect to the Raspberry PI and that connected to our company Cloud. So now I was trying to connect another nRF52DK to this "nRF5_SDK_14.1.0_1dda907\examples\iot\udp\ipv6\client".

    Thanks, Asha

  • Okey, so now I understand your question as "How to modify \examples\iot\udp\ipv6\client example from Nordic that it will connect to certain BLE devices (e.g. HRM), collect data/manage them and on the other side communicate with the cloud over IPv6 (which is working for me as such right now?" And I believe the answer is "Well this is just and example from Nordic and you need to write all application level by yourself. And yes, collecting some data or doing whatever else over BLE is application from IoT gateway point of view. Luckily there are tons of examples in nRF5 SDK so mearging/inspiring should be a big problem."

    Is my understanding correct now?

Related