[Projekt] ESP8266 Windmesser zur Markisensteuerung

Begonnen von sbiermann, 02 Mai 2017, 16:24:54

Vorheriges Thema - Nächstes Thema

mb3000

Hallo zusammen,
erstmal dank an sbiermann für die Veröffentlichung. Bei mir hat alles auf Anhieb funktioniert, sehr gute Beschreibung. Ich nutze einen NodeMCU Amica. Allerdings habe ich ein Problem und versuche es gerade zu lösen. Im Moment liegt der Sensor im Arbeitszimmer, so dass ich die Software noch anpassen kann. Läuft Sensor und NodeMCU länger als 8h (also ohne Wind) kommen keine Windgeschwindigkeiten mehr an (Geschwindkeit 0.00). Ich gehe davon aus, dass der Interrupt nicht mehr ausgelöst wird. Erste Gedanken sind, dass vielleicht bei mir einen externen Pull Up Widerstand benötige. Hat jemand ein vergleichbares Problem?

Viele Grüße

sbiermann

Nee, ich habe nur das Problem das hin und wieder das Netzwerk wegbricht. Aber das haben alle Geräte die da in der Ecke hängen. Ist halt außerhalb des Gebäudes und dazu noch gut isoliert was Strahlung angeht (bedampfte Fenster, verzinktes Blech, usw.).
Ansonsten tut der Sensor aber immer seinen Dienst, meldet alle 10 Sekunden seinen Wert und dieser ändert sich auch regelmäßig.

Topgun

Da ich im Forum nach meiner Lösung gefragt wurde und diese mit einem Wemos D1 mini realisiert wurde, stelle ich sie hier einfach mal ein:

Hardware:
- Eltako Windsensor (ca 50 Euro): https://www.amazon.de/Eltako-Windsensor-WS/dp/B0018LBFG8
- Wemos D1 mini (ca 2,50 Euro): https://www.ebay.de/itm/162809655148 (das Development Board auswählen, die Antenne benötigt ihr nicht)

Schaltplan:
Den Windsensor zwischen Masse (G) und D4 anschließen. Es gehen auch andere Pins, aber so sieht man am Blinken der LED des ESP8266 gleich, ob die Erfassung funktioniert.

Programmierung (mit ESPhome):

esphome:
  name: windsensor
  platform: ESP8266
  board: d1_mini

wifi:
  ssid: "xxxxx"
  password: "xxxxx"

# Enable logging
logger:
  level: INFO
  logs:
    mqtt.client: ERROR

ota:
  password: "xxxxx"

web_server:
  port: 80

mqtt:
  broker: 192.168.0.1
  username: xxxxx
  password: xxxxx
  id: mqtt_client
  log_topic:
    topic: fhem/windsensor
  birth_message:
    topic: fhem/windsensor
    payload: online
  will_message:
    topic: fhem/windsensor
    payload: offline

sensor:
  - platform: pulse_counter
    name: Windgeschwindigkeit
    id: windsensor
    pin:
      number: D4
      mode: INPUT_PULLUP
    unit_of_measurement: rps
    update_interval: 10s
    filters:
      - multiply: 0.016666666
      - lambda: return (x/4);


Ich lasse mir derzeit nicht die Windgeschwindigkeit sondern die Umdrehungen pro Sekunde - gemittelt über 10 Sekunden (update_interval) - ausgeben.
Die IP des brokers sollte die des FHEM Servers sein.

In FHEM muss dann noch ein MQTT-Server erstellt werden:
defmod myBroker MQTT2_SERVER 1883 global

Sobald der ESP8266 Daten über MQTT sendet, taucht das Device in FHEM auf. Im Reading state steht dann die Umdrehungen pro Sekunde.

PSI69

Ich hole dieses ältere Ding noch einmal hoch...

Den Windmesser mit einem Wemos D1 Mini und dem verlinktem Eltako Windmesser habe ich gerade frei verdrahtet aufgebaut. Beim Messen ist mir aufgefallen, dass mein Exemplar genau zwei Impulse pro Umdrehung abgibt. Das habe ich auch so in den Defs eingetragen (number_reed = 2).

Wenn ich den Eltako jetzt (aus meiner Sicht) verdammt schnell anschupse, dann kommen im Schnitt 20 - 25 km/h heraus.

Ich frage mich jetzt, ob das so richtig ist...

Wer hat das nachgabaut und kann mich erhellen?

Danke Peter
FHEM auf RPi 5 unter Bookworm mit inzwischen einem ganzen Zoo von Geräten...

Topgun

An der wirklichen Windgeschwindkeit saß ich auch eine Weile dran, habe es dann aber aufgegeben. Denke dafür braucht man ein "Referenzwind", in den man den Windmesser hält und ein paar Windgeschwindigkeiten erfasst. Dann kann man eine Formel dafür entwickeln.

Mir ging es eher darum, ab wann die Markise automatisch rein fahren muss. Und da habe ich einfach geschaut, wann der "Grenzwert" der Markise erreicht ist (egal wie schnell der Wind ist) und habe daraus ein DOIF gemacht.

Ranseyer

Zitat von: Topgun am 18 Oktober 2020, 17:21:14
Denke dafür braucht man ein "Referenzwind", in den man den Windmesser hält und ein paar Windgeschwindigkeiten erfasst. Dann kann man eine Formel dafür entwickeln.


Wenn das jemand will, möglicherweise kein Problem... mir ist dabei sofort die Story einfallen von jemandem der vor 20 Jährchen sowas entwickelt hatte...:
"Den Windmesser aus dem Auto halten und ein paaar Geschwindigkeiten probieren"
8) 8) 8)
Achtung geltendes Recht dabei einhalten ! PS: Und heute sieht man die tatsächliche Geschwindigkeit im GPS Empfänger statt dem falschen Tacho...
FHEM mit FTUI. Homematic-Funk für Thermostate und Licht. MySensors als Basis für eigene HW.
Zentrale ist der MAPLE-CUL mit RFM69+HModUART-AddOn.
Doku zu meinen Projekten: Github/Ranseyer. Platinen falls verfügbar gerne auf Anfrage.
Support: gerne wenn ich Zeit+Lust habe im Forum. Nicht per PN!