mehrere Sensoren an einem ESP8266 möglich?

Begonnen von Rakete0815, 17 Juli 2017, 13:36:28

Vorheriges Thema - Nächstes Thema

Rakete0815

    Hallo,
    vielleicht gehört es auch in die Anfängerfragen. Ich bitte daher um Entschuldigung falls ich hier falsch bin.
    Ich habe bisher FHEM auf einem Raspberry Pi 3 am Laufen mit zwei Selbstbau NanoCuls.
    Da ich nun aber viel vom WeMos D1 ESP8266 gelesen habe würde ich nun gerne damit beginnen.
    Der ESP8266 hat ja einige GPIO's daher würde ich gerne im Idealfall auch nur einen dafür benutzen.

    In diesem Fall würde ich gerne eine Komplettlösung für den Hausflur (Siehe Bild) haben:



    Wäre es möglich das alles an einem ESP8266 zu realisieren?
    Wie setzt man so etwas am besten um?

    Gerade die Klingelerkennung ist mir sehr wichtig. Welche Komponenten bräuchte ich dafür.

    Vielleicht hat jemand so etwas oder einzelne Punkte bereits umgesetzt.

    Vielen Dank schon mal.

sbiermann

Wichtig ist der ESP verträgt nur 3,3V an den GPIOs. Das heißt mehr und das Teil ist gebraten. Dementsprechend muss man genau darauf achten das die Spannung und Stromstärken innerhalb des erlaubten bleiben.

Klingel, Taster und Magnetkontakt sollten eigentlich per Pull-Up oder Pull-Down an einen GPIO angeschlossen werden können. Sprich das wären 3 belegte GPIO Ports. Je nach dem wie man den DHT22 anschließt sind es 2 oder 1 Pin. PIR weiß ich im Moment gar nicht wie viele Kabel der braucht. Anschließen sollte eigentlich machbar sein. Software technisch könnte das interessant werden, man müsste mit Interrupts arbeiten damit die Signale auch alle erfasst werden, mit reinen Lesezyklen und dann benachrichtigen von FHEM könnte es passieren das man ein Signal verpasst.

kmxak

Sollte gehen der PIR braucht auch nur 1 Leitung (und halt  +- aber das ja egal)
Aufgrund der Tapatalk Abschaltung nur noch bedingt erreichbar.

Pf@nne

Moin Rakete,

Zitat von: Rakete0815 am 17 Juli 2017, 13:36:28
Wäre es möglich das alles an einem ESP8266 zu realisieren?
Klar, mit dem ESP könntest du locker einige Saturn5 Raketen zum Mond navigieren..... 8)
Rechenpower und Hardware lassen da keine Wünsche über.

Zitat von: Rakete0815 am 17 Juli 2017, 13:36:28
Wie setzt man so etwas am besten um?
Du muss dir zu Anfang einige Fragen stellen:

  • Welche Versorgungsspannung steht dir zur Verfügung, sinnvolle Batterienutzung fällt momentan noch aus.
  • Wo möchtest du die Schaltung installieren, UP-Dose, kleines Gehäuse?
  • Wie möchtest du den ESP an FHEM anbinden? WEB, UDP, MQTT
  • braucht die Schaltung noch Reserven oder bleibt es bei der Anbindung?

Ich würde einen I2C-Portexpander empfehlen (MCP23017), damit hast du zusätzliche 16-IOs.

Schau mal z.B. hier:

Gruß
Pf@nne
FHEM auf: DS415+ (Master), Raspberry Pi 2

Per

Zitat von: Rakete0815 am 17 Juli 2017, 13:36:28Gerade die Klingelerkennung ist mir sehr wichtig. Welche Komponenten bräuchte ich dafür.
Schau mal hier.
Oder beim DoorPi-Projekt.

Otto123

Zitat von: Rakete0815 am 17 Juli 2017, 13:36:28
Wie setzt man so etwas am besten um?
Hi,

am einfachsten ESPEasy drauf flashen und in FHEM mit dem ESPEasy Modul einbinden.
Was Du hast sind dann zwei Geräte die in ESPEasy direkt unterstützt werden und zweimal einfach Switch Input. Das aufwändigste wird das Netzteil und alles so verpacken, dass es gut aussieht.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Rakete0815

Na das hört sich ja alles schon mal prima an :)
Vielen Dank für die Antworten. Ich werde heute Abend gleich mal die ganzen Links studieren.

Zitat von: Pf@nne am 17 Juli 2017, 20:22:32
  • Welche Versorgungsspannung steht dir zur Verfügung, sinnvolle Batterienutzung fällt momentan noch aus.

Es ist eine Steckdose vorhanden. Daher sollte die Stromversorgung kein Problem darstellen.

Zitat von: Pf@nne am 17 Juli 2017, 20:22:32
  • Wo möchtest du die Schaltung installieren, UP-Dose, kleines Gehäuse?

Das würde ich gerne in ein kleines Gehäuse einbauen.

Zitat von: Pf@nne am 17 Juli 2017, 20:22:32
  • Wie möchtest du den ESP an FHEM anbinden? WEB, UDP, MQTT

Das wäre auch meine Frage  :)

Die wurde aber gerade scheinbar beantwortet:

Zitat von: Otto123 am 18 Juli 2017, 15:44:28
Hi,

am einfachsten ESPEasy drauf flashen und in FHEM mit dem ESPEasy Modul einbinden.

Vielen Dank auch an dich  :)

Zitat von: Pf@nne am 17 Juli 2017, 20:22:32
  • braucht die Schaltung noch Reserven oder bleibt es bei der Anbindung?

Ich denke das wird das Maximum sein was im Flur umgesetzt werden soll.
Die Temperatur im Flur ist mir jetzt auch nicht wirklich wichtig.

Derzeit habe ich noch eine Sirene im Flur über eine Funksteckdose angeschlossen.
Das wollte ich irgendwann noch einmal anders machen, wäre eventuell noch ne Möglichkeit.
Muss aber nicht sein.

Allen anderen auch schon einmal vielen Dank für eure Antworten.

Otto123

So bin ich gestartet -> http://heinz-otto.blogspot.de/2017/01/esp8266-in-fhem.html

Fand ich wirklich einfach. Aber wie immer -> 1000 Wege  8)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Rakete0815

#8
Heute bin ich endlich dazu gekommen einen D1 Mini zu flashen.
Habe testweise mal einen DHT11 angeschlossen. Funktioniert prima.
Ich bin bis jetzt wirklich begeistert und werde wohl noch ein paar von den Minis bestellen.

Nun noch einmal zum Thema:
Neben dem DHT11 (GPIO-12) habe ich einen einfachen Taster (GPIO-0) angeschlossen und als Switch konfiguriert.
Nach jedem Tastendruck wechselt er den Status 0/1. Bei einer Klingel schalte ich aber nichts ein oder aus sondern
es gibt nur einen kurzen Impuls.

Beispiel:
Klingel unberührt: Status 0
Klingel wird betätigt: Status 1
und danach direkt wieder Status 0

Switch input wäre ja falsch oder ? Welches Device müsste ich bei ESP Easy wählen?
Oder wird das in FHEM geregelt (Dummy, DOIF, Event?)

Ich habe gestern einige Teile bestellt.
Sobald die da sind möchte ich die Türklingel entsprechend dieser Anleitung einbinden:
Zitat von: Per am 18 Juli 2017, 13:22:03
Schau mal hier.
:)

Rakete0815

#9
Ich wollte nun den DHT11 in meine Homebridge einbinden. Dachte da an einen Homekittauglichen Dummy.
Leider bekommt der Dummy keine Daten. Wo ist mein Denkfehler?
Oder ist das alles Quatsch und es geht einfacher?

Der Dummy...
define Haustuer.DHT11 dummy
attr Haustuer.DHT11 genericDeviceType thermometer
attr Haustuer.DHT11 homebridgeMapping Tem=temperature Hum=humidity
attr Haustuer.DHT11 icon temp_temperature
attr Haustuer.DHT11 room Homekit
attr Haustuer.DHT11 stateFormat Hum: humidity% - Tem: temperature°C

Soll über diesen Notify...

define Haustuer.DHT11.notify notify ESPEasy_Haustuer_Test:(Tem|Hum).* {\
  fhem("setreading Haustuer.DHT11 $EVENT");;\

Die Daten von diesem DHT11 bekommen:
define ESPEasy_Haustuer_Test ESPEasy IP 80 espBridge Haustuer_Test
attr ESPEasy_Haustuer_Test IODev espBridge
attr ESPEasy_Haustuer_Test Interval 300
attr ESPEasy_Haustuer_Test group ESPEasy Device
attr ESPEasy_Haustuer_Test presenceCheck 1
attr ESPEasy_Haustuer_Test readingSwitchText 1
attr ESPEasy_Haustuer_Test room ESPEasy
attr ESPEasy_Haustuer_Test setState 3


Das State sieht so aus: STATE    Hum: 61.0 Tem: 24.0

Per

Zitat von: Rakete0815 am 23 Juli 2017, 00:31:15
define Haustuer.DHT11.notify notify Haustuer.DHT11.notify notify ESPEasy_Haustuer_Test:(Tem|Hum).* {\
  fhem("setreading Haustuer.DHT11 $EVENT");;\
Wenn es kein cut'n'paste Fehler im Forum ist, könnte
define Haustuer.DHT11.notify notify ESPEasy_Haustuer_Test:(Tem|Hum).* {\
  fhem("setreading Haustuer.DHT11 $EVENT");;\

gehen.

Rakete0815

#11
Danke aber das war es leider nicht. War scheinbar wirklich ein Copy/Paste Fehler habe es korrigiert.

Ich habe es jetzt noch einmal ohne dummy und notify probiert.
Nun habe ich in der Apple Home App zwar dieses Thermometer aber es zeigt 0° an  ???

define ESPEasy_Haustuer_Test ESPEasy IP 80 espBridge Haustuer_Test
attr ESPEasy_Haustuer_Test IODev espBridge
attr ESPEasy_Haustuer_Test Interval 300
attr ESPEasy_Haustuer_Test alias Thermometer Wohnungstür
attr ESPEasy_Haustuer_Test genericDeviceType thermometer
attr ESPEasy_Haustuer_Test group ESPEasy Device
attr ESPEasy_Haustuer_Test homebridgeMapping Tem=temperature Hum=humidity
attr ESPEasy_Haustuer_Test presenceCheck 1
attr ESPEasy_Haustuer_Test readingSwitchText 1
attr ESPEasy_Haustuer_Test room ESPEasy,Homekit
attr ESPEasy_Haustuer_Test setState 3
attr ESPEasy_Haustuer_Test stateFormat Hum: Humidity% - Tem: Temperature°C

Rakete0815

#12
Läuft jetzt. :)
Es lag am HomebridgeMapping.

CurrentTemperature=Temperature CurrentRelativeHumidity=Humidity


So funktioniert es.
Magnetkontakt läuft auch.

Nun fehlen nur noch die bestellten Teil damit es weiter gehen kann.

Rakete0815

#13
So langsam trudeln die Päckchen hier ein.  :)
Ich hoffe, dass ich am Wochenende die Klingelerkennung zusammenbasteln kann.

Nun wird es doch noch etwas interessant... und wieder passend zum Thema "mehrere Sensoren an einem ESP8266".
Ich werde schauen, ob ich das ganze nun wirklich ausreizen kann oder ob ich im Hausflur noch einen zweiten WeMos brauche.

Folgende Sensoren / Aktoren möchte ich verwenden:
Grün = läuft


  • Türkontakt
  • DHT11
  • Klingelerkennung
  • Taster als 2. Klingel Wohnungstür
  • Piezo Alarm über GPIO direkt
  • LED-Blitz der Alarmanlage (12V) über ein Relais-Shield

= 6 GPIO's

Das alles soll in dieses Gehäuse (siehe Anhang):
https://www.reichelt.de/?ARTICLE=62385&PROVID=2788&wt_mc=amc141526782519998&gclid=EAIaIQobChMI4IjU4s2p1QIVzZEbCh27awZdEAkYAiABEgIu1fD_BwE

Desweiteren würde ich noch gerne folgendes Umsetzen:

Ein Stückchen weiter, im Flur, ist an der Decke ein einfacher Rauchmelder angebracht.
Diesen würde ich auch gerne "smart" machen. (Leitung dorthin legen ist kein Problem)

Nun würde ich gerne das Alarmsignal abgreifen (sollte kein Problem sein)
Ich möchte aber auch gerne wissen wann die 9V Batterie leer geht.
Und das aus 2 Gründen:

1. ganz klar die Sicherheit
2. piept das Teil auch wenn die Batterie leer geht, was wiederum bedeutet, dass ich eine PushNachricht (Feuer!) erhalte sofern ich das Signal über den Piezo-Buzzer abgreife.

Daher dachte ich an sowas:

http://www.ebay.de/itm/Spannungssensor-Spannung-Strom-messen-Sensor-Stromsensor-Arduino-Raspberry-Pi-/252715004567?hash=item3ad6fcf297:g:yvQAAOSwxxdZZXER

kann ich das mit dem Wemos Mini nutzen und die Daten über ESPEasy und FHEM auswerten?

Das wären nochmal 2 GPIO's für den Rauchmelder

Und dann könnte man ja in das Rauchmeldergehäuse noch einen PIR-Bewegungssensor (1 GPIO) einbauen.
Zu guter letzt wäre da noch eine indirekte LED-Beleuchtung (einfarbig daher 1 GPIO), die nachts in Verbindung mit dem PIR den Weg zum Bad erleuchten soll  :)

Macht insgesamt 10 GPIOS  ;D  D0-D8 sind ja 9 was ist z.B. mit A0?

Fragen über Fragen mir qualmt schon der Kopf.... und im Hinterkopf sind schon die nächsten Projekte...  ;D

Otto123

Zitatwas ist z.B. mit A0?
Ist der analoge Eingang  8)
Du kannst die GPIOs binär kodieren, da hast Du 2 hoch 9 - sorry liegt wohl am Wisky vor mir  8)
Du kannst einen zweiten Wemos nehmen, da sparst Du Kabel.
Oder D9 (RX) und D10 (TX) - die serielle Schnittstelle.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz