nanoFramework.Iot.Device.Sps30
1.1.47
Prefix Reserved
See the version list below for details.
dotnet add package nanoFramework.Iot.Device.Sps30 --version 1.1.47
NuGet\Install-Package nanoFramework.Iot.Device.Sps30 -Version 1.1.47
<PackageReference Include="nanoFramework.Iot.Device.Sps30" Version="1.1.47" />
paket add nanoFramework.Iot.Device.Sps30 --version 1.1.47
#r "nuget: nanoFramework.Iot.Device.Sps30, 1.1.47"
// Install nanoFramework.Iot.Device.Sps30 as a Cake Addin #addin nuget:?package=nanoFramework.Iot.Device.Sps30&version=1.1.47 // Install nanoFramework.Iot.Device.Sps30 as a Cake Tool #tool nuget:?package=nanoFramework.Iot.Device.Sps30&version=1.1.47
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.12.0)
- nanoFramework.Runtime.Events (>= 1.10.0)
- nanoFramework.Runtime.Native (>= 1.5.4)
- nanoFramework.System.Buffers.Binary.BinaryPrimitives (>= 1.1.113.2032)
- nanoFramework.System.Diagnostics.Stopwatch (>= 1.1.113.2032)
- nanoFramework.System.IO.Ports (>= 1.1.6)
- nanoFramework.System.IO.Streams (>= 1.1.9)
- nanoFramework.System.Text (>= 1.2.3)
- UnitsNet.nanoFramework.Length (>= 4.144.0)
- UnitsNet.nanoFramework.MassConcentration (>= 4.144.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 | 71 | 10/23/2024 |
1.1.662 | 80 | 10/11/2024 |
1.1.656 | 75 | 10/3/2024 |
1.1.639 | 111 | 9/6/2024 |
1.1.631 | 83 | 8/28/2024 |
1.1.613 | 101 | 8/9/2024 |
1.1.601 | 79 | 7/26/2024 |
1.1.590 | 88 | 7/17/2024 |
1.1.573 | 103 | 6/19/2024 |
1.1.570 | 98 | 6/14/2024 |
1.1.548 | 96 | 5/15/2024 |
1.1.536 | 108 | 4/15/2024 |
1.1.514 | 117 | 3/22/2024 |
1.1.494 | 95 | 2/28/2024 |
1.1.462 | 199 | 1/5/2024 |
1.1.458 | 126 | 12/20/2023 |
1.1.436 | 149 | 11/10/2023 |
1.1.416 | 112 | 11/8/2023 |
1.1.403 | 131 | 10/6/2023 |
1.1.396 | 124 | 9/27/2023 |
1.1.384 | 134 | 9/6/2023 |
1.1.378 | 144 | 8/16/2023 |
1.1.369 | 140 | 8/2/2023 |
1.1.363 | 139 | 7/28/2023 |
1.1.357 | 149 | 7/19/2023 |
1.1.354 | 140 | 7/14/2023 |
1.1.345 | 135 | 6/21/2023 |
1.1.341 | 131 | 6/14/2023 |
1.1.337 | 136 | 6/7/2023 |
1.1.335 | 127 | 6/2/2023 |
1.1.329 | 126 | 5/26/2023 |
1.1.313 | 134 | 5/12/2023 |
1.1.302 | 131 | 5/10/2023 |
1.1.297 | 133 | 5/3/2023 |
1.1.273 | 211 | 3/17/2023 |
1.1.267 | 222 | 3/10/2023 |
1.1.263 | 215 | 3/8/2023 |
1.1.259 | 244 | 2/27/2023 |
1.1.256 | 252 | 2/24/2023 |
1.1.253 | 245 | 2/22/2023 |
1.1.222 | 293 | 1/9/2023 |
1.1.212 | 282 | 1/5/2023 |
1.1.208 | 285 | 1/3/2023 |
1.1.203 | 297 | 12/28/2022 |
1.1.159 | 363 | 11/14/2022 |
1.1.158 | 335 | 11/13/2022 |
1.1.153 | 352 | 11/5/2022 |
1.1.141 | 377 | 10/25/2022 |
1.1.128 | 376 | 10/22/2022 |
1.1.117 | 405 | 10/10/2022 |
1.1.114 | 393 | 10/8/2022 |
1.1.89 | 414 | 9/16/2022 |
1.1.87 | 470 | 9/15/2022 |
1.1.63 | 390 | 9/3/2022 |
1.1.47 | 405 | 8/15/2022 |
1.1.40 | 410 | 8/6/2022 |
1.1.38 | 415 | 8/5/2022 |
1.1.35 | 393 | 8/4/2022 |
1.1.28 | 402 | 8/1/2022 |
1.1.13 | 413 | 7/24/2022 |
1.1.10 | 404 | 7/23/2022 |
1.0.29.3202 | 421 | 7/7/2022 |
1.0.20.52556 | 391 | 6/30/2022 |
1.0.8.35854 | 438 | 6/26/2022 |
1.0.3.8772 | 402 | 6/24/2022 |
1.0.1.57221 | 411 | 6/23/2022 |
0.0.0 | 419 | 6/16/2022 |