PM2.5 un PM10 putekļu sensori

Ir bijuši daudzi pārskati par visu veidu sensoriemgaisa kondicionēšanas kontrole, es vēlos parādīt īsu pārskatu par sensoru, kas mēra gaisā PM2,5 (diametrs mazāks par 2,5 mikroniem) un PM10 (diametrs no 2,5 līdz 10 mikroniem) kategorijas putekļu daļiņas.
Darbības princips ir balstīts uz lāzera starojuma apgaismoto putekļu daļiņu izkliedētās gaismas analīzi.
Lai iegūtu sīkāku informāciju, es jautāju zem kaķa ...
Sensors ir diezgan jauns, ko izstrādājis inovafit.
Raksturojums:
1) norādīto reakcijas ātrumu vismaz 10 s;
2) izšķirtspēja: 0,3 µg / m3;
3) barošanas spriegums: 4,7 - 5,3 V;
4) enerģijas patēriņš> 1 W (es saprotu maksimumu);
5) produkti ir izturējuši CE / FCC / RoHS sertifikāciju (varbūt kāds būs noderīgs);
6) Temperatūras diapazons: -20 ~ +50 ° C;
7) izmēri: 71 mm * 70 mm * 23 mm.
Sensora dati tiek izsniegti UART reizi sekundē.
Šeit ir daži attēli, kas ir izvilkti no šejienes:

Tas jau ir mans:


Pirms tam man bija vieglāk sensori GP2Y1010AU0Fbet pienācīgi dara tos ar arduinaEs nevarēju, sensors sniedza pārāk mazas vērtības par analogo izvadi, kas, pārrēķinot, izmantojot formulas aprakstu, deva negatīvu vērtību ... (Parasti tas tikai reaģēja uz zīmuli caurumā un pēc tam deva nepareizu spriegumu, ko es gaidīju). Es neizslēdzu manu roku izliekumu, bet kaut kā šī ierīce ir ērtāka, tā sniedz datus digitālā formā, tai ir iebūvēts propellers gaisa sūknēšanai un izteka, lai savienotu cauruli mazam drenāžam.
Es savienoju savu sensoru ar Orange pi nulles šalli,kas caur WiFi caur MQTT nosūta datus serverim Home Assistant, kas ieslēdz Malinka. Tika noņemta viņa patiesība koridorā, jo Tas pats, propellers rada troksni, lai gan tas ir kluss, bet tas neļauj man gulēt naktī (troksnis ir klusāks nekā kluss klēpjdators, piemēram, mans lenovo t61).

Šeit ir mazliet kāda cita koda kopija, nepārbaudot datu CRC un vidēji 30 sekundes.


importēt sērijas
importēšanas laiks
importēt struktūru
importēt paho.mqtt.publish kā publicēt
mosquitto_ip = "192.168.1.86" sens_name = "SDS011_1" n = 30
ser = serial.Serial (“/ dev / ttyS2”, baudrate = 9600, stopbits = 1, paritāte = „N”, taimauts = 2)
# ser.open ()
ser.flushInput ()
baits, lastbyte = "x00", "0000 ", kamēr patiesība:
lastbyte = baits
baits = ser.read (izmērs = 1)
# Mums ir derīga pakešu galvene
ja lastbyte == "xAA" un baits == "xC0":
teikums = ser.read (size = 8) # Lasīt vēl 8 baitus
rādījumi = struct.unpack (“