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:
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.
Bei analogen Signalen wird die anliegende Spannung gemessen.
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.
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)
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.
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
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:
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"
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
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
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.
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.
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
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.