Introduction to the Bluetooth Starter Kit
We provide various resources for developers wanting to learn about Bluetooth® technology and how to exploit it from applications and devices. One of those resources is called the Bluetooth Starter Kitwhich we’ve just renamed from its original name, the “Smart Starter Kit.”
The Bluetooth Starter Kit is a hands-on learning resource that helps developers learn about creating applications for smart phone platforms and the code for peripheral device firmware.
With our starter kit, you get to build a Bluetooth peripheral device from an Arduino and a few simple electronic components like LEDs and resistors, wire it all together and program its firmware. You can then develop a smartphone application for Android or iOS and use your phone or tablet to interact with the Arduino peripheral.
Figure 1 – The Bluetooth Starter Kit
There are written “labs” for each smartphone platform and for the Arduino peripheral, which guide you through the creation and testing of the software for the associated platform. We recommend you start with the Arduino lab since, upon completion, you’ll have a working Bluetooth peripheral to test your smartphone application(s) against.
If you haven’t worked with Bluetooth before, don’t worry because this kit is ideal for people who are completely new to the subject. We’ve included foundational level information in the Arduino lab to ensure you have the basic concepts clear in your head before you dive into the coding part.
In the Arduino lab, you’ll be led through a series of lifecycle stages which broadly reflects the real world and the way you might approach creating a new device and associated applications.
First, you need to create a simple electronic circuit and connect it to your Arduino. If you’re new to electronics, this is a great first project. The electronics knowledge required is very rudimentary and completely suitable for absolute beginners.
Figure 2 – Hardware: 3 LEDs, a buzzer, an LCD display and an Arduino 101
The Arduino lab sets out a number of requirements the device must satisfy and guides you through the process of designing a Bluetooth profile to support them. You have a choice of using Bluetooth Developer Studio for the design or you can use the tried and tested classic combo of paper, pen and brain!
Figure 3 – Designing the starter kit profile with Bluetooth Developer Studio
The required custom Bluetooth profile is based upon an adopted profile, the Proximity Profile (PXP). PXP includes the Link Loss Service, the Immediate Alert Service and the TX Power Service. Following the instructions in our lab, you will add a further custom service called the Proximity Monitoring service.
Programming the Arduino peripheral involves several steps. This includes implementing code which causes the device to advertise and accept connections. We also need to incorporate the Bluetooth profile we designed and to intercept and respond to various operations, such as reading or writing to the data which the profile contains. Using Bluetooth Developer Studio, accelerates the process because it generates much of the code for us. All that’s left is the job of adding custom code to do things like control the LED lights connected to the Arduino.
Those who opt not to use Bluetooth Developer Studio are provided with a copy of the code which Bluetooth Developer Studio generates so they can progress from the same point. We like to be fair where we can!
Procedures for testing the implementation of each requirement are included in the lab using either a freely available smartphone application called nRF Connect from Nordic Semiconductor or Bluetooth Developer Studio which includes a testing workbench.
Figure 4 – Testing with nRF Connect
The kit includes full solutions for all the labs so if you get stuck, you can review our code and compare it to yours.
If you’ve already used a prior version of the starter kit or remember my article, you may be wondering how version 3.0 is any different from version 2.0. It does sound suspiciously similar, I admit!
Here’s what was changed in version 3.0
- We replaced the use of Arduino Uno with Arduino/Genuino 101
- We introduced the use of Bluetooth Developer Studio in the design of the lab profile, the generation of skeleton code and testing of the peripheral device
- We’ve retired the labs for BlackBerry 10 and Windows Phone 8.1. We know these platforms have their fans so we have retained the solutions for anyone wanting to review how Bluetooth applications are created. However, we won’t be updating these applications in the future
The original Kit used the Arduino Uno. This is now an older device and it does not have built-in support for Bluetooth and requires a separate “shield” or adapter board plugged into the Arduino.
The newer Arduino 101 (sold under the name Genuino 101 outside of the USA) has built-in Bluetooth and uses an easier Bluetooth API than the Uno. So we thought it would be a good move to update this aspect of the kit.
Bluetooth Developer Studio was released at the end of 2014 and makes the job of profile designers and implementers much easier. It makes sense to incorporate the tool in the kit so that you can gain experience of taking a more contemporary approach to this kind of work. I created a Bluetooth Developer Studio code generator component specifically for the Arduino 101 and other devices which use the same Bluetooth API for this very purpose.
The original post: http://blog.bluetooth.com/bluetooth-starter-kit/