Sensor PM2.5 y PM10 polvo SDS011

Ha habido muchas revisiones de todo tipo de sensores paramonitoreando el estado del aire, quiero mostrar una breve descripción general del sensor que mide la cantidad de partículas de polvo de las categorías PM2.5 (diámetro inferior a 2.5 micrones) y PM10 (diámetro de 2.5 a 10 micrones) en el aire.
El principio de funcionamiento se basa en el análisis de la luz dispersada de las partículas de polvo iluminadas por radiación láser.
Para más detalles, pido debajo del gato ...
El sensor es bastante nuevo, desarrollado por. inovafit.
Caracteristicas:
1) la velocidad de reacción indicada de al menos 10 s;
2) resolución: 0.3 µg / m3;
3) tensión de alimentación: 4.7 ~ 5.3 V;
4) consumo de energía> 1 W (entiendo el pico);
5) los productos han pasado la certificación de CE / FCC / RoHS (quizás alguien sea útil);
6) Rango de temperatura: -20 ~ +50 ° C;
7) Dimensiones: 71 mm * 70 mm * 23 mm.
Los datos del sensor se emiten en el UART una vez por segundo.
Aquí hay algunas fotos que son arrastradas. desde aqui:

Esto ya es mío:


Antes de eso, los sensores vinieron más fáciles para mí. GP2Y1010AU0FPero adecuadamente hacerlos trabajar con arduina I.No pude, el sensor emitió valores demasiado pequeños en la salida analógica, los cuales, cuando se recalcularon usando la fórmula de la descripción, dieron un valor negativo ... (Normalmente, solo reaccionó a un lápiz en el orificio y luego no dio el voltaje que esperaba). No excluyo la curvatura de mis manos, pero de alguna manera este dispositivo es más conveniente, da datos en forma digital, tiene una hélice incorporada para el bombeo de aire y un pico para conectar un tubo para un pequeño drenaje.
Conecté mi sensor al chal naranja pi cero,que a través de wifi a través de MQTT envía datos al servidor Home Assistant, que activa Malinka. Eliminó su verdad en el pasillo, porque De todos modos, la hélice hace ruido aunque está silenciosa, pero me impide dormir por la noche (el ruido es más silencioso que un portátil silencioso como mi lenovo t61).

Aquí hay una pequeña copia del código de otra persona sin verificar los datos de CRC y promediando 30 segundos.


importar serial
tiempo de importación
estructura de importación
importar paho.mqtt.publish como publicar
mosquitto_ip = "192.168.1.86" sens_name = "SDS011_1" n = 30
ser = serial.Serial ('/ dev / ttyS2', velocidad de transmisión = 9600, bits de parada = 1, paridad = "N", tiempo de espera = 2)
# ser.open ()
ser.flushInput ()
byte, lastbyte = "\ x00", "\ x00" mientras True:
lastbyte = byte
byte = ser.read (tamaño = 1)
# Tenemos un encabezado de paquete válido
si lastbyte == "\ xAA" y byte == "\ xC0":
sentence = ser.read (tamaño = 8) # Lee 8 bytes más
lecturas = struct.unpack ('