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.
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.
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
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.
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
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.
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
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.
Thanks Kerry. I will wait for your reply.
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
Thanks Kerry. I will wait for the results of your testing.
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:
This is my test result:
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.
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:
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:
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
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.
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
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.
KW38 has it's own SDK, it has a lot of BLE code, you just need to download the related SDK code is OK:
This board is easy to use. You can let it to assist your RT BLE testing.
Best Regards,
Kerry
Hi Kerry,
Is it ok to use QN9090 kit instead of KW38?
Thanks.
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.
All the SDK can be downloaded from this link:
Wish it helps you!
Best Regards,
kerry
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.