Categories
Bluetooth

12 Days of Bluetooth – #10 Hands-Free

Bluetooth Classic contains a handful of profiles which use AT commands to work with telephony devices over an RFComm connection. We discussed these briefly in #3 of this series and today will look in more detail and the most commonly implemented one – Hands Free Profile. Look No Hands! Two similar profiles exist in Headset […]

Categories
Bluetooth

12 Days of Bluetooth – #9 Pairing

Both Classic and Low Energy devices can provide functionality to unpaired devices or require pairing first before exchanging sensitive information. However, what exactly is pairing? Stick a Pin in it The original mechanism for pairing uses a four digit PIN code. One device would need to be discoverable, and the other device upon discovering it […]

Categories
Bluetooth

12 Days of Bluetooth – #8 Bluetooth Low Energy in Code

Following on from the last post, which covered the technology of Bluetooth Low Energy, this post will look at how to use it from code using InTheHand.BluetoothLE. We’re going to look at an example using a simple but widely used service – Battery Service. You can probably guess what it is used for. Step One […]

Categories
Bluetooth

12 Days of Bluetooth – #7 Bluetooth Low Energy

In 2011, Bluetooth 4.0 was introduced and contained the biggest update to the standard yet. It introduced a whole new way of talking to Bluetooth devices which allowed them to use considerably less power. Bluetooth Low Energy works entirely separately from Bluetooth Classic but the two can coexist. For example most mobile phones will support […]

Categories
Bluetooth

12 Days of Bluetooth – #6 Bluetooth Classic on iOS

Today we take a quick detour to look at something specific to Apple devices. You Can’t Handle The API! iOS has always been the most “locked-down” mobile platform and one of its restrictions has been a lack of support for developers to work with Bluetooth Classic devices. “But wait, 32feet.NET has support for Bluetooth Classic […]

Categories
Bluetooth

12 Days of Bluetooth – #5 Coding Bluetooth Classic

All the previous posts in this series have talked about Bluetooth technology, in this post we will look at a practical example (using .NET of course!). 32feet.NET From the initial release of the .NET Compact Framework, Microsoft included a library to work with IrDA. This used an API similar to TcpClient and TcpListener but also […]

Categories
Bluetooth

12 Days of Bluetooth – #4 Serial Port Profile

Today we are delving into the details of a basic and widely used service. We may well come back and revisit the lower layers, but this topic will look at something you are likely to use when doing Bluetooth Classic (not Low Energy) development. Cutting the Cable One of the early aims for Bluetooth was […]

Categories
Bluetooth

12 Days of Bluetooth – #3 Protocols, Profiles and Services

In this entry we look into the architecture of Bluetooth a little more. Stack to Basics The Bluetooth protocol stack consists of separate layers from the physical radio up to the high level services which enable various uses from headsets to printers and beyond. The lower levels happen below the Host Controller Interface which is […]

Categories
Bluetooth

12 Days of Bluetooth – #2 Discovery

Continuing the series, today’s post looks at how we discover and identify Bluetooth devices. I’m Not a Number Every Bluetooth device has a unique numerical address baked into the hardware – like a MAC address for a network adaptor. It is 48 bits long and is often displayed in hexadecimal form, usually with colon separators […]

Categories
Bluetooth

12 Days of Bluetooth – #1 Introduction

I thought I would set myself the challenge of blogging about Bluetooth between now and Twelfth Night. I’m going to look at 12 topics covering the technology, the various services and capabilities as well as, of course, referencing how 32feet can help you use the technology. What’s in a Name? We probably all know the […]