Receive advertising packets with Bluetooth LE UART Friend

General project help for Adafruit customers

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
acullen
 
Posts: 11
Joined: Sat Apr 19, 2014 11:29 am

Receive advertising packets with Bluetooth LE UART Friend

Post by acullen »

Hello,

I saw that the Bluetooth LE UART Friend can be configured as a 'beacon' that sends advertising messages containing certain data (such as a URI as defined by the Google UriBeacon specification). I was wondering how another UART Friend could be configured to receive them (i.e output the Advertisement Data that is being broadcast and recognise the beacons that are in range). I saw that it can be used as the "UART Service" when connected to another Bluetooth device, but is there a way for it to listen to advertising packets that are received, when it is not connected? If not, is this possible with the nRF8001 breakout instead?

Thanks!

User avatar
adafruit_support_mike
 
Posts: 67446
Joined: Thu Feb 11, 2010 2:51 pm

Re: Receive advertising packets with Bluetooth LE UART Frien

Post by adafruit_support_mike »

Can't be done I'm afraid.

BLE groups devices into 'central' and 'peripheral' categories. Central devices initiate and control connections, peripheral devices just do what a central tells them to. That arrangement moves most of the cost and complexity into the central device, so peripherals can be small, low-power, and inexpensive.

All our BLE devices are peripherals, so they can't talk to each other. They can only accept commands from a phone, tablet, or other central device.

acullen
 
Posts: 11
Joined: Sat Apr 19, 2014 11:29 am

Re: Receive advertising packets with Bluetooth LE UART Frien

Post by acullen »

I forgot to mention that the device that needs to receive these advertising packets is an embedded Linux system (an NVIDIA Jetson TK1, specifically.) Therefore I can use a USB Bluetooth device - it's not limited to UART or SPI interfaces on something like an Arduino.

Bluez 5.x versions for Linux add support for Bluetooth 4.0 (LE). There's a Python binding for Bluez: PyBluez, which doesn't seem to officially support BLE, but I found an example at https://github.com/switchdoclabs/iBeacon-Scanner- where commands are sent directly to the underlying BlueZ stack from Python in order to get it to scan for devices that are transmitting advertising packets. I should be able to use your USB Bluetooth adapter to achieve this, since it certainly supports being a 'host device'.

This seems like what I need. Thanks! :)

Locked
Please be positive and constructive with your questions and comments.

Return to “General Project help”