CONNECTION BETWEEN ANDROID 8.0 OS AND PROC BLE

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
DaUt_3924326
Level 1
Level 1
First like received First like given

Hi everyone,

I'm trying to connect my android phone to a UART_to_BLE_peripheral Project on PRoC BLE device (CYBL10563 - 56LQXI) through Bluetooth connection.

I downloaded the Cypress app (CySmart) on my phone and i can pair it without problems with the PRoC BLE. If i pair the PRoC BLE  with my phone through an other app like Serial Bluetooth Terminal (downloaded from Play Store of Google) the app says "Connection failed: no serial profile found -> use long click on device to define a custom profile" or "Connection failed: gatt status 133".

How can do to connect my phone (Android 8.0 OS) with a PRoC BLE through UART_to_BLE_peripheral Project?

I want to do pairing to communicate with a serial bluetooth console app from my android phone to my PRoC BLE device.

Anyone can help me?

I have attached the projects (UART_to_BLE_peripheral and UART_to_BLE_central) which i'm using with PSoC Creator 4.2.

Thanks,

Daniele

0 Likes
1 Solution
GyanC_36
Employee
Employee
250 replies posted 100 replies posted 50 replies posted

Hi Daniele,

  There are many 'Serial Bluetooth Terminals' which supports standard Serial Profile + Some vendor specific serial profiles and does not support all custom serial profiles by default. To create your own custom serial profiles as the error shows, you have select the custom profile option in your app and the supported services and characteristics in your peripheral project will be discovered by the Serial Terminal Program. Then connect the device.

74d261b2-c38d-4f8a-a5f7-6d58cc12d958.jpg9d4e3cec-6ab9-4ba4-919b-ec4a9ebb5547.jpg774be61f-b3bd-482b-bff6-7b24ae60433f.jpg

Also, in your peripheral code rearrange the below code snippet --

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

case CYBLE_EVT_GATTS_WRITE_REQ:

           

            writeReqParam = (CYBLE_GATTS_WRITE_REQ_PARAM_T *) eventParam;

           

            if(CYBLE_SERVER_UART_SERVER_UART_TX_DATA_CLIENT_CHARACTERISTIC_CONFIGURATION_DESC_HANDLE == \

                                                                    writeReqParam->handleValPair.attrHandle)

            {

                errorCode = CyBle_GattsWriteAttributeValue(&(writeReqParam->handleValPair), \

                                                0, &cyBle_connHandle, CYBLE_GATT_DB_PEER_INITIATED);

               

                if (CYBLE_GATT_ERR_NONE  == errorCode)

                {

                    //CyBle_GattsWriteRsp(cyBle_connHandle); //GYAN

                    #ifdef PRINT_MESSAGE_LOG  

                        UART_UartPutString("\n\rNotifications enabled\n\r");

                        UART_UartPutString("\n\rStart entering data:\n\r");

                    #endif

                }

            }

             CyBle_GattsWriteRsp(cyBle_connHandle);  //GYAN

            break;

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

-Gyan

View solution in original post

1 Reply
GyanC_36
Employee
Employee
250 replies posted 100 replies posted 50 replies posted

Hi Daniele,

  There are many 'Serial Bluetooth Terminals' which supports standard Serial Profile + Some vendor specific serial profiles and does not support all custom serial profiles by default. To create your own custom serial profiles as the error shows, you have select the custom profile option in your app and the supported services and characteristics in your peripheral project will be discovered by the Serial Terminal Program. Then connect the device.

74d261b2-c38d-4f8a-a5f7-6d58cc12d958.jpg9d4e3cec-6ab9-4ba4-919b-ec4a9ebb5547.jpg774be61f-b3bd-482b-bff6-7b24ae60433f.jpg

Also, in your peripheral code rearrange the below code snippet --

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

case CYBLE_EVT_GATTS_WRITE_REQ:

           

            writeReqParam = (CYBLE_GATTS_WRITE_REQ_PARAM_T *) eventParam;

           

            if(CYBLE_SERVER_UART_SERVER_UART_TX_DATA_CLIENT_CHARACTERISTIC_CONFIGURATION_DESC_HANDLE == \

                                                                    writeReqParam->handleValPair.attrHandle)

            {

                errorCode = CyBle_GattsWriteAttributeValue(&(writeReqParam->handleValPair), \

                                                0, &cyBle_connHandle, CYBLE_GATT_DB_PEER_INITIATED);

               

                if (CYBLE_GATT_ERR_NONE  == errorCode)

                {

                    //CyBle_GattsWriteRsp(cyBle_connHandle); //GYAN

                    #ifdef PRINT_MESSAGE_LOG  

                        UART_UartPutString("\n\rNotifications enabled\n\r");

                        UART_UartPutString("\n\rStart entering data:\n\r");

                    #endif

                }

            }

             CyBle_GattsWriteRsp(cyBle_connHandle);  //GYAN

            break;

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

-Gyan