Is it possible to check the BLE connection channel ?

Hello,

I'm developing BLE application using nRF5 SDK (v17), and have some questions.

In the BLE connection topology (e.g. the point-to-point connection),

Is it possible to check the BLE connection channels?

Especially, I want to know about the followings.

1) FHSS data channel maps.

2) the specific data channel of the each data packet to be exchanged.

+ when the BLE connection established, I hope the only useful data channel to be used.

Best regards,

Dae-woong Kim

Parents
  • Hello Dae-woong Kim,

    I am not sure if I understand your intentions exactly, could you clarify on whether you are interested in your device doing a Quality of Service survey over the channel map, and then updating its channel map to match this, or if you just are interested in manually setting the channel map yourself?
    In the case of the former, could it possibly be an option to develop your application on the nRF Connect SDK instead of the nRF5 SDK?
    In the nRF Connect SDK we have the Quality of Service module, which would do exactly what you are looking for.

    Could you also clarify whether or not the application works as a BLE central or peripheral?

    Best regards,
    Karl

  • Hi, Karl

    Actually, my sensor nodes, including nRF52840, operates both central and peripheral roles.

    They are used to construct multiple BLE connection stream based on NUS, such as below topology.

    Example1)

    • [node1] ---- [node2] ---- [node3] ---- ... ---- [node10]

    The each node can be connected to the signle upper-node (in this case, the upper node is central, and the interesting node is peripheral), and simultaneously the node can have the lower-nodes up to 3 (in this case, the lower-nodes are peripherals and the interesting node is central).

    So, our sensor network could be constructed like fish-bone shape.

    Example2)

    • [n1] --- [n2] --- [n3] --- [n6]
                    |
                  [n4]
                    |
                  [n5]

    -

    My real problem is the followings.

    In the normal cases, where the distance between arbitrary two nodes within about 20 meters, they're working properly. 

    Also, we checked that the our application can be maintain the sensor network in the case that the nodes should be placed by intervals more than 40 meters. However, if the distance is going far away by such level, it takes a lot of times to complete the connection sequence, and undesirable reset process is occurring many times, until success to connection.

    So, I want to know about the ideal "data channels" of the environments (which our system will be applied).

    I just think that... if we check the wireless channel status based on RSSI level and figure out that "the BLE channel 1, 5, 7, 20, 32, 35 are good for data communication", then we can fix the FHSS channel maps by the channels what we confirmed right before.

    My english is a fool.. :( 

    I don't know whether my intention is conveyed well...

    anyway.. Slight smile

    Best regrads,

    Dae-woong Kim

Reply
  • Hi, Karl

    Actually, my sensor nodes, including nRF52840, operates both central and peripheral roles.

    They are used to construct multiple BLE connection stream based on NUS, such as below topology.

    Example1)

    • [node1] ---- [node2] ---- [node3] ---- ... ---- [node10]

    The each node can be connected to the signle upper-node (in this case, the upper node is central, and the interesting node is peripheral), and simultaneously the node can have the lower-nodes up to 3 (in this case, the lower-nodes are peripherals and the interesting node is central).

    So, our sensor network could be constructed like fish-bone shape.

    Example2)

    • [n1] --- [n2] --- [n3] --- [n6]
                    |
                  [n4]
                    |
                  [n5]

    -

    My real problem is the followings.

    In the normal cases, where the distance between arbitrary two nodes within about 20 meters, they're working properly. 

    Also, we checked that the our application can be maintain the sensor network in the case that the nodes should be placed by intervals more than 40 meters. However, if the distance is going far away by such level, it takes a lot of times to complete the connection sequence, and undesirable reset process is occurring many times, until success to connection.

    So, I want to know about the ideal "data channels" of the environments (which our system will be applied).

    I just think that... if we check the wireless channel status based on RSSI level and figure out that "the BLE channel 1, 5, 7, 20, 32, 35 are good for data communication", then we can fix the FHSS channel maps by the channels what we confirmed right before.

    My english is a fool.. :( 

    I don't know whether my intention is conveyed well...

    anyway.. Slight smile

    Best regrads,

    Dae-woong Kim

Children
  • Hello Dae-woong Kim,

    Thank you for your patience with this, and thank you for the clarification.

    Daewoong Kim said:

    My english is a fool.. :( 

    I don't know whether my intention is conveyed well...

    It is no problem at all - I will just ask if anything is unclear! :) 

    Daewoong Kim said:

    So, I want to know about the ideal "data channels" of the environments (which our system will be applied).

    I just think that... if we check the wireless channel status based on RSSI level and figure out that "the BLE channel 1, 5, 7, 20, 32, 35 are good for data communication", then we can fix the FHSS channel maps by the channels what we confirmed right before.

    Yes, this would be akin to the 'Quality of Service' I mentioned in my previous comment.

    Are you just now starting your application development, or are you already quite far down the line?
    The reason I ask this is whether or not it could be an option for you to change over to the nRF Connect SDK, which has a Quality of Service module that would do this for you.

    If not, then you could use the Quality of Service survey functionality of the SoftDevice to implement this in your nRF5 SDK application as well. This will require you to enable the survery, and then use the result to update the channel map using the sd_ble_opt_set function.
    Please give this a try, and let me know if you encounter any issues or questions! :) 

    Best regards,
    Karl

Related