NodeMCU im Garten - wenig Stromverbrauch und mehr GPIOs

Hallo zusammen

bin gerade dabei, meine Gartenbewässerung so zu automatisieren, dass sie selbständig Wasser aus dem Regenwassertank holt, die Tropfberegnung auf Lecks überprüft, die Bodenfeuchte misst, Rückmeldungen an einen Webserver gibt usw.
Momentan verwende ich einen NodeMCU für die Trockenübungen, da er schon WLAN integriert hat.

Folgendes habe ich schon realisiert:

  • das Magnetventil (3 Digital-Pins) wird über einen L298N gesteuert (9V), der dann dem NodeMCU selbst 5V für die Stromversorgung zur Verfügung stellt
  • ein Durchflusssensor (1 Digital-Pin) kontrolliert, ob auch nicht zuviel Wasser durch die Leitungen fließt beim Beregnen (dadurch erkennt das System ein Leck im Schlauch)
  • ein Bodenfeuchtesensor (1 Analog-Pin) hängt am einzigen analogen PIN A0
  • ein nRF24L01-Funkmodul (5 Digital-Pins) steuert einen Arduino Nano, an dem ein Relais hängt, das eine Pumpe für das Regenwasser aktiviert (pumpt dann Wasser vom entfernten großen Tank zum kleinen Tank beim Gemüsegarten) - beim großen Regenwassertank gibt es leider keinen WLAN-Empfang
  • ein Ultraschallsensor (2 Digital-Pins) prüft den Füllstand des kleinen Tanks
  • eine DS3231-RTC (2 Digital-Pins) ist dafür zuständig, dass die Bewässerung auch zur richtigen Uhrzeit stattfindet

Jetzt habe ich 2 Probleme, die ich momentan nicht in den Griff bekomme (Unwissenheit trägt natürlich ihren Teil dazu bei, Tante Google brachte bis jetzt noch nicht DIE Erkenntnis):

  1. ich habe, da vielleicht noch Sensoren dazu kommen) einen MCP23017 Port Expander im Einsatz, weiß jemand, wie ich die Pins dort DIREKT ansprechen kann? Die MCP23017-Library von Adafruit lässt ja einen direct access nicht zu, die Pins lassen sich auch nicht auslesen (wäre für den Ultraschallsensor z.B. sehr hilfreich, oder auch für den GPIO-fressenden nRF24L01).
  2. auch angesichts der fehlenden GPIOs frage ich mich, ob der NodeMCU hier schon der richtige Arduino ist. Ein Mega bietet hier mehr, hat aber kein WLAN (das ich unbedingt brauche), vor allem soll das ganze unabhängig vom Stromnetz mit 9V laufen, was schlagt ihr hier vor?

Vielen vielen Dank!!!

Andreas

ad 2) wenn WLAN Benötigt wird, ist der NodeMCU auf alle Fälle einem Mega vorzuziehen. Die Portexpander hast ja schon entdeckt.

ad 1) ... eigentlich sollte die wire-library reichen. Du musst dich halt durchs Datenblatt quälen, aber imho ist das für diese Teilchen ziemlich gerade aus erreichbar. Ist bei mir schon länger her, aber das schaffst bestimmt!

Hallo,

undee:
Jetzt habe ich 2 Probleme, die ich momentan nicht in den Griff bekomme (Unwissenheit trägt natürlich ihren Teil dazu bei, Tante Google brachte bis jetzt noch nicht DIE Erkenntnis):

  1. ich habe, da vielleicht noch Sensoren dazu kommen) einen MCP23017 Port Expander im Einsatz, weiß jemand, wie ich die Pins dort DIREKT ansprechen kann? Die MCP23017-Library von Adafruit lässt ja einen direct access nicht zu, die Pins lassen sich auch nicht auslesen (wäre für den Ultraschallsensor z.B. sehr hilfreich, oder auch für den GPIO-fressenden nRF24L01).

Die Klasse unterstützt doch die üblichen pinMode/digitalWrite/digitalRead Sachen von Arduino?
Ist doch auch gut im Button-Example zu sehen.

Gruß aus Berlin
Michael

Ein schon recht komplexes System.
Damit wir das besser verstehen, solltest du uns ein Schaltbild oder wenigstens ein Blockschaltbild deines Projektes liefern.

Dann sehen wir auch was du meinst und reden vom selben Teil.

nRF24L01

Schon vorhanden…!!!

Dann ist doch eigentlich ein Netz/Mesh mit diesen Dingern, genau das richtige.
Stromsparender, als mit den Modulen und je einen nackten ATMega328P da dran bekommst du es nicht hin.
An den nackten ATMega328P kannst du einen Uhrenquarz bauen und damit auf die RTC verzichten.

Der Nano verplemtert auch Strom:
Spannungsregler
LEDs
Uart USB Wandler
Unnötig hohe Frequenz

Dein ESP, kann mit einem angebauten nRF24L01+ den Master im Mesh spielen.
Diesen kannst du dann dort montieren, wo Dauer Versorgung existiert.

Ok, ich mach euch 'ne Skizze und einen Schaltplan, dann ist alles klarer. Der Nano hängt übrigens direkt am Strom, der große Wassertank steht direkt neben der Garage.