- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi All,
I need to develop an application where I need to receive the advertisement data only from my peripheral devices and not other BLE devices that are present near by. We can add some control bytes in advertisement data and differentiate it from the rest of the BLE device or may be add a string to differentiate. But is there a better way to do this kind of filtering?
Thanks
Solved! Go to Solution.
- Labels:
-
BLE
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When you advertise, you can do directed advertisement (it attaches the bdaddr of the device it is trying to reach iirc).
Otherwise, you can filter on the BDaddress itself to only accept data from addresses that match the addresses you are looking for.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When you advertise, you can do directed advertisement (it attaches the bdaddr of the device it is trying to reach iirc).
Otherwise, you can filter on the BDaddress itself to only accept data from addresses that match the addresses you are looking for.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for your reply.
I guess I can just hard code my central device address and turn on the directed advertisement. This approach is convenient compared to other methods.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Or if you really want it to be dynamic, provide hooks in your software to modify/add/delete device addresses to the filter list you are implementing on the central device. There are tradeoffs anyway you do it really though 😕
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yup. Thats one more way to go about it. Any way I will give earlier method a try. If required to be dynamic in future, then I have to go with this approach.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You're welcome, and good luck 😉
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi e.pratt_1639216, how do I do direct advertisement for Central devices that broadcasts "random" public address every time Bluetooth is turned on? Can I simply assign the "identity" address of such devices in cyBle_discoveryModeInfo.advParam->directAddr? Example of such devices are Android and iOS phones these days.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You need to have a resolvable address in order to determine if the device is the one you want. This article talks about it a little bit: http://origin-www.cypress.com/forum/psoc-4-ble/resolving-random-storing-public
Here is a walkthrough by Cypress on the matter: How to get the public/static random address when a device uses a resolvable private address - KBA203...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content