BLE module Central role testing

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

BLE module Central role testing

4,173 Views
EmbeddedTech
Contributor III

Hi,

Is there any way to test the central role of the BLE module of iMXRT1060 by receiving data other than using another iMXRT board with BLE module as a peripheral? Does the NXP IoT toolbox app supports this?

Thanks.

Labels (1)
0 Kudos
Reply
24 Replies

3,840 Views
EmbeddedTech
Contributor III

Hi Kerry,

I have already tried the edgefast bluetooth SDK examples. I have a iMXRT1060 EVK and a Wifi+BLE module. My board will be performing the central role by receiving data from the peripheral. Currently I do not have the peripheral module which will be sending the data to my board. Is there any way I can test the central role in my board by receiving the data? Is the NXP IoT app designed only to receive data or can it also send data by acting as a peripheral?

Thanks.

0 Kudos
Reply

3,837 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @EmbeddedTech ,

   As you don't have any other BLE board or the modules to as the BLE point to connect with your MIMXRT1060-EVK+Wifi+BLE module, so, you want to find any other phone based APP to test the related function, right?

   If yes, I will help you to check with our related team, whether we have any app like IOT toolbox, or the PC tool can use it directly.

  Please help to confirm your requirement,then I will help you to check it internally.

Best Regards,

Kerry

0 Kudos
Reply

3,832 Views
EmbeddedTech
Contributor III

Hi Kerry,

Yes you are correct. I have only one board which will be central module. To test the central functionality I want to know if there is any phone based application which will act as a peripheral to send data to my board.

Thanks.

0 Kudos
Reply

3,828 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @EmbeddedTech ,

   Do you have andriod phone?

   If yes, download "nRF Connect" APP, this can actor as peripheral.

   Please try it on your side, if you meet any issues, just let me know.

  And, please also tell me which module you are using in the I.MXRT board.

Best Regards,

Kerry

0 Kudos
Reply

3,815 Views
EmbeddedTech
Contributor III

Hi Kerry,

Thank you for the quick response. I have an ios phone and downloaded the 'nRF connect' app. It has the peripheral functionality. I tried running the HT(Health thermometer) Service. I get the following messages in the terminal.

Scanning started
[DEVICE]: 41:84:8D:5E:10:F2 (random), AD evt type 0, AD data len 30, RSSI -47
A Connected to peer: 41:84:8D:5E:10:F2 (random) Found device: ò^
Starting service discovery
Discover complete
Disconnected reason 0x13

It looks like it is connecting to the board but getting disconnected due to timeout.

What could be the reason? Also is it possible to send some default temperature values?

I am using iMXRT1060 EVK + ublox JODY W263-01A module.

Thanks.

0 Kudos
Reply

3,809 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @EmbeddedTech ,

   Seems your  ublox JODY W263-01A module is not the SDK mentioned module, whether your module also using the NXP wifi/BLE chip?

   BTW, you mentioned, It looks like it is connecting to the board but getting disconnected due to timeout.

  Could you please give me some picture about your mobile-phone screen, which indicate the disconnect?

  I will find time to get the module and test it on my side.

Best Regards,

kerry

0 Kudos
Reply

3,799 Views
EmbeddedTech
Contributor III

Hi Kerry,

The ublox JODY W263 uses the NXP 8987 chipset, which is same as Azurewave AW-CM358SM.

Please find the sequence in the attached screenshots from the debugger. I am not sure if my understanding is correct. Please clarify.

Thanks.

EmbeddedTech_0-1631677672711.pngEmbeddedTech_1-1631677704017.png

 

0 Kudos
Reply

3,791 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @EmbeddedTech ,

  Please keep patient, I will find a  Azurewave AW-CM358 to test it.

 Any updated information, will let you know.

Best Regards,

Kerry

0 Kudos
Reply

3,787 Views
EmbeddedTech
Contributor III

Thanks Kerry. I will wait for your reply.

0 Kudos
Reply

3,745 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @EmbeddedTech ,

  Sorry for my later reply.

   I just find the AzureWave AW-CM358-uSD board, but my borrowed board seems has issues, as my sd_wifi_init is failed, and I just borrowed one  AW-CM358-uSD board.

   So, please give me more time, I will try other method to test it, maybe use the K32W061 as the board to test the Bluetooth.

  Any updated information from my side, I will let you know.

Best Regards,

Kerry

0 Kudos
Reply

3,728 Views
EmbeddedTech
Contributor III

Thanks Kerry. I will wait for the results of your testing.

0 Kudos
Reply

3,706 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @EmbeddedTech ,

   Thanks for your patient. Also thanks for our my wireless mcu colleague's help (da li) nxf56274

    I already finish the testing, please follow me!

1. app_config.h need to select CM358

/*#define WIFI_BOARD_AW_AM457*/
#define WIFI_BOARD_AW_CM358
//#define K32W061_TRANSCEIVER

2. About the phone configuration

 From your test result, seems you just add the advertiser, didn't add server. Please check the following picture:

1.jpg

2.jpg3.jpg4.jpg5.jpg

This is my test result:

kerryzhou_0-1632816125400.png

You can find the RT chip can connect to the peripheral HT from phone, but you may find it didn't get the temperature data.

kerryzhou_2-1632817192096.png

 

This is caused by the "nRF Connect"  health thermometer service, as the intermediate Temperture even select NOTIFY, but it didn't works, so I think the app has the NOTIFY function limit.

As I also use another phone which work as the central role,  it also can't get the data, then I use read to get the data:

6.jpg

 

So, my suggest is, if you just want to check the RT BLE central role with phone, you can test the connection, but to the data get, you can add code to read the data instead of the notify.

Anotherway, I suggest you use one of our FRDM-KW38 which works as peripheral HT:

https://www.nxp.com/design/designs/freedom-development-kit-for-kw39-38-37-mcus:FRDM-KW38

Then download the peripheral HT project, it also can works OK with RT+AW_CM358.

This is the test log:

kerryzhou_1-1632816665853.png

7.jpg

 

This KW board can help you ack as the periphery for the testing.

 

Wish it helps you!

If you still have question about it, please kindly let me know.

Best Regards,

Kerry

 

 

3,692 Views
EmbeddedTech
Contributor III

Hi Kerry,

Thanks a lot for the effort and the time to help me with the issue.

I was able to test to the point which you have mentioned using my hardware. It was subscribed to the HTS.

Is there any document for me to refer to do the server settings for a particular service?

Also can you throw me some light on the code which I should modify to read the data?

Thanks again for your help.

 

0 Kudos
Reply

3,682 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi EmbeddedTech,

   To be honest, I recommend you find an normal bluethooth peripheral for the testing.

   As you know, the heath temp need to use the notify to let the central know the temp data, but the phone side app can't change it automatically, even you use the read to read it, the data is fixed. 

   From your test result, you central scan and establish connection are all works, now, it's better to find a normal peripheral for the testing.

   That's why I recommend you use FRDM-KW series

https://www.nxp.com/design/designs/freedom-development-kit-for-kw39-38-37-mcus:FRDM-KW38

  This board is helpful to your testing.

 

Best Regards,

Kerry

 

0 Kudos
Reply

3,679 Views
EmbeddedTech
Contributor III

Hi Kerry,

Ok, I will try to get one FRDM-KW series board to do further testing.

Can the iMXRT1060 SDK peripheral ht code be used directly on the FRDM-KW board?

Thanks.

 

0 Kudos
Reply

3,678 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @EmbeddedTech 

 KW38 has it's own SDK, it has a lot of BLE code, you just need to download the related SDK code is OK:

kerryzhou_0-1632900560896.png

This board is easy to use. You can let it to assist your RT BLE testing.

Best Regards,

Kerry

0 Kudos
Reply

3,675 Views
EmbeddedTech
Contributor III

Hi Kerry,

Thanks a lot for your help. I will try with the FRDM-KW series board.

3,664 Views
EmbeddedTech
Contributor III

Hi Kerry,

Is it ok to use QN9090 kit instead of KW38?

Thanks.

0 Kudos
Reply

3,647 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @EmbeddedTech 

  Do you already have QN9090 Kit on your side?

   If yes, you can test the health_t project on the SDK :

SDK_2_6_4_QN9090DK6\boards\qn9090dk6\wireless_examples\bluetooth

 This is the peripheral health temperature project.

It should be the same as the KW38.

  I recommend you FRDM-KW38:

https://www.nxp.com/design/designs/freedom-development-kit-for-kw39-38-37-mcus:FRDM-KW38

, as it is cheaper than QN9090DK6.

https://www.nxp.com/products/wireless/bluetooth-low-energy/qn9090dk-development-platform-for-qn9090-...

All the SDK can be downloaded from this link:

https://mcuxpresso.nxp.com/

Wish it helps you!

Best Regards,

kerry

 

0 Kudos
Reply

3,574 Views
EmbeddedTech
Contributor III

Hi @kerryzhou,

I received the QN9090 EVK and used it as a peripheral module. This way, I was able to test the central functionality of my iMXRT1060 EVK and ublox module. I was able to receive the preset temperature values from the QN9090 module. Thanks a lot for your help.

I have one question regarding the main function in 'evkmimxrt1060_central_ht' sdk example.

why is the data cache disabled after board initialization?  ( SCB_DisableDCache();)

I have integrated the display, USB related functionalities etc along with the bt code. If cache is disabled then the display refresh is very slow and also the startup gif image is not playing.

If I remove the SCB_DisableDCache();, then the display refresh is faster but could see some pixels distorted. Also the USB mouse enumeration fails with this.

What could be the possible reason for this?

Thanks.

0 Kudos
Reply