First of all, I’d like to thank element14 and Texas Instruments for giving me the opportunity to review the SensorTag.
Unboxing and using the app
The SensorTag came in two small boxes:
- TI SimpleLink Multi-Standard SensorTag Development Kit
- TI SimpleLink SensorTag DevPack
The first box contains the actual dev kit, featuring the CC2650 wireless MCU, using Bluetooth connectivity. It comes with a leaflet on how to get started using the smartphone app. There appears to be an app for both Android and iOS devices. I installed the iOS app on my iPhone 4, only to realise my phone doesn’t support Bluetooth Low Energy. A list of compatible devices can be found here, be sure to check your device supports it: Bluetooth Smart Devices List | Bluetooth Technology Website
So I searched for another device and gave it a try on the iPad (which is listed as a compatible device), after downloading the free app from the App Store and enabling Bluetooth. The app quickly discovered the SensorTag and a popup appeared offering to upgrade the firmware, so I did. The upgrade went smoothly, and the new firmware was reported in the app.
When the app is started and the SensorTag selected, some functions are provided:
- sensor view
- give alias
- service explorer
- advertisement data
- show cloud URL
The sensor view allows the realtime monitoring and configuration of the various sensors. There are ten different sensors onboard in total:
- ambient temperature
- object temperature (IR)
- movement sensor (9-axis)
- light sensor
- digital microphone
There are also following components which can be used/controlled:
- 2 LEDs (red & green)
- 2 push buttons
- magnetic switch
I managed to find all sensors in the app, except the microphone. Perhaps it still needs to be added ?
Even with all these sensors onboard, according to the website, the battery (CR 2032) life is expected to be around 1 year, using 1 second report intervals.
The sensor view can be used to (de)activate certain sensors, change the update interval and of course visualise the data in realtime. For the movement sensors, there is even a rendering of the SensorTag showing the movements in 3D space.
Below is a video in which I browse the sensor view and expose the sensors to a magnet, body temperature, light and movement.
The second option the app offers is the “give alias”. This does exactly what the name implies and allows you to define an alias per SensorTag. This is particularly useful to identify which tat is which in case you have multiple active.
Services are used to categorise data in logical categories. In this particular case, a service is defined for the device and for every sensor or type of action. Every service then has a specific set of characteristics, each containing a single data point. As can be seen from the screenshots below, the characteristics can have different permissions such as being readable or writable. The app allows to browse the different services and their characteristics, read them, and modify them where allowed. It’s basically what the sensor view is using in a more user friendly way, as the sensor view does not expose these details or use the Bluetooth related terminology.
This is purely informative and shows the data advertised by the SensorTag. The SensorTag advertises upon startup, making it discoverable by other BLE enabled devices such as smartphones or tablets.
Show cloud URL
This option allows you to send a URL, allowing anyone with the link to visualise the sensors’ data in realtime over the internet. It requires the SensorTag to be connect to a smartphone or tablet with internet connectivity and that the “cloud view: sourcing” is enabled in the sensor view. Opening the URL, will open a page on the IBM Internet of Things Foundation specific to that SensorTag.
The second box contains the Debugger DevPack, which is sort of an add-on board that can be connected to the dev kit, allowing reprogramming of the device. As the DevPack was not originally part of the Road Test, I had no specific plans with it. It did help me out at one point, when the battery of the SensorTag seemed to be drained. By attaching the Debugger DevPack to the SensorTag, I was able to power it using a micro USB connection and continue my testing. Another interesting feature of the Debugger DevPack, is that it allows to solder up to 3 Grove connectors, allowing to connect a wide range of new sensors and actuators to the SensorTag.
More information on the Debugger DevPack can be found on TI’s website: SimpleLink SensorTag Debugger DevPack – CC-DEVPACK-DEBUG – TI Tool Folder
There currently seem to be 3 different DevPacks available:
- Debugger (provided for this review)
- Watch: 96×96 px low power display
- LED / Audio: 4W audio amplifier and 4 high power multi-color LEDs
More info here: Simplelink SensorTag – TI.com
Collecting and storing data
The smartphone/tablet app is very useful to visualise the data in realtime. However, there is no persistence of the data, making the app less suited for long term monitoring, correlation of data or pattern discovery. This is why I experimented with different software tools in order to collect and store the data.
I’ve written several blog posts on how to set up Bluetooth, Node-RED and OpenHAB on the Beaglebone Black in combination with the SensorTag for exactly that purpose. Here’s an overview.
- BLE on Beaglebone Black (with SensorTag 2.0)
- Node-RED on Beaglebone Black (with SensorTag 2.0)
- OpenHAB on Beaglebone Black (with SensorTag 2.0)
The first post focuses on getting Bluetooth to work on the Beaglebone Black. Once Bluetooth is set up, a manual connection is made to the SensorTag and the device name is retrieved. The second post uses the Bluetooth setup from the first post in order to retrieve SensorTag data via Bluetooth and convert it to a different protocol such as MQTT. Node-RED offers a wide variety of building blocks, allowing you to manipulate, convert or transform data any way you want. Finally, the third post describes how to use OpenHAB to collect and persist the MQTT data, trigger notifications when certain thresholds are reached and create charts.
The SensorTag is a fun and cheap dev kit allowing users to experiment with and learn about Bluetooth and a wide variety of sensors. The app is very useful and makes it possible to start publishing data to the internet in a matter of minutes. More advanced users can make use of the Debugger DevPack to reprogram the SensorTag and create more advanced applications. I look forward to seeing the version with Wi-Fi, eliminating the need of an intermediate gateway such as a phone/tablet or computer. The other DevPacks are interesting as well, I wonder how the entire ecosystem will evolve.
Some minor problems were encountered along the way: the app crashes in iOS9, but works perfectly fine in iOS8, and the battery was completely drained at some point. Perhaps due to excessive use while testing. Finally, a digital microphone is listed as sensor, but I couldn’t find it available in the app. Is this a pending feature of the app ?
Overall, it’s easy to get started with TI’s SensorTag for beginners and advanced users can take it further making use of the DevPacks.