ThinkMeta.Devices.Bluetooth.Core
0.1.0
dotnet add package ThinkMeta.Devices.Bluetooth.Core --version 0.1.0
NuGet\Install-Package ThinkMeta.Devices.Bluetooth.Core -Version 0.1.0
<PackageReference Include="ThinkMeta.Devices.Bluetooth.Core" Version="0.1.0" />
<PackageVersion Include="ThinkMeta.Devices.Bluetooth.Core" Version="0.1.0" />
<PackageReference Include="ThinkMeta.Devices.Bluetooth.Core" />
paket add ThinkMeta.Devices.Bluetooth.Core --version 0.1.0
#r "nuget: ThinkMeta.Devices.Bluetooth.Core, 0.1.0"
#:package ThinkMeta.Devices.Bluetooth.Core@0.1.0
#addin nuget:?package=ThinkMeta.Devices.Bluetooth.Core&version=0.1.0
#tool nuget:?package=ThinkMeta.Devices.Bluetooth.Core&version=0.1.0
ThinkMeta.Devices.Bluetooth
ThinkMeta.Devices.Bluetooth is a .NET library for discovering, connecting to, and interacting with Bluetooth fitness and heart rate devices. It provides high-level APIs for scanning, connecting, and controlling devices such as treadmills (FTMS) and heart rate monitors.
Features
- Scan for Bluetooth FTMS fitness machines (e.g., treadmills)
- Scan for Bluetooth heart rate monitors
- Connect to discovered devices
- Receive real-time data (e.g., speed, distance, heart rate)
- Control supported fitness machines (e.g., set treadmill speed)
Getting Started
Add the library to your .NET project and use the provided device scanner and device classes to interact with Bluetooth devices.
Example: Scan and Control a Treadmill (FTMS)
var scanner = new FitnessDeviceScanner();
var discoveredDevices = new List<FitnessMachineAdvertisementInfo>();
scanner.DeviceDiscovered += deviceObj => {
if (deviceObj is FitnessMachineAdvertisementInfo device) {
// Add device to list and display info
}
};
scanner.StartScanning();
// Wait for user input, then stop scanning
scanner.StopScanning();
// Connect to a selected device
var treadmill = await FitnessDevice.ConnectAsync(selectedDevice.BluetoothAddress);
treadmill.TreadmillDataChanged += (sender, data) => {
// Handle treadmill data (speed, distance, etc.)
};
await treadmill.RequestControlAsync();
await treadmill.SetTargetSpeedAsync(1000); // Set speed to 10.00 km/h
Example: Scan and Connect to a Heart Rate Monitor
var scanner = new HeartRateMonitorDeviceScanner();
var discoveredDevices = new List<AdvertisementInfo>();
scanner.DeviceDiscovered += device => {
// Add device to list and display info
};
scanner.StartScanning();
// Wait for user input, then stop scanning
scanner.StopScanning();
// Connect to a selected device
var monitor = await HeartRateMonitorDevice.ConnectAsync(selectedDevice.BluetoothAddress);
monitor.HeartRateMeasurementReceived += hr => Console.WriteLine($"Heart Rate: {hr} bpm");
Requirements
- .NET 10 or later
- Bluetooth adapter supported by your platform
License
See LICENSE for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-windows10.0.19041 is compatible. |
-
net10.0-windows10.0.19041
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on ThinkMeta.Devices.Bluetooth.Core:
| Package | Downloads |
|---|---|
|
ThinkMeta.Devices.Bluetooth.HeartRate
Classes for scanning and using Bluetooth heart rate monitors. |
|
|
ThinkMeta.Devices.Bluetooth.Fitness
Classes for scanning and using Bluetooth fitness devices. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 80 | 1/15/2026 |
Initial release of the Bluetooth core library.