Skip to content

Anschluss weiterer Sensoren und Hardware

Rajko Zschiegner edited this page Jan 13, 2019 · 12 revisions

Die Firmware des Feinstaubsensors unterstützt neben dem SDS011 und dem DHT22 eine ganze Reihe weitere Hardware. Messwertaufnehmer (Sensoren) und Displays können per I2C-Bus angebunden werden.
Eine Beschreibung I2C-Bus ist bei Wikipedia: https://de.wikipedia.org/wiki/I%C2%B2C

Angeschlossene Geräte müssen über die Konfigurationsseite des Sensors erst aktiviert werden!

allgemein zum I2C

Der I2C-Bus ist ein 4-Draht Bus für serielle bidirektionale Kommunikation. Neben VCC (Versorgungspannung) und GND (Masse) werden zwei Leitungen zur Kommunikation verwenden. Auf der Leitung SDA werden die Daten übertragen, die Leistung SCL bestimmt den Takt und damit die Geschwindigkeit der Übertragung. Alle 4 Leitungen werden an allen Geräten am Bus angeschlossen. Jedes Gerät am Bus hat eine eigene Adresse und kann vom Master (unsere nodeMCU) direkt angesprochen werden. Die Firmware des Feinstaubsensors unterstützt mehrere Geräte auf einem Bus. Alle Leitungen zu den jeweiligen Sensoren werden einfach zusammengesteckt. Also alle GND, alle SCA und alle SCL sind zusammenzustecken. Bei der Stromversorgung ist zu beachten, ob die Hardware 3,3V oder 5V benötigt!
Am Feinstaubsensor ist der I2C-Bus an folgenden Pins verfügbar:

  • SDA -> Pin D3 (GPIO0)
  • SCL -> Pin D4 (GPIO2)
  • GND -> Pin GND

Dazu kommt für die meisten Busgeräte auch VCC mit 3,3Volt. Eine Ausnahme bildet das Display LCD1602 als I2C-Ausführung mit benötigten 5V.


I2C: BME280 (BMP180, BMP280)

BME280: Temperatur, rel. Luftfeuchte und Luftdruck
BMP180, BMP280: Temperatur und Luftdruck

Lötarbeiten nötig!
Diese Sensoren werden typischerweise auf einer kleinen Platine aufgebracht geliefert. Dabei liegt eine Stiftleiste. Zum Anschließen von Verbindungsleitungen müssen die 4 Leitungen direkt auf der Platine angelötet werden. Soll wie beim Anschluss von Sensor DHT22 oder SDS011 das Dumont-Kabel verwendet werden, so kann die Stiftleiste auf der Platine angelötet werden. (Bild folgt)


I2C: HTU21D

Temperatur, rel. Luftfeuchte


I2C: OLED-Display mit 128x64 Pixeln

Ein kleines Display zur direkten Anzeige der Messwerte sowie Anzeige des Status


I2C: LCD-Display 1602 oder 2004 als I2C-Version!

Ein LCD-Display 1602 kann als I2C-Version ebenfalls zur Anzeige von Messwerten angeschlossen werden. Bitte die Adressierung beachten!


OneWire: DS18B20

Alternativ zum vorgesehenen DHT22-Sensor kann auch der Temperatursensor DS18B20 verwendet werden. Eine gleichzeitige Nutzung beider Sensoren ist nicht vorgesehen!
Der DS18B20 ist ein weit verbreiteter Temperatursensor. Er wird mit 3 Leitungen angeschlossen: VCC, GND, DATA. Die gängige Ausführung ist in einem wasserdichten Gehäuse mit 80-100cm langem Kabel. Dadurch kann der Temperatursensor auch Umwelteinflüssen ausgesetzt werden. Dieser Sensor hat im Gegensatz zum DHT22 keine Luftfeuchtemessung.

  • GND -> GND
  • VCC -> VCC 3,3V
  • DATA -> PIN 7 (GPIO 13)

Der DS18B20 wird in der Regel mit blanken Kabelenden geliefert. Möglicherweise müssen Lötarbeiten durchgeführt werden.


seriell: GPS NEO6M (sehr experimentell !!!)

Für den mobilen Betrieb eines Feinstaubsensor ist der Anschluss eines GPS-Moduls möglich. Die Firmware unterstützt das gängige günstige GPS-Modul NEO6M mit einem seriellen Anschluss. Dazu wird der folgende Serielle Anschluss am nodeMCU verwendet:

Am Airrohr wird Pin D5 als RX und Pin D6 als TX definiert. Bei seriellen Verbindungen werden RX und TX (Empfangen und Senden) gekreuzt miteinander verbunden. Also eine Seite Senden (TX) an Empfangen (RX) des Partners verbunden.

  • Pin D5: RX -> An TX vom GPS

  • Pin D6: TX -> An RX vom GPS

  • GND -> GND

  • VCC Stromversorgung beachten! Typischerweise 3,3V

Im Gegensatz zu den anderen Sensoren muss der serielle Port fortwährend abgefragt werden. Das führt dazu, dass die Daten des GPS sofort auf der values-Page angezeigt werden und bei jedem Abruf von Daten stetig aktualisiert sind. Die Daten der anderen Sensoren werden nur alle 145 Sekunden (Standard) abgefragt, um eine entsprechende Lebensdauer des SDS011 zu gewährleisten.


Alternative Feinstaubsensoren: PMS1003, PMS3003, PMS5003, PMS6003, PMS7003

Ebenfalls unterstützt werden diese Sensoren.



Alternative Feinstaubsensoren: Honeywell PM sensor

Ebenfalls unterstützt werden diese Sensoren.


By now the following Sensors are supported:

  • SDS011 via SoftSerial
  • Plantower PMS1003 to PMS7003 via SoftSerial
  • Honeywell PM sensor via SoftSerial

Seiten

Dokumentation

Protokolle

for more, see Protokolle

Clone this wiki locally