Meadow.Foundation.Sensors.Motion.Bno055
1.3.4.10-beta
See the version list below for details.
dotnet add package Meadow.Foundation.Sensors.Motion.Bno055 --version 1.3.4.10-beta
NuGet\Install-Package Meadow.Foundation.Sensors.Motion.Bno055 -Version 1.3.4.10-beta
<PackageReference Include="Meadow.Foundation.Sensors.Motion.Bno055" Version="1.3.4.10-beta" />
paket add Meadow.Foundation.Sensors.Motion.Bno055 --version 1.3.4.10-beta
#r "nuget: Meadow.Foundation.Sensors.Motion.Bno055, 1.3.4.10-beta"
// Install Meadow.Foundation.Sensors.Motion.Bno055 as a Cake Addin #addin nuget:?package=Meadow.Foundation.Sensors.Motion.Bno055&version=1.3.4.10-beta&prerelease // Install Meadow.Foundation.Sensors.Motion.Bno055 as a Cake Tool #tool nuget:?package=Meadow.Foundation.Sensors.Motion.Bno055&version=1.3.4.10-beta&prerelease
Meadow.Foundation.Sensors.Motion.Bno055
Bosch BNO055 I2C 9 axis absolute orientation sensor
The Bno055 library is designed for the Wilderness Labs Meadow .NET IoT platform and is part of Meadow.Foundation.
The Meadow.Foundation peripherals library is an open-source repository of drivers and libraries that streamline and simplify adding hardware to your C# .NET Meadow IoT application.
For more information on developing for Meadow, visit developer.wildernesslabs.co.
To view all Wilderness Labs open-source projects, including samples, visit github.com/wildernesslabs.
Usage
Bno055 sensor;
public override Task Initialize()
{
Resolver.Log.Info("Initialize...");
// create the sensor driver
sensor = new Bno055(Device.CreateI2cBus());
// classical .NET events can also be used:
sensor.Updated += (sender, result) =>
{
Resolver.Log.Info($"Accel: [X:{result.New.Acceleration3D?.X.MetersPerSecondSquared:N2}," +
$"Y:{result.New.Acceleration3D?.Y.MetersPerSecondSquared:N2}," +
$"Z:{result.New.Acceleration3D?.Z.MetersPerSecondSquared:N2} (m/s^2)]");
Resolver.Log.Info($"Gyro: [X:{result.New.AngularVelocity3D?.X.DegreesPerSecond:N2}," +
$"Y:{result.New.AngularVelocity3D?.Y.DegreesPerSecond:N2}," +
$"Z:{result.New.AngularVelocity3D?.Z.DegreesPerSecond:N2} (degrees/s)]");
Resolver.Log.Info($"Compass: [X:{result.New.MagneticField3D?.X.Tesla:N2}," +
$"Y:{result.New.MagneticField3D?.Y.Tesla:N2}," +
$"Z:{result.New.MagneticField3D?.Z.Tesla:N2} (Tesla)]");
Resolver.Log.Info($"Gravity: [X:{result.New.GravityVector?.X.MetersPerSecondSquared:N2}," +
$"Y:{result.New.GravityVector?.Y.MetersPerSecondSquared:N2}," +
$"Z:{result.New.GravityVector?.Z.MetersPerSecondSquared:N2} (meters/s^2)]");
Resolver.Log.Info($"Quaternion orientation: [X:{result.New.QuaternionOrientation?.X:N2}," +
$"Y:{result.New.QuaternionOrientation?.Y:N2}," +
$"Z:{result.New.QuaternionOrientation?.Z:N2}]");
Resolver.Log.Info($"Euler orientation: [heading: {result.New.EulerOrientation?.Heading:N2}," +
$"Roll: {result.New.EulerOrientation?.Roll:N2}," +
$"Pitch: {result.New.EulerOrientation?.Pitch:N2}]");
Resolver.Log.Info($"Linear Accel: [X:{result.New.LinearAcceleration?.X.MetersPerSecondSquared:N2}," +
$"Y:{result.New.LinearAcceleration?.Y.MetersPerSecondSquared:N2}," +
$"Z:{result.New.LinearAcceleration?.Z.MetersPerSecondSquared:N2} (meters/s^2)]");
Resolver.Log.Info($"Temp: {result.New.Temperature?.Celsius:N2}C");
};
// Example that uses an IObservable subscription to only be notified when the filter is satisfied
var consumer = Bno055.CreateObserver(
handler: result => Resolver.Log.Info($"Observer: [x] changed by threshold; new [x]: X:{result.New.Acceleration3D?.X.MetersPerSecondSquared:N2}, old: X:{result.Old?.Acceleration3D?.X.MetersPerSecondSquared:N2}"),
// only notify if there's a greater than 1 micro tesla on the Y axis
filter: result =>
{
if (result.Old is { } old)
{
return ((result.New.Acceleration3D - old.Acceleration3D)?.Y > new Acceleration(1, AU.MetersPerSecondSquared));
}
return false;
});
sensor.Subscribe(consumer);
return Task.CompletedTask;
}
public async override Task Run()
{
await ReadConditions();
sensor.StartUpdating(TimeSpan.FromMilliseconds(500));
}
protected async Task ReadConditions()
{
var result = await sensor.Read();
Resolver.Log.Info("Initial Readings:");
Resolver.Log.Info($"Accel: [X:{result.Acceleration3D?.X.MetersPerSecondSquared:N2}," +
$"Y:{result.Acceleration3D?.Y.MetersPerSecondSquared:N2}," +
$"Z:{result.Acceleration3D?.Z.MetersPerSecondSquared:N2} (m/s^2)]");
Resolver.Log.Info($"Gyro: [X:{result.AngularVelocity3D?.X.DegreesPerSecond:N2}," +
$"Y:{result.AngularVelocity3D?.Y.DegreesPerSecond:N2}," +
$"Z:{result.AngularVelocity3D?.Z.DegreesPerSecond:N2} (degrees/s)]");
Resolver.Log.Info($"Compass: [X:{result.MagneticField3D?.X.Tesla:N2}," +
$"Y:{result.MagneticField3D?.Y.Tesla:N2}," +
$"Z:{result.MagneticField3D?.Z.Tesla:N2} (Tesla)]");
Resolver.Log.Info($"Gravity: [X:{result.GravityVector?.X.MetersPerSecondSquared:N2}," +
$"Y:{result.GravityVector?.Y.MetersPerSecondSquared:N2}," +
$"Z:{result.GravityVector?.Z.MetersPerSecondSquared:N2} (meters/s^2)]");
Resolver.Log.Info($"Quaternion orientation: [X:{result.QuaternionOrientation?.X:N2}," +
$"Y:{result.QuaternionOrientation?.Y:N2}," +
$"Z:{result.QuaternionOrientation?.Z:N2}]");
Resolver.Log.Info($"Euler orientation: [heading: {result.EulerOrientation?.Heading:N2}," +
$"Roll: {result.EulerOrientation?.Roll:N2}," +
$"Pitch: {result.EulerOrientation?.Pitch:N2}]");
Resolver.Log.Info($"Linear Accel: [X:{result.LinearAcceleration?.X.MetersPerSecondSquared:N2}," +
$"Y:{result.LinearAcceleration?.Y.MetersPerSecondSquared:N2}," +
$"Z:{result.LinearAcceleration?.Z.MetersPerSecondSquared:N2} (meters/s^2)]");
Resolver.Log.Info($"Temp: {result.Temperature?.Celsius:N2}C");
}
How to Contribute
- Found a bug? Report an issue
- Have a feature idea or driver request? Open a new feature request
- Want to contribute code? Fork the Meadow.Foundation repository and submit a pull request against the
develop
branch
Need Help?
If you have questions or need assistance, please join the Wilderness Labs community on Slack.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Meadow.Foundation (>= 1.3.4.10-beta)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.15.0.8-beta | 64 | 12/24/2024 |
1.15.0.7-beta | 60 | 12/17/2024 |
1.15.0.6-beta | 64 | 11/20/2024 |
1.15.0.5-beta | 59 | 11/19/2024 |
1.15.0.4-beta | 66 | 11/16/2024 |
1.15.0.3-beta | 73 | 11/4/2024 |
1.15.0.2-beta | 75 | 10/29/2024 |
1.15.0.1-beta | 71 | 10/22/2024 |
1.15.0 | 131 | 10/15/2024 |
1.14.0.6-beta | 65 | 10/8/2024 |
1.14.0.5-beta | 75 | 10/2/2024 |
1.14.0.4-beta | 77 | 9/24/2024 |
1.14.0.3-beta | 95 | 9/17/2024 |
1.14.0.2-beta | 97 | 9/12/2024 |
1.14.0.1-beta | 85 | 9/10/2024 |
1.14.0 | 120 | 9/5/2024 |
1.13.0.1-beta | 117 | 8/21/2024 |
1.13.0 | 146 | 8/15/2024 |
1.12.8.7-beta | 98 | 8/14/2024 |
1.12.8.6-beta | 73 | 8/6/2024 |
1.12.8.5-beta | 59 | 7/30/2024 |
1.12.8.4-beta | 69 | 7/30/2024 |
1.12.8.2-beta | 86 | 7/24/2024 |
1.12.8.1-beta | 87 | 7/17/2024 |
1.12.8 | 106 | 7/11/2024 |
1.12.2.9-beta | 79 | 7/9/2024 |
1.12.2.7-beta | 79 | 7/3/2024 |
1.12.2.6-beta | 99 | 6/29/2024 |
1.12.2.5-beta | 99 | 6/28/2024 |
1.12.2.4-beta | 97 | 6/24/2024 |
1.12.2.3-beta | 88 | 6/24/2024 |
1.12.2.1-beta | 100 | 6/19/2024 |
1.12.2 | 133 | 6/11/2024 |
1.12.0.2-beta | 99 | 6/4/2024 |
1.12.0.1-beta | 96 | 5/30/2024 |
1.12.0 | 149 | 5/28/2024 |
1.11.0.5-beta | 117 | 5/24/2024 |
1.11.0.4-beta | 99 | 5/21/2024 |
1.11.0.3-beta | 112 | 5/15/2024 |
1.11.0.2-beta | 89 | 5/9/2024 |
1.11.0.1-beta | 109 | 5/8/2024 |
1.11.0 | 163 | 4/30/2024 |
1.10.2.1-beta | 129 | 4/23/2024 |
1.10.2 | 138 | 4/17/2024 |
1.10.0.3-beta | 96 | 4/15/2024 |
1.10.0.2-beta | 94 | 4/11/2024 |
1.10.0.1-beta | 123 | 4/5/2024 |
1.10.0 | 178 | 3/26/2024 |
1.9.0.6-beta | 140 | 3/25/2024 |
1.9.0.5-beta | 133 | 3/19/2024 |
1.9.0.4-beta | 161 | 3/13/2024 |
1.9.0.3 | 217 | 3/6/2024 |
1.9.0.2-beta | 174 | 3/6/2024 |
1.9.0.1 | 249 | 3/1/2024 |
1.9.0 | 226 | 2/27/2024 |
1.8.0.8-beta | 186 | 2/23/2024 |
1.8.0.7-beta | 179 | 2/22/2024 |
1.8.0.6-beta | 210 | 2/20/2024 |
1.8.0.5-beta | 258 | 2/13/2024 |
1.8.0.4-beta | 236 | 2/6/2024 |
1.8.0.3-beta | 213 | 2/1/2024 |
1.8.0.2-beta | 277 | 1/24/2024 |
1.8.0.1 | 307 | 1/20/2024 |
1.8.0 | 367 | 1/16/2024 |
1.7.0 | 327 | 1/9/2024 |
1.6.0.6-beta | 300 | 1/3/2024 |
1.6.0.5-beta | 322 | 12/27/2023 |
1.6.0.4-beta | 335 | 12/20/2023 |
1.6.0.3-beta | 330 | 12/19/2023 |
1.6.0.2-beta | 320 | 12/12/2023 |
1.6.0 | 507 | 12/6/2023 |
1.5.0.1-beta | 373 | 12/4/2023 |
1.5.0 | 396 | 11/28/2023 |
1.4.0.9-beta | 358 | 11/28/2023 |
1.4.0.8-beta | 319 | 11/27/2023 |
1.4.0.7-beta | 383 | 11/8/2023 |
1.4.0.6-beta | 298 | 11/7/2023 |
1.4.0.4-beta | 357 | 11/1/2023 |
1.4.0.3 | 475 | 10/31/2023 |
1.3.4.10-beta | 343 | 10/25/2023 |
1.3.4.9-beta | 393 | 10/24/2023 |
1.3.4.8-beta | 407 | 10/17/2023 |
1.3.4.7-beta | 401 | 10/10/2023 |
1.3.4.6-beta | 389 | 10/5/2023 |
1.3.4.5-beta | 357 | 10/4/2023 |
1.3.4.4-beta | 409 | 10/3/2023 |
1.3.4.3-beta | 404 | 10/3/2023 |
1.3.4.2-beta | 379 | 9/30/2023 |
1.3.4.1-beta | 368 | 9/30/2023 |
1.3.4 | 561 | 9/26/2023 |
1.3.2.5-beta | 426 | 9/21/2023 |
1.3.2.4-beta | 414 | 9/20/2023 |
1.3.2.3-beta | 432 | 9/19/2023 |
1.3.2.2-beta | 433 | 9/15/2023 |
1.3.2.1-beta | 380 | 9/14/2023 |
1.3.2-beta | 413 | 9/13/2023 |
1.3.1.1-beta | 416 | 9/5/2023 |
1.3.0 | 563 | 8/29/2023 |
1.2.1.11-beta | 465 | 8/24/2023 |
1.2.1.9-beta | 441 | 8/17/2023 |
1.2.1.8-beta | 461 | 8/8/2023 |
1.2.1.6-beta | 500 | 8/4/2023 |
1.2.0 | 536 | 8/1/2023 |
1.1.1.11-beta | 494 | 7/24/2023 |
1.1.1.10-beta | 513 | 7/22/2023 |
1.1.1.9-beta | 514 | 7/22/2023 |
1.1.1.8-beta | 459 | 7/21/2023 |
1.1.0 | 573 | 7/11/2023 |
1.0.2.1 | 571 | 6/3/2023 |
1.0.2 | 615 | 6/3/2023 |
1.0.0.1 | 556 | 5/30/2023 |
1.0.0 | 575 | 5/28/2023 |
0.99.0 | 614 | 5/28/2023 |
0.98.2-alpha | 496 | 5/27/2023 |
0.98.0 | 499 | 5/6/2023 |
0.96.0 | 635 | 4/2/2023 |
0.95.0 | 695 | 3/5/2023 |
0.94.2 | 646 | 2/7/2023 |
0.94.1 | 684 | 2/2/2023 |
0.92.5 | 721 | 12/31/2022 |
0.90.0 | 772 | 11/23/2022 |
0.89.2 | 650 | 11/23/2022 |
0.1.58 | 731 | 11/21/2022 |
0.1.57 | 856 | 10/24/2022 |
0.1.54 | 826 | 5/30/2022 |
0.1.48 | 844 | 3/7/2022 |
0.1.46 | 727 | 12/21/2021 |
0.1.45 | 741 | 11/8/2021 |
0.1.44 | 801 | 9/8/2021 |
0.1.43 | 784 | 8/5/2021 |
0.1.42 | 746 | 7/5/2021 |
0.1.41 | 709 | 5/25/2021 |
0.1.37 | 762 | 3/17/2021 |
0.1.33 | 855 | 2/8/2021 |
0.1.29 | 872 | 1/13/2021 |
0.1.25 | 814 | 1/4/2021 |
0.1.21 | 832 | 12/10/2020 |
0.1.17 | 920 | 10/26/2020 |
0.1.13 | 930 | 9/22/2020 |
0.1.9 | 904 | 7/15/2020 |
0.1.6 | 913 | 5/25/2020 |
0.1.5 | 1,060 | 3/27/2020 |
0.1.4 | 996 | 3/9/2020 |
0.1.3 | 878 | 2/17/2020 |
0.1.2 | 965 | 12/26/2019 |