Categories
.NET Bluetooth

32feet – Bluetooth LE Device Discovery on iOS

When I created the InTheHand.BluetoothLE library I modeled the API on WebBluetooth as this gave a simple API surface but as it was designed to run within a browser sandbox some of the functionality is intentionally limited. For device discovery the API only provides a selection dialog. One of the most requested features early-on was […]

Categories
.NET Bluetooth

Asking for Permission

I’ve been asked a number of times about the process to ask for Bluetooth permission for your app. I’ve been meaning to create something reusable for some time but it has languished on the To Do list for rather too long. I recently noticed that as of .NET 8.0, MAUI will incorporate a Bluetooth permission […]

Categories
.NET Bluetooth Windows

Buffered Streams and the Courtesy Flush

One of the challenges with 32feet.NET is to try to provide as consistent an experience as possible on multiple platforms even though the underlying implementation varies wildly. One such case is with Bluetooth Classic and the stream used to read and write data over an RFCOMM connection. As it turns out each platform has its […]

Categories
.NET Bluetooth

Reinventing the Wheel Again – Bluetooth on Linux

Sometimes it takes a while to realise that an API is lying to you. When implementing Bluetooth Classic support for Linux on .NET 6.0 and above I came to this realisation after going directly to the native API. System.Net.Sockets has been available since the beginning of .NET. Traditionally this was a wrapper over the WinSock […]

Categories
.NET Bluetooth

Bluetooth Classic and Low Energy – Different Approaches

I often get asked about the different ways of using Bluetooth Classic and Bluetooth Low Energy with 32feet.NET. This post looks at the two different approaches and a bit of historical context. Separate Libraries The first key point here is that Bluetooth Classic and LE are handled by two different NuGet packages. 32feet.NET originated as […]

Categories
Bluetooth Windows

Phones and Windows 11 – June 2023 Update

Microsoft recently released their update to Phone Link to fully support iPhones on Windows 11. This means that for the best experience of using your iPhone you should switch to using Phone Link on Windows 11. Phone Link supports messaging, has more advanced notification support and sync call history. For everything else (not everyone uses […]

Categories
.NET Bluetooth

Pi Day

I’d completely forgotten about Pi day until I saw someone post about it online and I thought I should write about the happy coincidence that I’ve been working with a Raspberry Pi today. Last week I took delivery of a new Raspberry Pi. I have an older Pi 2 but I wanted to have a […]

Categories
.NET Bluetooth

Bluetooth Support for Android on More Frameworks

There is a particular issue when writing any code which will run on Android which presents external UI through an Intent or uses broadcasts in that you need to have a reference to the current Activity. I covered this in my last post. Following on from that I moved the code to a new library […]

Categories
Bluetooth

12 Days of Bluetooth – #12 Summary

Bluetooth is Big, Really Big Looking back over the different functionality I’ve covered in these past few posts has highlighted that Bluetooth is used for a wide range of scenarios, and it has grown massively from its simple beginnings. It is fair to say that looking at the evolution of each specification version that more […]

Categories
Bluetooth

12 Days of Bluetooth – #11 Command and Control

When we last looked at Bluetooth Low Energy we looked at the code required to read the battery level from a device. There are two things we didn’t cover – writing values and sending commands to a device. Writing in the Air If you’re familiar with the service that you are writing to the process […]