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

Please tell me how to connect one nRF51822 and another as Central and Peripheral. In the future, I would like to connect one Central and multiple Peripheral.

I am new to BLE.

My question is similar to the one below.

https://devzone.nordicsemi.com/f/nordic-q-a/22596/nrf51822-central-connect-and-communicate-with-2-peripherals

But the link to the answer was broken and I couldn't find it, so I'll ask.

I am using two nRF51822 and SDK12.3.0. I want to run them as Central on one side and Peripheral on the other. 

Probably by a method called GATT communication.(It means communication in a connected state.)

My goal is to record  RSSI and receiving time in Central when it receives an empty packet from Peripheral.

I would like to receive packets at intervals of 1msec to 10msec,

so advertising with long transmission intervals and randomly staggered transmission times would not achieve my goal.

In the future, I would like to receive packets from about 6 peripherals and record the RSSI of the packets.

Please let me know if there is a sample program or code that fits my purpose.

I'm not very good at English, so I use translation software to create my texts. I'm sorry if I don't make sense in some parts.

Parents Reply
  • What you say is true.

    I think I have been challenging myself step by step in that.

    I learned about the communication theory of BLE.

    I used the board as "peripheral" and sent data to it using nRFToolbox.

    Central read advertisement packets from peripheral and other BLE devices.

    The "ble_app_uart.c" of both central and peripheral were connected.

    As the next step, I want to send packets from peripheral to central and get the rssi at that time.

    I'm going to use "ble_app_hrs" and "ble_app_multilink_central" or "ble_app_uart" for the connection state, since 1:1 is fine for now.

    The problem is that I don't seem to be able to establish the connection state between "central" and "peripheral".

    The combination of "app_multilink" and "app_hrs" does not show any response, and the combination of "app_uart" and "app_hrs" continues to read advertisement packets and does not move to the connection state.

    The "app_uart_c" of peripheral  and "app_uart_c" of central only show the sign of connecting, and there seems to be no packet exchange beyond that.

    Do I need to write a function in my "peripheral" side to send an empty packet when it receives a poll, for example?

Children
Related