Home > Wireless LAN > Bluetooth > Bluetooth Low Energy (BLE)

Bluetooth Low Energy (BLE)

Meraki access points with an integrated Bluetooth Low Energy radio have the ability to transmit BLE Beacons, as well as to scan and locate BLE devices. Client devices like smartphones “hear” the BLE Beacon emitted by a Meraki AP, and an app on the smartphone can respond to a recognized Beacon. BLE scanning allows the Meraki AP to listen for and locate all Bluetooth Low Energy devices. The BLE scanner can hear other Beacons, BLE asset tags, and devices like fitness monitors that communicate using BLE data protocols. The Bluetooth Location API allows third party applications to provide asset tracking and analytics using battery-based bluetooth tags or wearables like fitness monitors.

Bluetooth clients

Detected devices will also be displayed in the Wireless > Monitor > Bluetooth clients page. The list of BLE clients can be viewed for several different observation time periods (two hours, one day, one week), and displays several useful pieces of information such as the AP that observed the device and, when available, the manufacturer of the device. The dashboard allows tagging the Bluetooth devices to identify individual or groups of devices.

Figure 4: Bluetooth clients page

Email alerts

Additional details about each Bluetooth device can be seen on the client details page. The name of the Bluetooth client can also be edited for easier tracking. Email alerts can be enabled to trigger when the device becomes visible by the access point and when the device is no longer visible.

Figure 5: BLE client details

Enable Bluetooth Scanning

Using the physical placement of the access points from the Map & Floorplan on the Dashboard, the Meraki cloud estimates the location of the client. The geo-location coordinates (latitude, longitude) and X,Y location data accuracy can vary based on a number of factors and should be considered a best effort estimate. AP placement, environmental conditions, and client device orientation can influence X,Y estimation; experimentation can help improve the accuracy of results or determine a maximum acceptable uncertainty for data points.

 

To enable BLE devices to be located, enable the BLE scanning radio on the access points. BLE Scanning is enabled in the Wireless >  Bluetooth Settings page by selecting "On" in the Scanning section, as shown in Figure 3 below:


Screen Shot 2017-10-16 at 3.36.59 PM.png

Figure 3: Enabling BLE scanning

BLE Scanning API

 

Bluetooth API Data Elements

Name
Format
Description
apMac string MAC address of the observing AP
apTags [string] JSON array of all tags applied to the AP in dashboard
apFloors [string] JSON array of all floorplan names on which this AP appears
clientMac string Device MAC
seenTime ISO 8601 date string Observation time in UTC; example: "1970-01-01T00:00:00Z"
seenEpoch integer Observation time in seconds since the UNIX epoch
rssi integer Device RSSI as seen by AP
location location Device geolocation; null if location could not be determined
lat decimal Device latitude in degrees N of the equator
lng decimal Device longitude in degrees E of the prime meridian
unc decimal Uncertainty in meters
x [decimal] JSON array of x offsets (in meters) from lower-left corner of each floorplan
y [decimal] JSON array of y offsets (in meteres) from lower-left corner of each floorplan

Enable the Scanning API with BLE Scanning, and the Location API will include both WiFi and Bluetooth devices seen by the access points in a single data feed. The event type BluetoothDevicesSeen is used to identify the observations from the Bluetooth radio. Below are the JSON formats used by the Location API for Bluetooth devices.

 

HTTP POST body format

{
   "version":"2.0",
   "secret":<string>,
   "type":"BluetoothDevicesSeen",
   "data":<event-specific data>
}

 

Bluetooth API Data Format

{
  "apMac": <string>,
  "apFloors": [<string>, ...],
  "apTags": [<string, ...],
  "observations": [
    {
      "location": {
        "lat": <decimal>,
        "lng": <decimal>,
        "unc": <decimal>,
        "x": [<decimal>, ...],
        "y": [<decimal>, ...]
      },
      "seenTime": <string>,
      "clientMac": <string>,
      "seenEpoch": <integer>,
      "rssi": <integer>,
    },...
  ]
}

Enable Scanning API 

The Scanning API is configured in the Meraki Dashboard on the Network Wide > General settings page in a few simple steps:

  1. Turn on the API by selecting Scanning API enabled in the dropdown box.

  2. Specify a post URL and the authentication secret (the secret is used by your HTTP server to validate that the JSON posts are coming from the Meraki cloud)
  3. Specify which Scanning API version your HTTP server is prepared to receive and process.
  4. Configure and host your HTTP server to receive JSON objects.
  5. Upon the first connection, the Meraki cloud will perform a single HTTP GET; the server must return the organization-specific validator string as a response, which will verify the organization's identity as the Cisco Meraki customer. The Meraki cloud will then begin performing JSON posts. 

 

 

 

Protocol flow between Meraki cloud and third-party server:

 

Privacy for Scanning API

Bluetooth Beaconing

The Cisco Meraki MR30H, MR32, MR33, MR42, MR52, MR53, MR72, MR74 and MR84 WiFi access points have a built-in BLE iBeacon Advertising mode. You can enable the beacon right from the Cloud-hosted dashboard and configure the UUID, Major, and Minor. Meraki’s BLE enabled access points enable customers to begin developing practical applications for BLE devices. For example, you can use the BLE beacon advertising in a mobile app to trigger notifications or determine the position of the smartphone for wayfinding. These can be broadly categorized into ‘push’ applications, where the AP informs an aware device that it is in a certain location, or ‘pull’ applications, where the AP listens for beacons and uses this information to assist with asset tracking and control through the dashboard.

Configuring Beacons

Beacons are periodic signals emitted using Bluetooth Low Energy radio technology and conforming to a specific data packet format. The data packet looks like this:

Field

Preamble

Access Address

Header

MAC Address

Beacon prefix

UUID

Major

Minor

TX Power

CRC

Size

1B

4B

2B

6B

9B

16B

2B

2B

1B

3B

The Preamble, Access Address, Header, MAC Address, and CRC will be set as part of the BLE radio’s frame construction. The TX Power is a calibrated indicator of the RSSI of the transmitted measured at a 1m distance; this can be used for rough estimation of proximity to the device emitting the Beacons.

UUID, Major, and Minor are fields defined by the Beacon network administrator. Typically, an organization will define a unique identifier for their habitual usage: the UUID. All Beacons deployed throughout their locations would have the same UUID.

To differentiate Beacons at different offices or store locations, and Beacons within different areas of those locations, the Major and Minor fields are used. For example, a chain restaurant might decide that all restaurants within a city will share a Major, and each restaurant within that city will have a different Minor.

Meraki APs with an integrated Bluetooth Low Energy radio can emit Beacons with following technical specifications:

  • Beacon interval: 100 ms
  • Transmit power: 0 dBm

 

Beacon mode can be enabled under Wireless > Configure > Bluetooth Settings by selecting "On" beside Advertising in the Beaconing section, as show in Figure 1 below:

Screen Shot 2017-10-16 at 12.28.11 PM.png

Figure 4: Enabling BLE Beacon advertising
 

Once advertising is enabled, the UUID, Major, and Minor fields of the Beacon frame can be set. The Major/Minor values can either be set automatically and uniquely assigned on a per-AP basis for the network, or can be assigned globally for all AP's in the network. When advertising is enabled, Unique mode will be the default setting.

 

Unique mode will automatically assign the same major value and unique minor values to each AP in the network. If Unique mode is configured on a parent template network, then the networks bound to that template will assign unique major values per network, and unique minor values per AP within those networks. 

 

Saving these settings will activate the BLE Beacon on the Meraki AP’s integrated Bluetooth Low Energy radio.Screen Shot 2017-10-16 at 12.33.50 PM.png

Figure 5: Setting the BLE Beacon UUID/Major/Minor

 

Screen Shot 2017-10-16 at 12.50.28 PM.png

Figure 6: Assigning the Unique Major/Minor Values

 

Screen Shot 2017-10-16 at 12.51.47 PM.png

Figure 7: Assigning the Non-unique Major/Minor Values

 

Viewing Beacon Values

After the unique or non-unique values have been configured, you can view the assigned values from the Wireless > Bluetooth settings, as shown in the above Figures 6 and 7. Additionally, these values can be retrieved via the Dashboard API as shown below:

curl -L -H 'X-Cisco-Meraki-API-Key: <key>' -X GET -H 'Content-Type: application/json' 'https://dashboard.meraki.com/api/v0/...orkId]/devices'

Screen Shot 2017-10-16 at 3.03.29 PM.png

Figure 8: API response after querying the Dashboard API to list the devices in a network

You must to post a comment.
Last modified

Tags

Classifications

This page has no classifications.

Explore the Product

Click to Learn More

Article ID

ID: 3461

Explore Meraki

You can find out more about Cisco Meraki on our main site, including information on products, contacting sales and finding a vendor.

Explore Meraki

Contact Support

Most questions can be answered by reviewing our documentation, but if you need more help, Cisco Meraki Support is ready to work with you.

Open a Case

Ask the Community

In the Meraki Community, you can keep track of the latest announcements, find answers provided by fellow Meraki users and ask questions of your own.

Visit the Community