Einleitung
Sende deine Fragen an
Noise@Sensor.Community🚧 Baue deinen eigenen DIY-Sensor und werden ein Teil des weltweiten, opendata & civictech Netzwerks.
Mit dem DNMS (Digital Noise Measuring Sensor) kannst du die Lärmbelastung (als Schallpegel LAeq, LAmin, Lamax) selbst messen.
Es gibt zwei verschiedene Setups:
Die Schallmessung ist mit dem WiFi-Komunnikation getrennt oder zusammen auf einer Platine montiert.
- Die NodeMCU mit Sensoren (PM, Temperatur etc.) und das DNMS sind getrennt. Die Platinen heißen DNMS-T4.0-V1.x und AIRROHR-V1.x
- Eine kombinierte Version auf der gleichen Platine: DNMS-T4.0+NodeMCU-V1.x
Hier wird nur die erste, getrennte, Variante beschrieben. Die anderen Variante des Lärmsensors gibt es auf Helmut Bitter's Github.
In der geteilten Variante kann die Verbindung zwischen dem NodeMCU und dem DNMS bis zu 10m lang sein. Dies ist voteilhaft, weil man dadurch eine schalltechnisch bessere Position für das DNMS erreichen kann, um genaue Schallmessungen zu bekommen.
Einkaufsliste
Einzelne Komponenten
Teensy 4.0 Entwicklungsboard. Andere Anbieter: EXPTECH, Antratek, PIMORONI
Digitales Mikrofon ICS-43434 ggf. bei Franz Hoefle verfügbar
DNMS und Airrohr Platinen ggf. bei Franz Hoefle verfügbar
ultraflexible Silikonkabel mit einem Durchmesser von 0,15mm² (AWG 26) in 6 verschiedenen Farben (alternativ Mikro mit 20cm Steckverbinder SH1.0)
Einzelne KomponentenDer für die airRohr-DNMS-Kombi:
- SPS30 Feinstaubsensor. Andere Anbieter: TME, SOS electronic. Der SDS011 Feinstaubsensor kann ebenfalls verwendet werden.
- BME280 6-PIN Version, temperature & humidity. Andere Anbieter®: Nettigo, Berrybase
- Kabel
- USB-Kabel z.B.: flach 2m Micro-USB
- USB-Netzteil
- Kabelbinder
Die Leiterplatten und der Wetterschutz werden unten beschrieben.
🙌 Toll, du hast dich entschieden, die Teile online zu kaufen! Leider kann die Lieferung einige Tagen oder bis zu drei Wochen dauern. Genieße bis dahin dein Leben.
Treiber & Firmware
Wir haben die Firmware bereits vorbereitet. Du musst nur noch die Treiber installieren und den NodeMCU (ESP8266) und Teensy 4.0 Boards flashen. Um mit deinem ESP8266 zu kommunizieren, benötigst du den USB-2-Seriell-Treiber für dein Betriebssystem. Der Chipsatz für die NodeMCUs v3 ist normalerweise der CH341, schaue einfach auf der Rückseite deiner NodeMCU nach, um einige technische Informationen zu finden.
Wähle den Link, der dem Betriebssystem deines Computers entspricht.
Windows
Treiber für das Modell V2 (CP2102) für Windows
- Windows 10 - Windows 10 sollte in der Lage sein, die Treiber automatisch herunterzuladen
- Windows 7/8/8.1 - 32-Bit-Version - nicht unterstützt 64-Bit-Version OS
Treiber für das Modell V3 (CH340/CH341) für Windows
- Windows - Windows 10 sollte in der Lage sein, die Treiber automatisch herunterzuladen
Entpacken der heruntergeladene Datei für Windows:
- für V2: Entpacken Ordner CP210x und starte die Anwendung CP210xVCPInstaller_x64 (oder x86)
- für V3: Entpacke Ordner CH341SER und starte die Anwendung SETUP.
MacOS
MacOS-Treiber
Entpacken der heruntergeladene Datei für MacOS.
- für V2: Entpacke Ordner CP210x und starte die Anwendung CP210xVCPInstaller_x64 (oder x86)
- für V3: Entpacke Ordner CH341SER und starte die Anwendung SETUP.
- Mac neustarten
Linux
Es müssen keine Treiber installiert werden. Chip sollte direkt unterstützt werden (überprüfbar mit dmesg)
Firmware Flasher NodeMCU
Unterstützung für mehrere Betriebssysteme: Windows, MacOS und Linux.
NodeMCU mit deinem Computer und einem kurzen Micro-USB-Kabel verbinden. Unter 1 Meter wählen, sonst kann die Installation fehlschlagen kann. Wähle latest_de.bin
(oder eine andere Sprachversion) und klicke auf "Upload". Warte bis der Vorgang abgeschlossen ist. Nun können wir den Sensor zusammenbauen.
Ein großer Dank geht an Piotr, aus Polen, für seine Hilfe! 🙋♂️
Firmware Flasher Teensy
Auf Helmut Bitter's Github gibt es zwei Arten von Firmware:
- .ino
- .hex
Teensy Loader
Die .hex-Datei kann man mit dem Teensy Loader (Windows, Mac und Linux) flashen. Eine Kommandozeilenversion existiert ebenfalls.
Teensyduino
Die .ino-Datei kann man mit der Arduino IDE-Erweiterung Teensyduino flashen. Bei Bedarf kann man die Firmware direkt in der Arduino-IDE modifizieren.
PCBs und Schaltpläne
Der beste Weg, den DNMS (Digital Noise Measuring Sensor) zu bauen, ist, eine unserer Leiterplatten zu verwenden. Es gibt mittlerweile eine ganze Reihe von Leiterplattenherstellern, die für wenig Geld und ohne Mindestmengen Leiterplatten ätzen können. Zum Beispiel JLCPCB. Einfach unsere Schaltpläne und/oder Gerber-Dateien herunterladen, diese auf der Website des Herstellers hochladen und Leiterplatten bestellen.
Die aktuellste Version der Leiterplatten ist hier beschrieben. Weitere Informationen und Zugriff auf die KiCad-Dateien gibt es auf [Helmut Bitter's Github](https://github.com/hbitter/DNMS/tree/master/PCBs).
Platine für den NodeMCU ESP8266 CPU/WLAN mit einer I2C-Bus-Erweiterung zum Anschluss des DNMS sowie weiterer Sensoren (SDS011, BME280...). AIRROHR V1.4
Download
Platine für den DNMS Teensy 4.0, der direkt auf einen NodeMCU ESP8266 oder auf die obige AIRROHR-Platine gesteckt werden kann. DNMS - T4 V1.4
Download
Aufbau
⚠️ WICHTIGE ANMERKUNG Installiere vor dem Zusammenbau die Firmware! Siehe Abschnitt Firmware-Flasher.
Mikrofoneinheit
Die Mikrofoneinheit basiert auf einem Breakout-Board von Pesky Products mit einem MEMS-Mikrofon ICS-43434. Auf dem Tindie-Marktplatz kann man solche Boards finden.
Gehäuse für die Mikrofoneinheit
Das Gehäuse ist aus einem .500" (12,7mm) Polystyrolrohr gefertigt. Dieser Durchmesser erlaubt es, die meisten Kalibratoren direkt an das Gerät anzuschließen.
Der Prototyp wurde mit dem Evergreen-Rohr Nr. 236 entwickelt.
Die Breakout-Platine muss mit einer Feile an den Durchmesser des Schlauches angepasst werden. Daher etwas Klebeband verwenden, um den Mikrofoneingang zu schützen.
Die sechs Silikonkabel anlöten. Darauf achten, mit welchem Pin das Kabel verbunden ist!
Ein 115 mm langes Stück Schlauch abschneiden.Die Mikrofonplatine auf ein Stück gekreuztes Klebeband kleben. Kabel in den Schlauch stecken und Platine am Ende des Schlauchesbefestigen.
Das Ende des Rohrs mit dem Klebeband abschließen.
Nun das Rohr mit etwas Harz befüllen. Dieser Schritt ist zwingend erforderlich, um Resonanzen zu vermeiden und kalibrierte und reproduzierbare Daten zu erhalten.
Der Prototyp wurde entwickelt mit PURe Isolation ST 33 der Firma Copaltec GmbH.
Spezifikationen:
- Durchschlagsfestigkeit: 28 kV/mm
- Spezifischer Durchlasswiderstand: 5,8.1014 Ohm/cm
- Oberflächenwiderstand: 1,3.1016 ohm
- Mischungsverhältnis Harz/Härter: 2 : 1
- Topfzeit: 20 à 30 Min.
- Aushärtezeit: 16 à 30 h
- Endausgehärteter Zustand: 10 à 14 Tage
- Viskosität (gemischt): 500 à 600 mPa.s
- Shore-Härte: D 50 bis 55 (ISO 868, DIN 53505)
- Wärmeleitfähigkeit: 0,3 W/mK
- Anwendungstemperaturen: - 20 bis +130 °C
Das Polyurethanharz UR5545 der Firma Electrolube sollte ebenfalls funktionieren.
Für jeden Schlauch sollten 15 g Harz ausreichen.
Wenn das Harz ausgehärtet ist, Klebeband entfernen.
DNMS-Gehäuse
Wenn der Teensy (DNMS) und die NodeMCU (freistehend oder auf Platine) getrennt sind: DNMS und airRohr
Benötigt wird ein Stück Schlauch mit 25 mm Durchmesser (z. B. Schlauch für elektrische Anwendungen), einen Stecker, einen 90°-Bogen und eine M25 IP68-Kabelverschraubung.
Der Schlauch sollte 160 mm lang sein. Das Mikrofongehäuse wird durch die Kabelverschraubung gehalten.
Der Bügel verhindert das Eindringen von Wasser und Feuchtigkeit in das Gehäuse, während das Kabel durchgelassen wird.
Das DNMS wird über ein RJ12-Kabel mit der zweiten Platine verbunden. Wenn dieses Kabel länger als 250 mm ist, muss eine I²C-Verlängerung verwendet werden.
Nachdem alles miteinander verbunden ist, werden die Teile zusammengeklebt.
Ergebnis:
Wetterschutz
Es ist unbedingt ein Wetterschutz in Form einer Schaumstoffabdeckung anzubringen. Notfalls reicht auch ein Haushaltsschwamm aus. Dafür gibt es mehrere Gründe:
- er schützt vor Windgeräuschen (die die Dezibel-Messungen erhöhen können)
- er schützt vor direktem Wasseraustritt am Mikrofon. Um Kondenswasser auf dem Mikrofon zu vermeiden, die Abdeckung nach der Montage bisschen zurückziehen, um einen kleinen Hohlraum zu schaffen.
- er schützt vor Sonneneinstrahlung. Intensive Sonneneinstrahlung kann die Messwerte beeinflussen und die Lebensdauer des Mikrofons verringern.
Diese Schaumstoffabdeckungen werden normalerweise als "Abdeckungen für Messmikrofone" verkauft. Sind aber teuer. Alternative einen normalen Schaumstoffball nehmen und mit der Schere ein Loch hineinschneiden.
Bestellt werden können diese bei Aliexpress.
Standort des Mikrofons
Es ist wichtig, das Mikrofon in einem möglichst "freien" Bereich zu platzieren, d.h. an einem Ort mit möglichst wenig schallreflektierenden Flächen. Der Abstand zu reflektierenden Flächen sollte so groß wie möglich sein. Das Mikrofon nicht direkt an einer Hauswand montieren, da Wände Schall stark reflektieren. Der Abstand zur Wand sollte idealerweise mehr als 1 m betragen. Dies ist natürlich nicht immer einfach zu realisieren.
Mit einem Abstand von etwa 50 cm von der Mikrofonspitze zur Wand ist der induzierte Fehler noch vertretbar. Gute Plätze sind z.B. Balkone oder Terrassengeländer, oder ein kleiner Mast auf dem Dach.
Das Mikrofon kann direkt an der Hausecke platzieren werden, damit sich die Reflexionen teilweise auslöschen.
Ein freistehender Mast von mindestens 1 m Höhe könnte auch eine Lösung sein, hier muss man auf die Reflexionen am Boden achten. Das hängt natürlich vom Bodenbelag ab.
Es ist auch wichtig, sich immer bewusst zu machen, dass wir Umgebungsgeräusche messen. Wir können nur eine Annäherung an die Geräuschemission von Quellen wie Straßen oder Eisenbahnen vornehmen.
Je näher man jedoch an die Quelle herankommt, desto genauer wird der Bezug zur Quelle.
Konfiguration
Noise befindet sich in der Beta-Phase. Sende Fragen an
Noise@Sensor.CommunityAbrufen der ID
Schließe die Station mit einem USB-Kabel an, um den Sensor mit Strom zu versorgen.
Die Station versucht, eine Verbindung mit dem konfigurierten WiFi herzustellen. Falls dies nicht funktioniert, öffnet der Sensor einen Access Point mit dem Namen
Particulate Matter ID
,Feinstaubsensor-ID
oderairRohr-ID
. Die ID ist die chipID (zum Beispiel 13597771). Bitte notiere dir diese Nummer, da diese für die Registrierung benötigt wird.Verbinde dich mit dem erstellten Adhoc-WiFi. Warte, bis die Verbindung hergestellt ist.
Android: Wenn die Verbindung sofort abbricht, schau unter 'Verbindungen -> WiFi -> Erweitert' und deaktiviere die Option 'Smart Network Switch'.Öffne deinen Browser und gebe http://192.168.4.1/ ein.
⚠️ Bitte beachten Es kann einige Versuche dauern, bis die NodeMCU eine Verbindung mit deinem WLAN herstellen kann. Bitte werde nicht ungeduldig und versuche es, bis es funktioniert. Der Sensor kann auch über ein Smartphone konfiguriert werden. Wenn die Konfiguration des Sensors funktioniert hat, ist die Konfigurationsseite unter dieser IP 192.168.4.1 nicht mehr zugänglich.
Station konfigurieren
Gib unter 'Konfigurieren' deine SSID (Name deines WiFi-Heimnetzwerks) und den Netzwerksicherheitsschlüssel (unter Windows) bzw. das WiFi-Passwort ein.
Für Lärmsensoren (DNMS) sind gemäß dieser Anleitung keine weiteren Änderungen erforderlich
Nachdem du auf Speichern gedrückt hast, startet der Sensor neu und ist auf diese Weise nicht mehr erreichbar, wenn er sich mit dem WLAN verbindet.
Station testen
Wenn außer der Eingabe der Daten des WiFi-Netzwerks keine Änderungen vorgenommen wurden, kann der Sensor nach etwa 10 Minuten auf den folgenden Seiten "getestet" werden. Auf diesen Seiten muss nach der chipID gesucht werden (im obigen Beispiel die 13597771).
Register
Register yourself
Go to devices.sensor.community to register your device and become a part of the open data network.
Registriere dein Gerät
Nachdem du dich angemeldet hast, klicke auf "Neuen Sensor registrieren" und fülle das Formular aus. Startseite -> (Login) - Meine Sensoren -> Neuen Sensor registrieren
- Deine notierte ChipID des ESP8266 (NodeMCU).
- Deine E-Mail-Adresse (wird nicht veröffentlicht).
- Deine Adresse: Straße mit Hausnummer, Postleitzahl und Ort. Klicke auf "Eingegebene Adresse suchen", um die Standortkoordinaten zu erhalten (diese werden abgerundet). Überprüfe die Position der Stecknadel, ändere diese gegebenenfalls.
- interner Name erleichtert die Trennung, wenn du mehrere Sensoren hast (wie Garten, Sensor für Mama,...).
- die Umgebung der Station - z.B. Höhe über dem Boden, Straßenrand, hohes Verkehrsaufkommen, Freifeld o.ä.
Übrigens!
Derzeit ist es nicht möglich, sowohl den PM-Sensor, den Temp/Humidity- als auch den DNMS-Sensor zu registrieren, die an einen NodeMCU angeschlossen sind. Im Moment kann dies nur manuell erfolgen, einfach eine Anfrage an tech (at) sensor.community senden. Siehe issue für Details.
Troubleshoot
Problemen beim Übertragen?
Gebe folgendes in deinem Browser mit deinen eigenen Daten ein: https://api-rrd.madavi.de/grafana/d/GUaL5aZMz/pm-sensors?orgId=1&var-chipID=esp8266-[ID]
Die [ID] kann auch im Eingabefeld open links auf der Seite https://api-rrd.madavi.de/grafana/d/GUaL5aZMz/pm-sensors?orgId=1 gesucht werden.
- Ist der Sensor über https://devices.sensor.community/ registriert und ist der Sensor auf der Karte sichtbar?
- War das WLAN-Signal in der Vergangenheit schwach? Hier ist das server-seitige Signalprotokoll:
https://api-rrd.madavi.de/grafana/d/Fk6mw1WGz/wifi-signal?orgId=1&var-chipID=esp8266-[ID]
Probleme mit dem USB-Kabel?
- Überprüfe die Stromversorgung
- Neustart (Stromversorgung trennen, z.B. USB-Stecker ziehen)
- Ist die WLAN-Konfiguration okay (der Sensor verbindet sich mit dem konfigurierten WLAN). Wenn nicht:
- Öffnet der Sensor einen Adhoc Wifi (Access Point), in den ersten 2-7 Minuten nach einem Neustart?
- Suche nach dem WLAN-Netzwerk
airrohr-[ID]
. Es kann einige Minuten nach einem Neustart brauchen bis dieses sichtbar ist.
- Prüfe an deinem eigenen Router, ob der Sensor im Netzwerk angemeldet ist, und merke dir die IP
- alternativ "Im Netzwerk suchen" im airRohr Flashing Tool verwenden
- Falls ja: Verbinde dich mit dem Sensor über einen Browser
http://[ip-deines-sensors]/
, die Konfiguration sollte erscheinen - Falls nein: könnte es an einer unzureichenden Stromversorgung, Neustartschleife oder ähnlichem liegen.
- Schließe die NodeMCU über ein USB-Kabel an einen Computer an und schau dir das Protokoll an
- Mit einem seriellen Terminalprogramm verfolgen (Einstellungen: Baud 9600, 8N1)
- Linux: Bildschirm, Minicom, cutecom
- Windows: Tera Term
- MacOS: Bildschirm, Minicom, ...
- evtl. sind noch geeignete USB-2-Seriell-Treiber notwendig, siehe https://github.com/opendata-stuttgart/meta/wiki/Firmware-einspielen
- Dort sollte zu sehen sein, was der Sensor gerade macht (Boot-Meldungen, WLAN-Verbindung oder Access Point, Messung - erst nach 3 Minuten)
- Mit einem seriellen Terminalprogramm verfolgen (Einstellungen: Baud 9600, 8N1)
Probleme mit der Elektronik?
Entferne die Sensorelektronik aus dem Gehäuse und schau sie dir genau an
Stromversorgung erneut prüfen/ersetzen
- Blinkt die NodeMCU(ESP8266) kurz nach dem Neustart?
- SDS011: rote LED/Lüfter leuchtet nach dem Neustart?
- Überprüfe/ersetze die Kabel zu den Sensoren erneut
Noise befindet sich in der Beta-Phase. Senden deine Fragen an
Noise@Sensor.Community