BLE Device Monitor User Guide

From Texas Instruments Wiki
Jump to: navigation, search

Bluetooth CC2650 SensorTag main page Bluetooth CC2541 SensorTag main page

The Bluetooth low energy (BLE) Device Monitor is a Windows application that serves as a monitoring and control application for TI SensorTag devices. In addition it offers some functionality that applies to all BLE devices.

Introduction

BLE Device Monitor connects to a BLE Central Device (Host) via a serial port. The following TI modules may serve as BLE hosts: CC2540 USB dongle, CC2650 LaunchPad, CC1350 LaunchPad and CC2640R2 LaunchPad. The host firmware is the HostTestApplication and is the same that BTOOL uses. The host firmware for all platforms is bundled with BLE Device Monitor.

BLE Device Monitor is available for download here.
BLE Device Monitor does not support BLE 5 Hosts!

The application (latest version 2.8.0) has been tested on Windows 7 and Windows 10.

BLE Device Monitor functionality
Feature BLE Generic TI BLE Devices CC2541 SensorTag CC2650/CC1350 SensorTag Launchpad (CC2650,CC1350,CC2640R2) **
Device discovery Y Y Y Y Y
Connect Y Y Y Y Y
GATT explorer Y Y Y Y Y
OAD - Y Y Y Y
Display firmware revision Y* Y Y Y Y
Display battery level Y* Y - Y Y
Display Sensor Data - - Y Y -
Control LED - - Y Y Y
Control Buzzer - - - Y -
Visualize button activity - - Y Y Y
Visualize relay activity - - - Y -
Visualize light intensity - - - Y -
Wake On Motion - - - Y -
Device reset - - - Y Y
External Flash erase - - - Y Y
Test Panel - - Y Y Y

(*) Providing service is available

(**) Requires Out-of-box firmware

Installation

After downloading the ZIP-file, unpack and run installer (Setup_BLE_Device_Monitor.exe) and confirm when Windows asks for permission to install executable and drivers. When the installation is complete there will be a short-cut to the application on the Windows Desktop.

Host Firmware

Before the application can be used it needs to connect to a BLE Host on either a CC2540 USB Dongle or a CC2650/CC2640R2 LaunchPad. The recommended platform is one of the Launchpads, they come with a built-in programming interface and are thus more straightforward to get started with.

Programming the BLE Host
Board Programming SW Programming HW FW File *)
CC2650 LaunchPad SmartRF Flash Programmer 2 - firmware\cc26xx\launchpad\cc2650lp_host_test_rel.hex
CC2640R2 LaunchPad SmartRF Flash Programmer 2 - firmware\cc26xxr2\launchpad\cc2640r2lp_host_test.hex
CC2540 USB Dongle SmartRF Flash Programmer CC Debugger firmware\cc254x\CC2540_USBdongle_HostTestRelease_All.hex
  • ) Path relative to the applications installation directory. Default: C:\Program Files (x86)\Texas Instruments\SmartRF Tools\BLE Device Monitor

The Virtual COM port driver for the CC2540USB dongle and the LaunchPads can be found in (default): C:\Program Files\Texas Instruments\SmartRFTools\drivers\vcp.

BLE Device Monitor first use

Serial port driver installation

On Windows 7 and 10 the serial port driver installs automatically when the BLE host is connected for the first time. The COM-port number is displayed when the installation completes. The installation should normally not require any intervention from the user.

In the unlikely event that the driver installation files, the device is probably listed as an unknown device. Select the unknown device, right click and install the driver from: C:\Program Files (x86)\Texas Instruments\SmartRFTools\drivers\vcp.

Finding the correct COM port

Start application with no BLE host connected

Open Device Monitor from: C:\Program Files\Texas Instruments (x86)\BLE Device Monitor\ble_devmon.exe or from the Windows Start Menu, or from the Desktop shortcut. There will be a message that no TI USB Serial Device is connected.

Connect the BLE Host to a USB port and the application will automatically open it.

Start application with BLE host connected

BLE Device Monitor COM port.png

If the host is connect before launching the application, it will fail to open the COM port, as the predefined COM port is COM1. This will only happen the first time the application is launched.

If this happens, go to ‘Options’ and ‘Serial Port’ and select the desired COM port and click ‘OK’. This will start communication with the BLE Host.

BLE Host startup

When a BLE Host is detected, the BLE Device Monitor will display the message 'BLE Host found' and some other messages in the event log. Then it will by default start scanning for BLE devices. Automatic scanning after start-up can be enabled/disabled by the Autoscan checkbox.

BLE Device Monitor start up.png


Connecting to a SensorTag (or any Bluetooth low energy device)

Connect CC2541 SensorTag

Insert a CR2032 (coin cell) battery in the SensorTag and click on the side button to enable advertising. The LED (D1) should start to blink rapidly to indicate that it is ready to communicate with the BLE Device Monitor. If no connection is established within 30 seconds the LED will stop blinking and the SensorTag will go back to sleep. If that happens, push the side button again to make the SensorTag advertise for another 30 seconds. Advertising on/off can be toggled via the side button any time.

Connect CC2650 or CC1350 SensorTag

Insert a CR2032 (coin cell) battery. The device will first undergo a self-test, and when the test is complete it will start advertising. On the CC2650 SensorTag this indicated by the green LED blinking every second, on the CC1350 SensorTag the red LED serves the same function. The device advertises for 3 minutes, and is started/stopped by pressing the Power Button.


Click ‘Scan’ in BLE Device Monitor to scan for the SensorTag
BLE Device Monitor scan.png

Select the SensorTag; either by double clicking on the SensorTag name or select the SensorTag and click on ‘Connect’.
BLE Device Monitor connecting.png

The SensorTag will now change status from Not Connected to Connected and all Service Discovery starts, provided the Autodiscover check-box is ticked. Bluetooth low energy Services and Characteristics now appear.

GATT Explorer

The GATT Explorer appears as soon as service discovery is completed. It is a tree representation of the BLE device's GATT database, and shows all services, characteristics, characteristics descriptors and characteristic values. The latter may be changed by the operator, by double-clicking on the corresponding item and enter a new value.

SensorTag and LaunchPad application tabs

If a SensorTag or Launchpad is detected, an Application tab appears next to the GATT explorer. For SensorTags the panel displays sensor values, button and relay states, and controls for activating LEDs and buzzer, starting/stopping data acquisition, reset the device or erase the external flash.

The Launchpad application tab is simpler: it shows button states, LED control, Device Reset and External Flash Erase.

Other devices

For other devices than TI SensorTags or LaunchPads no application panel appears, but the GATT Explorer is till visible and can be used to display and change characteristics values.


Using the GATT Explorer

BDM_GATT.png

The GATT tab will list all the GATT Primary Services that is available for the connected Bluetooth low energy device. Click on the + to display the Characteristics of the Service.

For the Pressure sensor, there is a characteristic, AA41, which shows the raw temperature data from the Pressure sensor (Barometer). Notifications are enabled after connection but the SensorTag will not transmit any data as the sensors are off by default. Click on the Barometer Data characteristics to see the temperature readings (in hex). These will show 00:00:00:00:00:00 when the sensor is off.

Turn on the sensor by double-clicking in the 'Value' field of the Barometer Config characteristic, and enter '1'. Now data from the sensor will appear in the Value column. If the log is set to "verbose" messages will appear also there. The readout period can be changed by applying a value to the 'Barometer characteristic'. The sensor is then turned off by writing '0' to the Config characteristic.

Explore the other sensors to by opening the corresponding Services. All sensors use a common set of characteristics and are operated in the same way.

Using the SensorTag tab

BLE Device Monitor Monitoring.png

Data Monitoring

Choose the sensors you want to monitor and then click 'Start'. Make sure that you haven't stopped notifications of any of the sensors you want to monitor. By default all sensors are enabled. Both converted and raw values are displayed. If the values are within limits they are displayed green, if not red. When the tab is launched the status of the power-on self-test is displayed.

CC2650 and CC1350 SensorTags are equipped with the following sensors: IR Temperature (*), Barometer, Humidity, Accelerometer, Gyroscope, Magnetometer, Optical sensor.

CC2541 SensorTag is equipped with: Accelerometer, Gyroscope, Magnetometer, Barometer, Humidity Sensor, IR Temperature sensor

(*)The IR Temperature Sensor TMP007 is not fitted on SensorTags produced after July 2017 as the component is no longer manufactured.

Buttons and relays

From this tab the state of buttons and relay (CC2650/CC1350 SensorTag) is also displayed. The state of those are available also when data monitoring is not running. You will see the effect of a button click immediately.

LED and Buzzer

The LEDs can be operated from here. Green LED for CC2541 and CC2650 SensorTag, red LED for CC2650 and CC1350 SensorTag. The two latter also has a buzzer that likewise can be activated. Be aware that the buzzer's power consumption is high, and if the battery level is low it may cause the SensorTag to disconnect altogether.

Wake on Motion

This feature is only available on the CC2650 and CC1350 SensorTag. When enabled data acquisition stops after 10 seconds and is re-activated by touching the device physically.

Other features

The CC2650 and CC1350 SensorTag can also be reset from the BLE Device Monitor. This is a soft reset of the MCU.

A useful feature for developers is the External Flash Erase command. This will remove any factory or OAD images on the flash. When the device is reset next, the current flash image will be installed on the external flash as 'Factory Default'.

Using the LaunchPad tab

BDM LaunchPad.png

The LaunchPad panel has the same basic functionality as the SensorTag panel but for obvious reasons no sensors. Nor is there any buzzer or relay.

Buttons

From this tab the state of buttons is also displayed. You will see the effect of a button click immediately.

LED

The red and green LED can be operated from here.

Other features

The CC2650 and CC1350 LaunchPads can also be reset from the BLE Device Monitor. This is a soft reset of the MCU.

A useful feature for developers is the External Flash Erase command. This will remove any factory or OAD images on the flash. When the device is reset next, the current flash image will be installed on the external flash as 'Factory Default'.

Using the Test tab

(opened from the Options menu or CTR+T).

This is the Production Test facility for the SensorTag. It provides test of all the sensors and peripherals that are available on the SensorTag. The operator will be prompted for action when required, e.g. to confirm that, say, an LED has been turned on or when it is necessary to operate a button. The test results are stored in time stamped log files, one for each calendar day (XML format). Test results are best accessed via File->Open Working Directory. This will open the storage directory used by the SensorTag (Documents\Texas Instruments\BLE Device Monitor).

The test limits may be changed in the following XML file: C:\Program Files (x86)\Texas Instruments\SmartRFTools\BLE Device Monitor\config\test_sensortag.xml. Similar configuration files exist for all supported TI platforms (test_launchpad.xml, test_cc2650stk.xml, test_cc1350stk.xml).

Over-the-Air-Download (OAD) for CC2541 SensorTag

OAD in BLE Device Monitor

New firmware can be downloaded to the SensorTag using the OAD feature of the BLE Device Monitor. This feature is accessed with File->Program (OAD), alternatively use CTRL + O. Select the image you want to download to the SensorTag. In \\Program Files\Texas Instruments (x86) \SmartRFTools\BLE Device Monitor\firmware\cc254x there are binary images containing the latest available firmware (at the moment version 1.6 based on BLE Stack 1.42).
.
Click start to begin the over-the-air firmware upgrade.

When a new firmware has been successfully downloaded to the SensorTag it will restart and the BLE Device Monitor loses connection with it. When ready the LED on the SensorTag will blink once and the SensorTag is reset and ready to use with the new firmware. Note that the side button must be pushed to restart advertising and the user may now reconnect and verify that the upgrade succeeded. Aborting the OAD upgrade is safe, the BLE device will continue to operate with its current firmware. This is easiest done by inspecting the log where the FW revision and the build date is displayed in bold green.

Note that if the current image is of type 'A', the new image must be type 'B' and vice versa.

Over-the-Air-Download (OAD) for CC2650 and CC1350 SensorTags

BDM_OAD_2650.png

These devices are programmed using a different GUI than the CC2541 SensorTag. It can program hex files directly either by choosing them with a file open dialog or by drag and drop.

The upgrade possibilities are restricted by the firmware that is already present in the SensorTag. The initial batch of SensorTags were programmed with BETA firmware (pre-RTM), given the version number 0.89. This version permits an upgrade to version 0.91 only. When this is done you may upgrade to subsequent CC2650 firmware versions. If you have a SensorTag with 0.89 firmware pre-programmed it is highly recommended that you update to version 1.20 via version 0.91. Note that CC2650/CC1350 SensorTags or LaunchPads do not distinguish between images types A/B as it uses an external flash for temporary storage of the image.

Between version 1.20 and 1.30 it is necessary to update the whole image because the Boot Image Manager changed. Therefore the OAD Flash Programmer must be downloaded as a first step, and then version 1.30 can be downloaded. The correct steps are indicated by which files are made visible in the file opening dialog.

It is possibly to override the restrictions on upgrade paths simply by changing the file filter when you open a file for download. If you set the filter to all you can download any hex- or bin-file, but at your own risk. If the new image doesn't contain an BLE OAD service the only way to reprogram device is via the Debug Devpack (or LaunchPad).

OAD changes in BLE 2.2

With BLE 2.2 the OAD approach for SensorTag and other TI Bluetooth Smart examples have been harmonized to use the same approach. Thus it is no longer possible to program any hex image on the SensorTag. Only images that start on address 0x1000 and contain a valid OAD record (meta-data) in the first 16 bytes will be accepted. Page 0 and page 31, containing reset vector and BIM (Boot Image Manager) can no longer be reprogrammed over the air.

CC2541 SensorTag Attributes

The complete Attribute Table for the SensorTag can be found in here BLE_SensorTag_GATT_Server.pdf


CC2650 SensorTag Attributes

The complete Attribute Table for the CC2650 SensorTag can be found at here. Scroll to the bottom and expand GATT Attribute Table.


Back to Bluetooth SensorTag main page

Change Log

Changes between version 2.8.0 and version 2.7.0:

  • Fixed critical error in handling of serial port input (could cause OAD to stop before completion)
  • Using the function HCI_Reset (instead of vendor specific functions) to reset BLE host
  • Fixed scaling problem in OAD tab for small screens
  • Read long characteristics correctly
  • Fixed inconsistent/erroneous UUID rendering in tool-tips and GATT HTML export
  • Includes OAD firmware files for CC2640R2 LaunchPad on-chip OAD (Oad Target, Simple Peripheral and Project Zero)

Changes between version 2.7.0 and version 2.5.0:

  • Display of IR Temperature sensor removed (the component has reached end of life and is not mounted on the SensorTag)
  • Automatic USB enumeration (plug-and-play)
  • Basic in-tool user interface to SmartRF Flash Programmer 2
  • On-chip OAD now working
  • Firmware version 1.43 for CC2650 and CC1350 SensorTags
  • Firmware version 2.35 for CC2640R2F LaunchPad
  • Fixed minor bugs

Changes between version 2.5.0 and version 2.4.0:

  • Improved OAD GUI (more information about images)
  • Always use safe mode for OAD (removed possibility to tweek)
  • Automatically set optimal connection interval for OAD
  • OAD working again for CC2541 SensorTag
  • Manual selection of OAD method (on-chip v off-chip) for third-party applications (not SensorTag or Launchpad OOB)

Changes between version 2.4.0 and version 2.3.0:

  • Update firmware to BLE SDK 2.2.1
  • List of firmware versions available from application menu

Changes between version 2.3.0 and version 2.2.0:

  • Added firmware for CC1350 SensorTag
  • Automatically select correct firmware folder for OAD (according to which device is connected)
  • OAD tab now available offline (for generating binary files from hex files)
  • Display meta-data (image header) prior to OAD
  • Soft reset of BLE Device

Changes between version 2.2.0 and version 2.0.0:

  • Provided with BLE 2.2 application firmware for CC2650 SensorTag and CC2650/CC1350 LaunchPad
  • Split data monitoring and production test functionality
  • HCI data logging to file
  • Report firmware revision and battery level in status bar
  • OAD upgrade path for SensorTag firmware v 1.20 to 1.30
  • Improved scan settings dialog (device name filtering)
  • Remembers previously selected device
  • Optional autoconnect after scan
  • External Flash Erase

Changes between version 1.0.0 and version 2.0.0:

  • Support for CC2650 SensorTag with the new sensors
  • OAD for CC2650 SensorTag
  • OAD uses hex files directly
  • OAD customization: possible to choose between 'safe mode' (wait for notification before sending a new block) and 'fast mode' (send at a fixed interval, configurable)
  • Optical sensor TI OPT 3001 visualized
  • Added possibility to operate LED and buzzer from SensorTag panel
  • Fixed bug that made SensorTag panel reports errors with long connection interval + slave latencies
  • Scan duration configurable
  • Background scans introduced (rate is configured in Scan settings)
  • Two pre-set values for GAP settings (fast and slow modes)