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

cross mob
AnYo_2347841
Level 1
Level 1
First reply posted First question asked Welcome!

Hello,

I'm wondering if there is a way to bond to a psoc 4 device without seeing data from the UART. I looked at the 100 projects bonding example, but it looks like I need to be able to view UART text to get a pass key, which I would then enter into the device requesting the connection. I would be bonding a tablet or smartphone to my psoc devices on work sites, where there are many devices. I can't take apart my hardware, and dragging a laptop around to view UART data would be extremely rough. Can I hardcode a pass key? Are there other options? I don't want others connecting to my hardware. Otherwise, I may have to make a beepcode or flashing led and count the beeps or flashes. That would require remodeling of my boards though.

As a note, I am looking into whitelisting, and did ask a question here, but no replies yet. I have many devices and tablets... so whitelisting each device would be hard. I asked if we can whitelist my manufacturer name, as I have my own line of tablets. Hopefully someone gets back to me!

Thanks in advance!

Andy

0 Likes
1 Solution
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi Andy,

You can fix the passkey using the API as follows. Please refer BLE component datasheet for more information.

CYBLE_API_RESULT_T CyBle_GapFixAuthPassKey (uint8 isFixed, uint32 fixedPassKey)

And regarding managing the whitelist, it is not possible to whitelist according to manufacturer name. Also, the maximum number of devices in the whitelist is 8.

So, for your application you need to write some custom application code to sort out the devices based on adverising name or address and store them in the Flash. You can use Em_EEPROM (emulated eeprom) component to store all your devices addresses in the flash. After every boot-up you can read these Em_EEPROM data and compare with the addresses of the scanned devices and then take necessary action.

Hope this helps !

Thanks and regards

Ganesh

View solution in original post

0 Likes
1 Reply
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi Andy,

You can fix the passkey using the API as follows. Please refer BLE component datasheet for more information.

CYBLE_API_RESULT_T CyBle_GapFixAuthPassKey (uint8 isFixed, uint32 fixedPassKey)

And regarding managing the whitelist, it is not possible to whitelist according to manufacturer name. Also, the maximum number of devices in the whitelist is 8.

So, for your application you need to write some custom application code to sort out the devices based on adverising name or address and store them in the Flash. You can use Em_EEPROM (emulated eeprom) component to store all your devices addresses in the flash. After every boot-up you can read these Em_EEPROM data and compare with the addresses of the scanned devices and then take necessary action.

Hope this helps !

Thanks and regards

Ganesh

0 Likes