Dust sensor / Stofsensor

Uit MakerSpace Leiden
Versie door MarkKlaauw (overleg | bijdragen) op 22 sep 2024 om 23:23
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Ga naar: navigatie, zoeken

Dit is een eenvoudige sensor node op basis van een SDS011 stofsensor en een ESP8266. Stofmetingen worden via MQTT uitgegeven.

Metingen

Metingen in de 'space zijn (als de sensor aan staat, anders hoor je niks) te beluisteren (lezen) via MQTT:

  • host: space.makerspaceleiden.nl
  • topic: makerspace/stof/#

De node post met zijn eigen ID, dit is A69872. Dus het directe topic voor deze individuele node is makerspace/stof/A69872. In plaats hiervan kan # ingevuld worden om alle subtopics van makerspace/stof/ te zien.

De sensor heeft geen voorfilter etc. dus de getallen zijn slechts een indicatie van " groter getal = meer stof ".

Ter vergelijking hieronder de seriële uitvoer van de test thuis:

Publishing {"alive":1,"SDS011":{"id":"8DFF","PM10":7.6,"PM2.5":2.9}} to test/dust/A69872...OK
Publishing {"alive":2,"SDS011":{"id":"8DFF","PM10":8.1,"PM2.5":2.9}} to test/dust/A69872...OK
Publishing {"alive":3,"SDS011":{"id":"8DFF","PM10":6.7,"PM2.5":3.2}} to test/dust/A69872...OK
Publishing {"alive":4,"SDS011":{"id":"8DFF","PM10":8.9,"PM2.5":2.9}} to test/dust/A69872...OK
Publishing {"alive":5,"SDS011":{"id":"8DFF","PM10":7.0,"PM2.5":3.2}} to test/dust/A69872...OK
Publishing {"alive":6,"SDS011":{"id":"8DFF","PM10":8.5,"PM2.5":3.0}} to test/dust/A69872...OK
Publishing {"alive":7,"SDS011":{"id":"8DFF","PM10":8.6,"PM2.5":3.5}} to test/dust/A69872...OK
Publishing {"alive":8,"SDS011":{"id":"8DFF","PM10":14.2,"PM2.5":3.7}} to test/dust/A69872...OK
Publishing {"alive":9,"SDS011":{"id":"8DFF","PM10":7.7,"PM2.5":3.3}} to test/dust/A69872...OK
Publishing {"alive":10,"SDS011":{"id":"8DFF","PM10":6.6,"PM2.5":3.1}} to test/dust/A69872...OK
Publishing {"alive":11,"SDS011":{"id":"8DFF","PM10":8.6,"PM2.5":3.7}} to test/dust/A69872...OK
Publishing {"alive":12,"SDS011":{"id":"8DFF","PM10":8.2,"PM2.5":3.7}} to test/dust/A69872...OK
Publishing {"alive":13,"SDS011":{"id":"8DFF","PM10":8.5,"PM2.5":3.7}} to test/dust/A69872...OK
Publishing {"alive":14,"SDS011":{"id":"8DFF","PM10":10.9,"PM2.5":3.8}} to test/dust/A69872...OK
Publishing {"alive":15,"SDS011":{"id":"8DFF","PM10":8.7,"PM2.5":3.7}} to test/dust/A69872...OK
Publishing {"alive":16,"SDS011":{"id":"8DFF","PM10":7.6,"PM2.5":3.7}} to test/dust/A69872...OK

Hoe dit te lezen: SDS011 is het typenummer van de sensor. 8DFF het serienummer van de sensor, en A69872 het ID van de ESP8266. De meetgegevens zijn de waarden genoemd achter PM10 en PM2.5. Hoger getal, meer stof.

Metingen op de makerspace, screenshot van mqtttool. Nog niet heel stoffig hier
Metingen op de makerspace, screenshot van mqtttool. Stoffiger
Metingen op de makerspace, screenshot van mqtttool. Heel stoffig!

Locatie

De stofsensor bevind zich in de kleine ruimte in de MakerSpace, op de centrale tafel. (Als iemand zich geroepen voelt een wat netter ESP8266 printje en een gepaste behuizing te toveren, kan daarna 1 van de muren ook)

De sensor zit aangesloten op de spanningsbalk op die tafel, zodat deze iha aan zal staan als er iemand aanwezig is en uit zal staan als er niemand is.

De node heeft alleen een wcd en een wifinetwerk nodig, dus verplaatsen is goed mogelijk. Pas dan ook bovenstaande locatie op deze wikipagina aan :)

Software

https://github.com/Lukelectro/sds011 , een fork van https://github.com/bertrik/sds011 met als enige aanpassingen de MQTT-host, topicnaam en pin-out.

Instellingen / gegevens

De instellingen voor MQTT host staan hardcoded in de software. De WiFi instellingen kunnen d.m.v. een captive portal worden ingesteld. Verbind hiertoe met SSID "SDS011-A69872". Het IP van de portal is 192.168.4.1


Hardware

De stofsensornode
Pin-out stofsensornode

De hardware is samengesteld uit restantjes. Het ziet er dus wat rommelig uit. De foto's zijn dus bedoeld als toelichting op de pinout en niet bepaald voor de show: Het is een in 2 halve dagen bijelkaar geraapt zootje.

Het ESP8266-printje heeft eerder voor Grote Schakelaar gediend. De header en led rechts van de ESP8266 zijn daar nog van overgebleven. De stofsensor zit op andere pinnen, links van de ESP.

De lange header uiterst links is een programmeerheader in arduino pro mini/micro formaat. GND en RX/TX zijn naar buiten gevoerd en gelabeld. Via deze header kan de software geflashed worden en ook wordt op deze seriele poort debug-informatie uitgegeven.

De 2 pins header naast de lange header zijn RX/TX voor de SDS011. Dit is een andere seriele poort, waarop alleen de sensor zit aangesloten.

De 2 pins header onderaan geeft 5V voor de sensor. Het geheel wordt gevoed met een 5 V netadapter.

Wie zich geroepen voelt make een nettere print :) Of (een) extra sensornode(s) voor de grote ruimte en/of de houtwerkplaats.

Namaken

  • Voed de SDS011 met 5V, de ESP8266 met 3,3V (of gebruik een ESP8266 bordje waar deze beide spanningen op aanwezig zijn).
  • Sluit Rx/TX van de sensor aan op de ESP8266, pinnen zijn in software te kiezen (zie software).
  • Meld de sensor aan op WiFi via de captive portal. (verbind je computer/telefoon/tablet met het netwerk dat de sensor aanbied, stuur zo nodig je webbrowser naar 192.168.4.1 als dat niet al vanzelf een portal aanbied, en stel aldaar het wifinetwerk van de 'space in).
  • Voila, het werkt.