nanoFramework.Iot.Device.Sps30
1.1.573
Prefix Reserved
See the version list below for details.
dotnet add package nanoFramework.Iot.Device.Sps30 --version 1.1.573
NuGet\Install-Package nanoFramework.Iot.Device.Sps30 -Version 1.1.573
<PackageReference Include="nanoFramework.Iot.Device.Sps30" Version="1.1.573" />
paket add nanoFramework.Iot.Device.Sps30 --version 1.1.573
#r "nuget: nanoFramework.Iot.Device.Sps30, 1.1.573"
// Install nanoFramework.Iot.Device.Sps30 as a Cake Addin #addin nuget:?package=nanoFramework.Iot.Device.Sps30&version=1.1.573 // Install nanoFramework.Iot.Device.Sps30 as a Cake Tool #tool nuget:?package=nanoFramework.Iot.Device.Sps30&version=1.1.573
Sensirion SPS30 Particulate Matter Sensor
This is a library to interact with the Sensirion SPS30 Particulate Matter Sensor. Currently, only the UART interface using the SHDLC protocol is implemented. The SPS30 also supports I2C.
Documentation
- The datasheet for this sensor can be found here
Usage for the UART interface
Important: make sure you properly setup the UART pins for ESP32 before creating the SerialPort
. For this, make sure you install the nanoFramework.Hardware.Esp32
NuGet and use the Configuration
class to configure the pins:
Configuration.SetPinFunction(4, DeviceFunction.COM2_TX);
Configuration.SetPinFunction(15, DeviceFunction.COM2_RX);
Initialize the SerialPort
, wrap it in the ShdlcProtocol
, then pass to the Sps30Sensor
:
var serial = new SerialPort("COM2", 115200, Parity.None, 8, StopBits.One);
var shdlc = new ShdlcProtocol(serial, timeoutInMillis: 10000);
var sps30 = new Sps30Sensor(shdlc);
Use the sps30
to interact with the sensor, e.g.:
var version = sps30.ReadVersion();
Debug.WriteLine($"SPS30 detected: {version}");
Collect a measurement reliably:
try { sps30.StopMeasurement(); } catch { } // In case already measuring from a previous run
sps30.StartMeasurement(MeasurementOutputFormat.Float);
Thread.Sleep(5000); // SPS30 requires some time before it can sample data
var measurement = sps30.ReadMeasuredValues();
Debug.WriteLine($"Measurement: {measurement}");
The above would output the following:
SPS30 detected: ID=00080000, serial=4E1AD1BB796C64C5, version=Firmware V2.1, Hardware V7, SHDLC V2.0, status=RawRegister: 0, FanSpeedOutOfRange: False, LaserFailure: False, FanFailureBlockedOrBroken: False, cleaninginterval=604800
Measurement: MassConcentration [µg/m³] PM1.0=2.00064229965, PM2.5=5.78215932, PM4.0=8.74958038, PM10.0=9.3430643, NumberConcentration [#/cm³] PM0.5=5.54537582, PM1.0=12.034433364, PM2.5=15.72880268, PM4.0=16.44550895, PM10.0=16.58645629, TypicalParticleSize[nm]=675.40591955
Check out the sample for more information.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net is compatible. |
-
- nanoFramework.CoreLibrary (>= 1.15.5)
- nanoFramework.Runtime.Events (>= 1.11.18)
- nanoFramework.Runtime.Native (>= 1.6.12)
- nanoFramework.System.Buffers.Binary.BinaryPrimitives (>= 1.2.418)
- nanoFramework.System.Diagnostics.Stopwatch (>= 1.2.418)
- nanoFramework.System.IO.Ports (>= 1.1.86)
- nanoFramework.System.IO.Streams (>= 1.1.59)
- nanoFramework.System.Text (>= 1.2.54)
- UnitsNet.nanoFramework.Length (>= 5.52.0)
- UnitsNet.nanoFramework.MassConcentration (>= 5.52.0)
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.1.673 | 78 | 10/23/2024 |
1.1.662 | 86 | 10/11/2024 |
1.1.656 | 78 | 10/3/2024 |
1.1.639 | 114 | 9/6/2024 |
1.1.631 | 85 | 8/28/2024 |
1.1.613 | 104 | 8/9/2024 |
1.1.601 | 82 | 7/26/2024 |
1.1.590 | 90 | 7/17/2024 |
1.1.573 | 106 | 6/19/2024 |
1.1.570 | 101 | 6/14/2024 |
1.1.548 | 98 | 5/15/2024 |
1.1.536 | 109 | 4/15/2024 |
1.1.514 | 118 | 3/22/2024 |
1.1.494 | 97 | 2/28/2024 |
1.1.462 | 202 | 1/5/2024 |
1.1.458 | 128 | 12/20/2023 |
1.1.436 | 150 | 11/10/2023 |
1.1.416 | 114 | 11/8/2023 |
1.1.403 | 132 | 10/6/2023 |
1.1.396 | 127 | 9/27/2023 |
1.1.384 | 135 | 9/6/2023 |
1.1.378 | 145 | 8/16/2023 |
1.1.369 | 140 | 8/2/2023 |
1.1.363 | 140 | 7/28/2023 |
1.1.357 | 151 | 7/19/2023 |
1.1.354 | 141 | 7/14/2023 |
1.1.345 | 137 | 6/21/2023 |
1.1.341 | 132 | 6/14/2023 |
1.1.337 | 137 | 6/7/2023 |
1.1.335 | 129 | 6/2/2023 |
1.1.329 | 127 | 5/26/2023 |
1.1.313 | 135 | 5/12/2023 |
1.1.302 | 134 | 5/10/2023 |
1.1.297 | 133 | 5/3/2023 |
1.1.273 | 212 | 3/17/2023 |
1.1.267 | 223 | 3/10/2023 |
1.1.263 | 215 | 3/8/2023 |
1.1.259 | 248 | 2/27/2023 |
1.1.256 | 252 | 2/24/2023 |
1.1.253 | 246 | 2/22/2023 |
1.1.222 | 294 | 1/9/2023 |
1.1.212 | 285 | 1/5/2023 |
1.1.208 | 287 | 1/3/2023 |
1.1.203 | 299 | 12/28/2022 |
1.1.159 | 366 | 11/14/2022 |
1.1.158 | 337 | 11/13/2022 |
1.1.153 | 354 | 11/5/2022 |
1.1.141 | 379 | 10/25/2022 |
1.1.128 | 378 | 10/22/2022 |
1.1.117 | 406 | 10/10/2022 |
1.1.114 | 395 | 10/8/2022 |
1.1.89 | 415 | 9/16/2022 |
1.1.87 | 471 | 9/15/2022 |
1.1.63 | 391 | 9/3/2022 |
1.1.47 | 406 | 8/15/2022 |
1.1.40 | 412 | 8/6/2022 |
1.1.38 | 416 | 8/5/2022 |
1.1.35 | 394 | 8/4/2022 |
1.1.28 | 404 | 8/1/2022 |
1.1.13 | 413 | 7/24/2022 |
1.1.10 | 406 | 7/23/2022 |
1.0.29.3202 | 422 | 7/7/2022 |
1.0.20.52556 | 392 | 6/30/2022 |
1.0.8.35854 | 440 | 6/26/2022 |
1.0.3.8772 | 403 | 6/24/2022 |
1.0.1.57221 | 412 | 6/23/2022 |
0.0.0 | 420 | 6/16/2022 |