esphome-docs/components/sensor/sds011.rst

81 lines
3.1 KiB
ReStructuredText

SDS011 Particulate Matter Sensor
================================
.. seo::
:description: Instructions for setting up SDS011 Particulate matter sensors
:image: sds011.jpg
:keywords: sds011
The ``sds011`` sensor platform allows you to use SDS011 particulate matter sensors (`datasheet <https://nettigo.pl/attachments/398>`__)
with ESPHome.
.. figure:: images/sds011-full.jpg
:align: center
:width: 50.0%
SDS011 Particulate Matter Sensor
As the communication with the SDS011 is done using UART, you need
to have an :ref:`UART bus <uart>` in your configuration with the ``rx_pin`` connected to the TX pin of the
SDS011 and optionally the ``tx_pin`` connected to the RX Pin of the SDS011 (it's switched because the
TX/RX labels are from the perspective of the individual device). Additionally, you need to set the baud rate to 9600.
.. code-block:: yaml
# Example configuration entry
uart:
rx_pin: D0
tx_pin: D1
baud_rate: 9600
sensor:
- platform: sds011
pm_2_5:
name: "Particulate Matter <2.5µm Concentration"
pm_10_0:
name: "Particulate Matter <10.0µm Concentration"
update_interval: 5min
With ``update_interval``, the working period of the SDS011 device will be changed. If ``update_interval`` is
equal to ``0min``, the SDS011 will be set to continuous measurement and will report new measurement values
approximately every second.
If ``update_interval`` is between 1-30 minutes, the SDS011 periodically turns on for 30s before each measurement.
For the remaining time the sensor is shut off. As a result, this mode can reduce power consumption and increases
the lifetime of the SDS011.
Note that ``update_interval`` may not be set to ``never``.
Configuration variables:
------------------------
- **pm_2_5** (*Optional*): Use the concentration of particulates of size less than 2.5µm in µg per cubic meter.
All options from :ref:`Sensor <config-sensor>`.
- **pm_10_0** (*Optional*): Use the concentration of particulates of size less than 10.0µm in µg per cubic meter.
All options from :ref:`Sensor <config-sensor>`.
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor in minutes.
This affects the working period of the SDS011 sensor. Defaults to ``0min``.
- **rx_only** (*Optional*, boolean): Whether the sensor is connected **only by RX pin** to the UART bus.
Since the SDS011 can not be configured in RX-only mode, ``update_interval`` has no effect and the sensor must be
configured separately. Defaults to ``false``.
- **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`UART Component <uart>` if you want
to use multiple UART buses.
.. note::
The configuration variable ``update_interval`` reconfigure the SDS011 device. This setting is still effective
after power off. This can affect the performance of other libraries. Factory default is continuous measurement.
See Also
--------
- :doc:`/components/sensor/pmsx003`
- :ref:`sensor-filters`
- `Laser Dust Sensor Control Protocol <https://nettigo.pl/attachments/415>`__
- :apiref:`sds011/sds011.h`
- :ghedit:`Edit`