Add PMSX003 Particulate Matter Sensor (#58)

* Add PMSX003 Particulate Matter Sensor

* Add warning

* Fix index
This commit is contained in:
Otto Winter 2018-10-20 12:50:21 +02:00 committed by GitHub
parent 21780efc51
commit 3178a138f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 144 additions and 8 deletions

View File

@ -35,6 +35,7 @@ See :cpp:func:`Application::register_sensor`.
mpu6050
mqtt_subscribe
ms5611
pmsx003
pulse_counter
rotary_encoder
sht3xd

25
api/sensor/pmsx003.rst Normal file
View File

@ -0,0 +1,25 @@
PMSX003 Particulate Matter Sensor
=================================
.. cpp:namespace:: nullptr
See :cpp:func:`Application::make_pmsx003`.
API Reference
-------------
.. cpp:namespace:: nullptr
.. doxygenclass:: sensor::PMSX003Component
:members:
:protected-members:
:undoc-members:
.. doxygenclass:: sensor::PMSX003Sensor
:members:
:protected-members:
:undoc-members:
.. doxygenenum:: sensor::PMSX003SensorType
.. doxygenenum:: sensor::PMSX003Type

View File

@ -349,6 +349,7 @@ See Also
mqtt_subscribe
ms5611
pulse_counter
pmsx003
rotary_encoder
sht3xd
tcs34725

View File

@ -0,0 +1,65 @@
PMSX003 Particulate Matter Sensor
=================================
.. warning::
This integration is experimental as I don't have the hardware to test it (yet).
If you can verify it works (or if it doesn't), notify me on `discord <https://discord.gg/KhAMKrd>`__.
The ``pmsx003`` sensor platform allows you to use your PMS5003, PMS7003, ... particulate matter
(`datasheet <http://www.aqmd.gov/docs/default-source/aq-spec/resources-page/plantower-pms5003-manual_v2-3.pdf>`__)
sensors with esphomelib.
As the communication with the PMSX003 is done using UART, you need
to have an :ref:`UART bus <uart>` in your configuration with the ``rx_pin`` connected to the SEND/TX pin
(may also be called the RX pin, depending on the model) of the PMS. Additionally, you need to set the baud rate to 9600.
This platform supports three sensor types, which you need to specify using the ``type:`` configuration
value:
- ``PMSX003`` for generic PMS5003, PMS7003, ...; these sensors support ``pm_1_0``, ``pm_2_5`` and ``pm_10_0`` output.
- ``PMS5003T`` for PMS5003T. These support ``pm_2_5``, ``temperature`` and ``humidity``.
- ``PMS5003ST`` for PMS5003ST. These support ``pm_2_5``, ``temperature``, ``humidity`` and ``formaldehyde``.
.. code:: yaml
# Example configuration entry
uart:
rx_pin: GPIO23
sensor:
- platform: pmsx003
type: PMX003
pm_1_0:
name: "Particulate Matter <1.0µm Concentration"
pm_2_5:
name: "Particulate Matter <2.5µm Concentration"
pm_10_0:
name: "Particulate Matter <10.0µm Concentration"
Configuration variables:
------------------------
- **pm_1_0** (*Optional*): Use the concentration of particulates of size less than 1.0µm in µg per cubic meter.
All options from :ref:`Sensor <config-sensor>` and :ref:`MQTT Component <config-mqtt-component>`.
- **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>` and :ref:`MQTT Component <config-mqtt-component>`.
- **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>` and :ref:`MQTT Component <config-mqtt-component>`.
- **temperature** (*Optional*): Use the temperature value in °C for the ``PMS5003T`` and ``PMS5003ST``.
All options from :ref:`Sensor <config-sensor>` and :ref:`MQTT Component <config-mqtt-component>`.
- **humidity** (*Optional*): Use the humidity value in % for the ``PMS5003T`` and ``PMS5003ST``.
All options from :ref:`Sensor <config-sensor>` and :ref:`MQTT Component <config-mqtt-component>`.
- **formaldehyde** (*Optional*): Use the formaldehyde (HCHO) concentration in µg per cubic meter for the ``PMS5003ST``.
All options from :ref:`Sensor <config-sensor>` and :ref:`MQTT Component <config-mqtt-component>`.
- **uart_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`UART Component <uart>` if you want
to use multiple UART buses.
See Also
--------
- :ref:`sensor-filters`
- :doc:`API Reference </api/sensor/pmsx003>`
- `Edit this page on GitHub <https://github.com/OttoWinter/esphomedocs/blob/current/esphomeyaml/components/sensor/pmsx003.rst>`__
.. disqus::

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 285.33334 60"
height="60"
width="285.33334"
xml:space="preserve"
id="svg2"
version="1.1"><metadata
id="metadata8"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs6" /><g
transform="matrix(1.3333333,0,0,-1.3333333,0,60)"
id="g10"><g
transform="scale(0.1)"
id="g12"><path
id="path14"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 151.832,440 H 1988.17 c 77.32,0 140,-62.68 140,-140 V 145 c 0,-77.3203 -62.68,-140 -140,-140 H 151.832 c -77.3203,0 -140,62.6797 -140,140 v 155 c 0,77.32 62.6797,140 140,140 z" /><path
id="path16"
style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 151.832,440 H 1988.17 c 77.32,0 140,-62.68 140,-140 V 145 c 0,-77.3203 -62.68,-140 -140,-140 H 151.832 c -77.3164,0 -140,62.6797 -140,140 v 155 c 0,77.32 62.6836,140 140,140 z" /><g
transform="scale(10)"
id="g18"><text
id="text22"
style="font-variant:normal;font-weight:900;font-size:35px;font-family:Montserrat;-inkscape-font-specification:Montserrat-Black;writing-mode:lr-tb;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1,0,0,-1,8.23008,9.75)"><tspan
id="tspan20"
y="0"
x="0 28.655005 65.045006 90.654999 118.96 146.17999 173.015">PMSX003</tspan></text>
</g></g></g></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -234,21 +234,25 @@ Sensor Components
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`MPU6050`_ `MQTT Subscribe`_ `MS5611`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|Pulse Counter|_ |Rotary Encoder|_ |SHT3X-D|_
|PMSX003|_ |Pulse Counter|_ |Rotary Encoder|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`Pulse Counter`_ `Rotary Encoder`_ `SHT3X-D`_
`PMSX003`_ `Pulse Counter`_ `Rotary Encoder`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|TCS34725|_ |Template Sensor|_ |TSL2561|_
|SHT3X-D|_ |TCS34725|_ |Template Sensor|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`TCS34725`_ `Template Sensor`_ `TSL2561`_
`SHT3X-D`_ `TCS34725`_ `Template Sensor`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|Ultrasonic Sensor|_ |Uptime Sensor|_ |WiFi Signal Strength|_
|TSL2561|_ |Ultrasonic Sensor|_ |Uptime Sensor|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`Ultrasonic Sensor`_ `Uptime Sensor`_ `WiFi Signal Strength`_
`TSL2561`_ `Ultrasonic Sensor`_ `Uptime Sensor`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|Xiaomi MiFlora|_ |Xiaomi MiJia|_ |Custom Sensor|_
|WiFi Signal Strength|_ |Xiaomi MiFlora|_ |Xiaomi MiJia|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`Xiaomi MiFlora`_ `Xiaomi MiJia`_ `Custom Sensor`_
`WiFi Signal Strength`_ `Xiaomi MiFlora`_ `Xiaomi MiJia`_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
|Custom Sensor|_
-------------------------------------------------- -------------------------------------------------- --------------------------------------------------
`Custom Sensor`_
================================================== ================================================== ==================================================
.. |Sensor Core| image:: /esphomeyaml/images/folder-open.svg
@ -332,6 +336,9 @@ Sensor Components
.. |MS5611| image:: /esphomeyaml/images/ms5611.jpg
:class: component-image
.. _MS5611: /esphomeyaml/components/sensor/ms5611.html
.. |PMSX003| image:: /esphomeyaml/images/pmsx003.svg
:class: component-image
.. _PMSX003: /esphomeyaml/components/sensor/pmsx003.html
.. |Pulse Counter| image:: /esphomeyaml/images/pulse.svg
:class: component-image
.. _Pulse Counter: /esphomeyaml/components/sensor/pulse_counter.html

View File

@ -25,6 +25,7 @@ MH-Z19, components/sensor/mhz19, mhz19.jpg
MPU6050, components/sensor/mpu6050, mpu6050.jpg
MQTT Subscribe, components/sensor/mqtt_subscribe, mqtt.png
MS5611, components/sensor/ms5611, ms5611.jpg
PMSX003, components/sensor/pmsx003, pmsx003.svg
Pulse Counter, components/sensor/pulse_counter, pulse.svg
Rotary Encoder, components/sensor/rotary_encoder, rotary_encoder.jpg
SHT3X-D, components/sensor/sht3xd, sht3xd.jpg

1 Sensor Core components/sensor/index folder-open.svg
25 MPU6050 components/sensor/mpu6050 mpu6050.jpg
26 MQTT Subscribe components/sensor/mqtt_subscribe mqtt.png
27 MS5611 components/sensor/ms5611 ms5611.jpg
28 PMSX003 components/sensor/pmsx003 pmsx003.svg
29 Pulse Counter components/sensor/pulse_counter pulse.svg
30 Rotary Encoder components/sensor/rotary_encoder rotary_encoder.jpg
31 SHT3X-D components/sensor/sht3xd sht3xd.jpg