BleReader.Net
1.0.0
Un simple emballage fait pour lire les données du fabricant à partir de périphériques Bluetooth LE à l'aide de .NET.
Il prend actuellement en charge Linux à l'aide de DBUS et Bluez (à l'aide de DotNet-Bluez). En plus de fournir des données brutes du fabricant, il fournit des données analysées pour des appareils spécifiques (ne prend en charge que Ruuvitag actuellement).
Disponible en tant que package NuGet:
dotnet add package BleReader.Net
Obtenez des données Ruuvitag:
var adapterName = "hci0";
var scanDurationSeconds = 5;
var ruuviMacAddress = "12:34:56:78:90:AB";
IBleReader reader = new BleReader(new DotNetBlueZService());
await reader.ScanAsync(adapterName, scanDurationSeconds);
var ruuviTag = await reader.GetManufacturerDataAsync<RuuviTag>(ruuviMacAddress);
if (ruuviTag != null)
{
var dataAsJson = JsonSerializer.Serialize(ruuviTag, new JsonSerializerOptions() { WriteIndented = true });
Console.WriteLine($"Data: {dataAsJson}");
}
else
{
Console.WriteLine("No RuuviTag found");
}
Sortir:
Data: {
"DataFormat": 5,
"Humidity": 27.495,
"Temperature": 18.1,
"AirPressure": 1006.94,
"AccelerationX": -0.004,
"AccelerationY": -0.012,
"AccelerationZ": 1.032,
"BatteryVoltage": 2.881,
"TxPower": 4,
"MovementCounter": 184,
"MeasurementSequenceNumber": 12774,
"MacAddress": "12-34-56-78-90-AB"
}
Obtenez des informations sur tous les appareils trouvés:
var adapterName = "hci0";
var scanDurationSeconds = 5;
IBleReader reader = new BleReader(new DotNetBlueZService());
await reader.ScanAsync(adapterName, scanDurationSeconds);
var deviceInfoList = await reader.GetAllDevicesAsync();
var firstDevice = deviceInfoList.FirstOrDefault();
if (firstDevice != null)
{
var bytesAsString = BitConverter.ToString(firstDevice.ManufacturerData?.Data);
Console.WriteLine($"Bluetooth device with address {firstDevice.Address} found");
Console.WriteLine($"Manufacturer ID = {firstDevice.ManufacturerData?.Id}");
Console.WriteLine($"Manufacturer data = {bytesAsString}");
}
else
{
Console.WriteLine("No devices found");
}
Sortir:
Bluetooth device with address 12:34:56:78:90:AB found
Manufacturer ID = 1177
Manufacturer data = 05-0E-24-2A-F6-C6-06-FF-FC-FF-F4-04-08-A0-36-B8-31-E6-12-34-56-78-90-AB
Vous pouvez contribuer en soumettant des bogues, des demandes de fonctionnalités ou des demandes de traction (comme la mise en œuvre de la prise en charge des autres types de périphériques).