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!
Receive advertising packets with Bluetooth LE UART Friend
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
-
- Posts: 11
- Joined: Sat Apr 19, 2014 11:29 am
- adafruit_support_mike
- Posts: 67446
- Joined: Thu Feb 11, 2010 2:51 pm
Re: Receive advertising packets with Bluetooth LE UART Frien
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.
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.
-
- Posts: 11
- Joined: Sat Apr 19, 2014 11:29 am
Re: Receive advertising packets with Bluetooth LE UART Frien
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! :)
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! :)
Please be positive and constructive with your questions and comments.