Sensoren

Füllstandsmessung ( 

An den ESP Controllern kann man einen ganz Sack voll Sensoren anschließen. Ich habe aus Interesse viele ausprobiert und einige produktiv im Einsatz.

 

Hier nun meine Erfahrungen:

Schnittstellen:

 

Bei der Ansteuerung unterscheiden wir zwischen verschiedenen Möglichkeiten:

 

  • Binär

ein Signal wird über einen GPIO Pin angelegt. Dies kann High oder Low sein. Ausgehend schaltet man eine Spannung auf den GPIO um bsw. ein Signal raus zu geben oder ganz profan eine LED zum Leuchten zu bringen, oder ein Summer zum summen.

 

  • Analog

Bei analogen Signalen wird die anliegende Spannung gemessen. 

 

  • I²C 

Eine ganz feine Sache ist der interne I²C Bus (Inter-Integrated Circuit) I²C benötigt zwei Signalleitungen: Takt- (SCL = Serial Clock) und Datenleitung (SDA = Serial Data). Nachteil des Bus ist, dass keine größeren Entfernungen möglich sind und der Bus schon störanfällig ist.

 

  • Dallas

 

1-Wire bzw. One-Wire oder Eindraht-Bus is eine serielle Schnittstelle der Firma Dallas Semiconductor Corp. Ich kenne keinen der die so nennt. Umgangssprachlich wird Dallas gesagt. (Man braucht aber zwei Drähte, denn Masse darf nie fehlen) 

 

  • Serial Peripheral Interface

 

Das Serial Peripheral Interface (SPI) ist auch ein Bus System. Dafür gibt es die Pins SCK (D5), MISO (D6) und MOSI (D7). Keinen Plan wofür man das benutzt, denn ich habe bisher noch keine Verwendung dafür gesehen.

 


BME 280 Klimasensor       Top

Der BME 280 ist ein Klimasensor, der über den I2C Bus angesteuert wird. Er liefert Temperatur, Luftfeuchtigkeit und Luftdruck und ist für 1,50€ bei Aliexpress erhältlich.

Achtung, es gibt den in der 5V Variante und in der 3,3V Variante

 

sensor:
  - platform: bme280
    temperature:
      name: "BME280 Temperature"
      oversampling: 16x
    pressure:
      name: "BME280 Pressure"
    humidity:
      name: "BME280 Humidity"
    address: 0x77
    update_interval: 60s

 


Wasser Temperatur Sensor DS18B20       Top

Der DS18B20 ist eine wasserdichter Temperatursensor der mittels des Dallas Protokolls angesprochen wird. Ich nutze ihn um die Wassertemperatur in meinem Fischteich zu messen. Er ist für 2 € Euro bei Aliexpress zu haben und misst von minus 55 Grad bis plus 125 Grad.

Anschluss:

  • Data - gelb
  • VCC (Plus 5V Spannung) - rot
  • GND (Masse) - Schwarz

Man beginnt in der Config mit dem Pin für das Dallas Protokoll. Nach dem Starten erkennt er den Sensor und wirft die Sensor Nummer aus, die man dann ansprechen kann.

 


dallas:
  - pin: D4

sensor:
  - platform: dallas
    address: 0x0603089794254228
    name: "Wasser Temperatur Teich"

 


Kohlenmonoxid Melder CJMCU-811       Top

Wenn man so wie wir einen Kaminofen hat, oder vielleicht begeisterter Shisha Raucher ist sollte man seinen Kohlenmonoxid Gehalt im Raum immer im Blick behalten.

 

Gefahren durch Kohlenmonoxid

 

Kohlenmonoxid ist in erhöhten Konzentrationen gefährlich für den Mensch. Das Gas bindet sich stärker an die roten Blutkörperchen als der lebensnotwendige Sauerstoff. Somit verursacht das CO einen Sauerstoffmangel im Blut. Dies führt zu Kopfschmerzen und Bewusstlosigkeit und bei größeren Mengen zum Tod. Bereits kleinere Mengen von CO können führen zu irreversiblen Herz- und Hirnschäden. Ab welchem Wert, CO wird in ppm gemessen, schädlich für den Menschen wird, hängt von vielen Faktoren ab, dem Alter, der Größe etc. der Person in Gefahr. Als Richtlinie gilt jedoch:

 

Der Mensch kann einem CO-Wert von höchstens 35 ppm für 8 durchgehende Stunden ausgesetzt sein. Steigt der Wert auf 150 ppm, treten nach 1,5 Stunden bereits geringe Kopfschmerzen auf. Bei 200 ppm kommen zu den Kopfschmerzen noch Ermüdung, Schwindel und Übelkeit hinzu. Diese Symptome treten nach etwa 2-3 Stunden auf. Verdoppelt sich der CO-Wert auf 400 ppm fühlt die betroffene Person bereits nach 1-2 Stunden Kopfschmerzen in der Stirn. Lebensbedrohlich wird es bei dieser Menge an CO bereits nach 3 Stunden. Je weiter der CO-Wert steigt, um so gefährlicher wird es. Bei 800 ppm treten Schwindel, Übelkeit und Schüttelkrämpfe innerhalb von 45 Minuten auf. Darauf folgt Bewusstlosigkeit innerhalb von 2 Stunden. Ist die Person dem CO mit 800 ppm für länger als 2 Stunden ausgesetzt, droht der Tod. Innerhalb von 20 Minuten bekommt die Person Kopfweh, Schwindel und Übelkeit, sollte sie einer Konzentration von 1600 ppm ausgesetzt sein. Der Tod tritt innerhalb einer Stunde ein. 3200 ppm erzeugen dieselben Symptome innerhalb von 5 bis 10 Minuten. Der Tod tritt hier schon nach etwa 25 bis 30 Minuten ein. Bei einem CO-Wert von 12800 ppm stirbt die Person nach wenigen Minuten.

 

ACHTUNG

Ich habe keine Ahnung wie genau der Sensor ist, daher empfehle ich dringend einen kalibrierten CO Melder

 

 

Der hier beschriebene Sensor wird über den I2C Bus angesteuert und ist für 5 Euro zu haben


DFPlayer Mini MP3 Player       Top

 

ein sehr interessantes Modul ist der DF1 Mini MP3 Player. Er ist für ca 80 Cent zu haben und bietet die Möglichkeit eine CF Karte mit gespeicherten MP3 aufzunehmen. Leider bin ich zeitlich noch nicht dazu gekommen ihn einzurichten. Ich würde mir gerne eine Türklingel damit bauen die klingelt, aber auch Hundegebell abspielen soll wenn niemand zu Hause ist.

anbei daher nur alle Informationen die ich dazu bereits gesammelt habe.

 

Herstellerbeschreibung (englisch)

 


esphome:
  name: sound_machine
  platform: ESP8266
  board: nodemcuv2
  includes:
    - mp3_player.h
  libraries:
    - DFRobotDFPlayerMini@1.0.5
 
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
 
status_led:
    pin: 16
 
# Enable logging
logger:
 
# Enable Home Assistant API
api:
 
ota:
 
output:
  - platform: custom
    type: binary
    lambda: |-
      auto mp3player_output = new MP3PlayerOutput();
      App.register_component(mp3player_output);
      return {mp3player_output};
    outputs:
      id: mp3_player
 
# Switch to control sound playing
switch:
  - platform: output
    id: sound_machine
    name: Sound Machine
    output: "mp3_player"
 
# Physical button for local override
binary_sensor:
  - platform: gpio
    name: Button
    internal: True
    pin:
      number: 5
      mode: INPUT_PULLUP
    filters:
      - delayed_on: 10ms
      - delayed_off: 10ms
    on_release:
      then:
        switch.toggle: sound_machine

Weitere Links 


Infrarot       Top

Nun tauchen wir ein in die wunderbare Welt des Infrarot. Das Set auf dem Bild ist beim Chinesen für unter zwei Euro zu bekommen und beinhaltet folgende Komponenten.

  • Infrarot Empfänger
  • Infrarot Sende Diode
  • Infrarot Fernbedienung

Wirklich interessant ist aber die Tatsache, dass man so gut wie jeden Infrarot Code senden kann.

Bleiben wir bei unserer "Urlaubsschaltung" kann ich ich damit beispielsweise den Fernseher spontan einschalten, ab und zu den Sender wechseln und somit nach außen ein bewohntes Haus simulieren.

Andersrum kann ich aber auch alles was ich im HA eingerichtet habe über meine Fernbedienung vom Fernseher steuern. Wie ihr mehrt hat das Ding durchaus Potential. Die Einrichtung ist wie immer relativ simpel, die Ansteuerung allerdings nicht. Hier wird unterscheiden, ob ich wirklich RAW Werte bearbeite oder herstellerabhängige Bibliotheken benutze.

Hier empfehle ich dringend die Lektüre der offiziellen Dokumentation

Ich persönlich bin schon bei einer simplen Lichterkette gescheitert, da die Werte, die Gesendet wurden nicht reproduzierbar waren und sich ständig geändert hatten.


Stromsensor ACS712       Top

Der gute Edwin Hall hat etwas Nützliches entdeckt, nämlich das man mittels magnetischer Induktivität elektrische Ströme messen kann, nämlich den Hall-Effekt

 

Mit diesem Stromsensor ACS712 kann man also Ströme hoher Spannungen messen. Der Chip ist für ca 1,50 € erhätlich.

 

Wie immer der Hinweis

ACHTUNG

Arbeit an 230V ist gefährlich !!!!

 

Verwendungszweck ist beispielsweise ihn in die Stromleitung der Waschmaschine zu schleifen. Sinkt die Amperezahl kann eine Meldung erfolgen, dass die Waschmaschine fertig ist. Denkbar ist auch permanent den Strom des Kühlschranks oder Tiefkühltruhe zu überwachen. Sinkt der Wert scheint der Kühlschrank defekt zu sein.

(da in den letzten 50 Jahren kein Kühlschrank bei mir kaputt gegangen ist verzichte ich mal darauf.)

 

Angeschlossen wird er über den analogen Port A0 . Möchte man den gemessenen Strom für bare Münze nehmen muss der Sensor anständig kalibriert werden. wie das genau funktioniert steht hier 


Lichtsensor TSL-2561       Top

Nun wieder zu einem Sensor, der bei mir produktiv im Einsatz ist, nämlich den Lichtsensor TSL-2561.

Der Sensor ist mit 2,50 € für chinesische Verhältnisse recht teuer und wird über den I2C Bus angesteuert.

Ich habe ihn zusammen mit dem BME280 verbaut.

 


sensor:

  - platform: tsl2561
    name: "Garten Helligkeit"
    address: 0x39
    update_interval: 60s


UV Sensor GY-8511       Top

Der GY-8511 UV Sensor wird auch unter dem Namen ML 8511 vertrieben und ist für ca.2 Euro zu haben. Steigt der UV Wert kann bsw. die Markise ausgefahren werden.

 

Anschlussplan:

 

 


PH Sensor       Top

Auch dieser Sensor wird über den analogen Port A0 betrieben und misst den PH Wert von Flüssigkeiten. Ich habe ihn zwar bereits verbaut (Preis ca. 10 Euro) bin aber noch nicht dazu gekommen die Logik zu schreiben. Denn das Problem ist auch hier nicht der Anschluss sondern die Kalibrierung.

Ich habe mal einen Text aus dem Englischen übersetzt um das Problem deutlich zu machen:

 

Wie wir sehen können, befinden sich zwei Potentiometer in der Schaltung. Was näher am BNC-Anschluss der Sonde liegt, ist die Offset-Regelung, die andere ist die pH-Grenze.

Offset:

Der durchschnittliche Bereich der Sonde pendelt zwischen negativen und positiven Werten. Die 0 steht für einen pH-Wert von 7,0. Um es mit ESP verwenden zu können, fügt diese Schaltung dem von der Sonde gemessenen Wert einen Versatzwert hinzu, sodass der ADC nur Proben mit positiven Spannungswerten entnehmen muss. Daher erzwingen wir einen pH-Wert von 7,0, indem wir die Sonde vom Stromkreis trennen und die Innenseite des BNC-Steckers mit der Außenseite kurzschließen. Mit einem Multimeter den Wert des Po-Pins messen und das Potentiometer auf 2,5 V einstellen.

PH-Grenzwert:

Mit diesem Potentiometer wird ein Grenzwert für den pH-Sensor festgelegt, durch den die rote LED aufleuchtet und das Do-Pin-Signal eingeschaltet wird.

Zusätzlich müssen wir die Spannungsumwandlung berechnen, die uns den pH-Sensor gibt, sodass wir zwei pH-Referenzwerte benötigen und die vom Sensor am Pin Po zurückgegebene Spannung messen

Das Beste, was Sie tun können, ist die Verwendung einer Kalibrierungslösung in Pulvern, die sich auch in Flüssigkeit befinden, aber es ist einfacher, die Pulver zu konservieren. Diese Lösungen werden in unterschiedlichen Werten verkauft, am häufigsten sind jedoch pH 4,01, pH 6,86 und pH 9,18.

 

 

Unter Verwendung der Pulver mit pH 4,01 und pH 6,86 erhalten wir die Spannungen am Pin Po 3,04 V bzw. 2,54 V. Der Sensor ist linear. Wenn wir also zwei Punkte nehmen, können wir die Gleichung ableiten, um die gemessene Spannung in pH umzuwandeln. Die allgemeine Formel wäre y = mx + b, also müssen wir m und b berechnen, da x die Spannung und y der pH ist. Das Ergebnis ist y = -5,70x + 21,34.

 


Trübungssensor       Top

Der Trübungssensor ist in meiner Umlauffilterung des Gartenteiches eingeschliffen. Wird das Wasser durch Algenbildung zu trüb schaltet HA die UV Lampe ein. Kostenpunkt ca. 7 Euro.

 

 


Geräusch Sensor LM393       Top

Der Geräuschsensor LM393 ist ein Schalter, der auf Geräusche reagiert. Anwendungsbereich ist das klassische Babyphone aber auch in einer Alarmanlagenumgebung ist der Sensor hilfreich.

Über den Potentiometer kann man die Empfindlichkeit einstellen.

Der Sensor ist bereits für 36 Cent zu haben.

 


Levelshifter       Top

Wie ihr vielleicht gemerkt habt gibt es beim ESP zwei Spannungswelten, nämlich 3,3V und 5 V. Manchmal ist es notwendig Signale zu normieren, also zu "Shiften"

 

Dafür gibt es diese Levelshifter.

 

dieser hier behandelt vier unterschiedliche Signale. Hierbei ist es egal ob ich 3,3V nach 5V konvertieren will oder andersrum-


CD74HC4067 16-Kanal Analog Digital Multiplexer       Top

Wie wir ja bereits wissen hat der ESP nur einen analogen Eingang. Wenn wir aber mehrere analoge Geräte an einem ESP betreiben wollen,. wie bsw. 3 Feuchtigkeitssensoren an einem ESP für 3 Blumenkästen müssen wir multiplexen. Wer sich wirklich den technischen Hintergrund geben möchte kann das hier nachlesen.