Meadow.Foundation.Sensors.Environmental.Scd4x 1.8.0.2-beta

This is a prerelease version of Meadow.Foundation.Sensors.Environmental.Scd4x.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Meadow.Foundation.Sensors.Environmental.Scd4x --version 1.8.0.2-beta
NuGet\Install-Package Meadow.Foundation.Sensors.Environmental.Scd4x -Version 1.8.0.2-beta
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Meadow.Foundation.Sensors.Environmental.Scd4x" Version="1.8.0.2-beta" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Meadow.Foundation.Sensors.Environmental.Scd4x --version 1.8.0.2-beta
#r "nuget: Meadow.Foundation.Sensors.Environmental.Scd4x, 1.8.0.2-beta"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Meadow.Foundation.Sensors.Environmental.Scd4x as a Cake Addin
#addin nuget:?package=Meadow.Foundation.Sensors.Environmental.Scd4x&version=1.8.0.2-beta&prerelease

// Install Meadow.Foundation.Sensors.Environmental.Scd4x as a Cake Tool
#tool nuget:?package=Meadow.Foundation.Sensors.Environmental.Scd4x&version=1.8.0.2-beta&prerelease

Meadow.Foundation.Sensors.Environmental.Scd4x

SCD4x I2C C02, temperature, and relative humidity sensor (SCD40, SCD41)

The Scd4x 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

Scd40 sensor;

public override Task Initialize()
{
    Resolver.Log.Info("Initializing...");

    var i2cBus = Device.CreateI2cBus(Meadow.Hardware.I2cBusSpeed.Standard);

    sensor = new Scd40(i2cBus);
    var serialNum = sensor.GetSerialNumber();
    Resolver.Log.Info($"Serial: {BitConverter.ToString(serialNum)}");

    var consumer = Scd40.CreateObserver(
        handler: result =>
        {
            Resolver.Log.Info($"Observer: Temp changed by threshold; new temp: {result.New.Temperature?.Celsius:N2}C, old: {result.Old?.Temperature?.Celsius:N2}C");
        },
        filter: result =>
        {
            if (result.Old?.Temperature is { } oldTemp &&
                result.Old?.Humidity is { } oldHumidity &&
                result.New.Temperature is { } newTemp &&
                result.New.Humidity is { } newHumidity)
            {
                return ((newTemp - oldTemp).Abs().Celsius > 0.5 &&
                        (newHumidity - oldHumidity).Percent > 0.05);
            }
            return false;
        }
    );

    sensor?.Subscribe(consumer);

    if (sensor != null)
    {
        sensor.Updated += (sender, result) =>
        {
            Resolver.Log.Info($"  Concentration: {result.New.Concentration?.PartsPerMillion:N0}ppm");
            Resolver.Log.Info($"  Temperature: {result.New.Temperature?.Celsius:N1}C");
            Resolver.Log.Info($"  Relative Humidity: {result.New.Humidity:N0}%");
        };
    }

    sensor?.StartUpdating(TimeSpan.FromSeconds(6));

    return base.Initialize();
}

How to Contribute

Need Help?

If you have questions or need assistance, please join the Wilderness Labs community on Slack.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Meadow.Foundation.Sensors.Environmental.Scd4x:

Package Downloads
Meadow.GnssTracker

Convenience library for the Meadow GnssTracker family of boards

Meadow.Clima

Library for the Meadow Clima IoT accelerator

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.12.2.5-beta 0 6/28/2024
1.12.2.4-beta 88 6/24/2024
1.12.2.3-beta 89 6/24/2024
1.12.2.1-beta 86 6/19/2024
1.12.2 120 6/11/2024
1.12.0.2-beta 94 6/4/2024
1.12.0.1-beta 111 5/30/2024
1.12.0 163 5/28/2024
1.11.0.5-beta 110 5/24/2024
1.11.0.4-beta 105 5/21/2024
1.11.0.3-beta 111 5/15/2024
1.11.0.2-beta 104 5/9/2024
1.11.0.1-beta 104 5/8/2024
1.11.0 197 4/30/2024
1.10.2.1-beta 94 4/23/2024
1.10.2 153 4/17/2024
1.10.0.3-beta 87 4/15/2024
1.10.0.2-beta 82 4/11/2024
1.10.0.1-beta 89 4/5/2024
1.10.0 178 3/26/2024
1.9.0.6-beta 116 3/25/2024
1.9.0.5-beta 134 3/19/2024
1.9.0.4-beta 134 3/13/2024
1.9.0.3 199 3/6/2024
1.9.0.2-beta 181 3/6/2024
1.9.0.1 196 3/1/2024
1.9.0 271 2/27/2024
1.8.0.8-beta 161 2/23/2024
1.8.0.7-beta 154 2/22/2024
1.8.0.6-beta 175 2/20/2024
1.8.0.5-beta 182 2/13/2024
1.8.0.4-beta 246 2/6/2024
1.8.0.3-beta 205 2/1/2024
1.8.0.2-beta 224 1/24/2024
1.8.0.1 341 1/20/2024
1.8.0 334 1/16/2024
1.7.0 329 1/9/2024
1.6.0.6-beta 262 1/3/2024
1.6.0.5-beta 285 12/27/2023
1.6.0.4-beta 297 12/20/2023
1.6.0.3-beta 281 12/19/2023
1.6.0.2-beta 319 12/12/2023
1.6.0 520 12/6/2023
1.5.0.1-beta 333 12/4/2023
1.5.0 393 11/28/2023
1.4.0.9-beta 333 11/28/2023
1.4.0.8-beta 331 11/27/2023
1.4.0.7-beta 360 11/8/2023
1.4.0.6-beta 332 11/7/2023
1.4.0.4-beta 344 11/1/2023
1.4.0.3 420 10/31/2023
1.3.4.10-beta 330 10/25/2023
1.3.4.9-beta 339 10/24/2023
1.3.4.8-beta 334 10/17/2023
1.3.4.7-beta 318 10/10/2023
1.3.4.6-beta 350 10/5/2023
1.3.4.5-beta 358 10/4/2023
1.3.4.4-beta 336 10/3/2023
1.3.4.3-beta 349 10/3/2023
1.3.4.2-beta 365 9/30/2023
1.3.4.1-beta 379 9/30/2023
1.3.4 476 9/26/2023
1.3.2.5-beta 358 9/21/2023
1.3.2.4-beta 399 9/20/2023
1.3.2.3-beta 370 9/19/2023
1.3.2.2-beta 396 9/15/2023
1.3.2.1-beta 370 9/14/2023
1.3.2-beta 344 9/13/2023
1.3.1.1-beta 393 9/5/2023
1.3.0 525 8/29/2023
1.2.1.11-beta 416 8/24/2023
1.2.1.9-beta 464 8/17/2023
1.2.1.8-beta 494 8/8/2023
1.2.1.6-beta 561 8/4/2023
1.2.0 623 8/1/2023
1.1.1.11-beta 535 7/24/2023
1.1.1.10-beta 532 7/22/2023
1.1.1.9-beta 496 7/22/2023
1.1.1.8-beta 547 7/21/2023
1.1.0 583 7/11/2023
1.0.2.1 595 6/3/2023
1.0.2 590 6/3/2023
1.0.0.1 563 5/30/2023
1.0.0 562 5/28/2023
0.99.0 575 5/28/2023
0.98.2-alpha 511 5/27/2023
0.98.0 570 5/6/2023
0.96.0 615 4/2/2023
0.95.0 649 3/5/2023
0.94.2 628 2/7/2023
0.94.1 661 2/2/2023
0.92.5 691 12/31/2022
0.90.0 710 11/23/2022
0.89.2 663 11/23/2022
0.1.1 666 11/21/2022