simultaneous connecctions of BLE

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

simultaneous connecctions of BLE

3,243 Views
lyp06118022
Contributor I

Hi,

I want to use KW36 as central to connect several BLE keys. And I have referred the DOC "Multiple Connections in Bluetooth LE Central Device ". This demo looks like, each time only one BLE temp sensor can be connected to central, not simultaneously. Or If I want to connect to next temp sensor, do I have to disconnect the previous BLE sensor?

If KW36 can connect them simultaneously, how long the period should be? is 30ms ok or too short?

Second, if KW36 can connect them simultaneously, can KW36 share all the connections information to other KW36 which work as GFSK or monitor at the same time? I mean whether the monitor can follow several connection channels at the same time? or I only can follow one connection channel each time, and next time KW36 central must share the another connection information to BLE monitor? Thank you.

for in the PEPS, you must make sure the key is connected with one central, then the central share the connection information to other BLE monitors. All the monitors must work simultaneously to locate the key.

Regards,

yanpo, li

Labels (2)
0 Kudos
9 Replies

2,926 Views
xing_chang
NXP Employee
NXP Employee

Hi Yanpo,

We have a similar solution, please contact your field support engineer.

0 Kudos

2,926 Views
Sebastian_Del_Rio
NXP Employee
NXP Employee

Hi Yanpo, I hope you're doing well!

 

The information related to BLE multiple connections that we currently have to share is contained in the BLE Multiple Connections Application Notes for Central and for Peripheral devices:

 

Multiple Connections in Bluetooth LE Peripheral Device

Multiple Connections in Bluetooth LE Central Device

 

Multiple peripheral devices can be connected simultaneously to one Central device to send data, so the central device can collect it all.

 

The necessary modifications and recommendations about connection interval, as well as other considerations is discussed in those documents, as well as in the BLE Application Developer's Guide:

<…\SDK_2.2.2_FRDM-KW36 - MCUXpresso\docs\wireless\Bluetooth\Bluetooth Low Energy Application Developer Guide.pdf>

 

Best regards,

Sebastian

0 Kudos

2,929 Views
lyp06118022
Contributor I

Hi,

So as to monitor a BLE connection, like PEPS, we need to 4 points KW36 work as monitor to monitor the BLE connection to get the RSSI value. I heard of genFSK can do this. But I do not know how. So is there any document about monitor a BLE connection?

Second, can the genFSK can monitor BLE connection  by KW36? 

if so, use the following functions(ffrom genFSK link layer reference manual)? if so , how to get the RSSI value?

GENFSK_SetNetworkAddress   to set the expected BLE access address?

GENFSK_EnableNetworkAddress

GENFSK_SetChannelNumber  with a timer  to set the channel synchronize to BLE's current hop channel?

GENFSK_SetCrcConfig    to set the CRC init value from BLE connection information? which element of it? crcSeed ? and how to use it together with other CRC related elements?

GENFSK_StartRx

Thank you.

Regards,

yanpo, li

0 Kudos

2,929 Views
Sebastian_Del_Rio
NXP Employee
NXP Employee

Hi Yanpo,

 

There's a BLE device type that can work for what you want to achieve, this being the GAP Observer. It is a device type which can scan advertisers, and receive information from them, but not initiate a connection. Information about this can be read on the BLE Application Developer's guide I described in the reply above.

 

There's also some documents which could help give an idea on how to implement a beacon or advertiser scanner and the necessary configurations for each:

 

I would recommend checking the BLE Shell SDK example as well, as it has a command which initiates scanning and displays the received information. The command is "gap scanstart".

This SDK example can be found in the following path:

<…\SDK_2.2.2_FRDM-KW36 - MCUXpresso\boards\frdmkw36\wireless_examples\bluetooth\ble_shell>

It's possible to enable the GenFSK Link Layer to work as a scanner as well, and the way you describe the process to start it looks to be correct, however, for more information about the GenFSK Link Layer, and for the quick start guide, could you please take a look at the documents included in the SDK?:

<…\SDK_2.2.2_FRDM-KW36 - MCUXpresso\docs\wireless\GENFSK>

 

Please let me know if you need any more information.

 

Best regards,

Sebastian

0 Kudos

2,929 Views
lyp06118022
Contributor I

Hi,

Thank you for your time. Besides,

3. how often does the connection channel hop? every connection period hop once? if not, please tell me how it hops? this relate with the timer of genFSK project to monitor the connection in time. I think the monitor timer should be consistent with the hop frequency.  Thank you.

Regards,

yanpo, li

0 Kudos

2,929 Views
Sebastian_Del_Rio
NXP Employee
NXP Employee

Hi Yanpo,

  1.   The ble_shell demo is also capable of looking for devices doing advertisement by using the gap scanstart command, for example. This will scan for nearby devices, and show their information on-screen, on the serial terminal connected to your device.
  2.  The Central device can get information about the scanned devices in the scanning callback function, which in the case of the ble_shell SDK example, it's ShellGap_ScanningCallback. This function has a  gDeviceScanned_c case, in which, information is read from the scanned device, and saved to the pScanningEvent->eventData.scannedDevice structure.
    The scannedDevice element of the structure (which is a structure of the " gapScannedDevice_t" type , found in the gap_types.h header file) contains elements with the scanned device's info, such as Address type and value, data, rssi, among others.
  3. I'm sorry for the inconveniences this may cause, but channel changes are managed by the BLE stack itself, and is not user accessible.
    In GenFSK, the channel can be set by using the GENFSK_SetChannelNumber function included with the API.

 

Please let me know if you need any more information.

 

Best regards,

Sebastian

0 Kudos

2,929 Views
lyp06118022
Contributor I

Hi,

Thank you for your reply. what I want to know is not the scan information. I want to know how to use API function to get the CONN_REQ parameter(connect information), like access address(random), CRC init, connection interval, hop interval. Even in central demo, I have not seen any function related with this. usually, this parameters are got through HCI API function. Thank you.

Regards,

yanpo, li

0 Kudos

2,929 Views
Sebastian_Del_Rio
NXP Employee
NXP Employee

Hi Yanpo,

 

The Connection Request Parameters Structure can be accessed during the execution of the scanning callback, and information about it can be saved to a variable during this time.

 

There's not an existent HCI command for reading these values, however, there's a command to request the device to negotiate new ones, and also, it is possible to create custom HCI commands with help of this document:

https://community.nxp.com/docs/DOC-346015 

 

More information  about these commands and the HCI and FSCI can be read in the following documents:

<…\SDK_2.2.2_FRDM-KW36 - MCUXpresso\docs\wireless\Common\Bluetooth Low Energy Host Stack FSCI Reference Manual.pdf>

<…\SDK_2.2.2_FRDM-KW36 - MCUXpresso\docs\wireless\Bluetooth\Bluetooth Low Energy Host Stack API Reference Manual.pdf>

 

Please let me know if you need any more information.

 

Best regards,

Sebastian

0 Kudos

2,929 Views
lyp06118022
Contributor I

Hi,

1. So only the FSK demo can monitor peripheral based on BLE connection? I found beacon and GAP observer are all based on ADV message.

2. As to master, how to get the connect information, like access address, hop channel, CRC init? I did not find any related function in central demo. And the connect information can be got only when connection is established or can be got anytime? Thank you.

Regards,

yanpo, li

0 Kudos