Inhaltsverzeichnis:

ESP32 WiFi BODENFEUCHTIGKEITSSENSOR - Gunook
ESP32 WiFi BODENFEUCHTIGKEITSSENSOR - Gunook

Video: ESP32 WiFi BODENFEUCHTIGKEITSSENSOR - Gunook

Video: ESP32 WiFi BODENFEUCHTIGKEITSSENSOR - Gunook
Video: Wi-fi Soil Moisture Sensor with ESPHome 2024, November
Anonim
ESP32 WiFi BODENFEUCHTIGKEITSSENSOR
ESP32 WiFi BODENFEUCHTIGKEITSSENSOR

Billige Bodenfeuchtesensoren, die ein elektrisches Signal durch den Boden senden, um den Widerstand des Bodens zu messen, versagen alle. Durch die Elektrolyse sind diese Sensoren praktisch unbrauchbar. Weitere Informationen zur Elektrolyse finden Sie hier. Der in diesem Projekt verwendete Sensor ist ein kapazitiver Sensor und kein leitfähiges Metall kommt mit nassem Boden in Kontakt.

Nach dem Laden der Firmware (Arduino-Skizze) erstellt der Sensor einen Webserver auf sich selbst und loggt sich in Ihren WLAN-Router ein. Sie können nun auf die Webseite des ESP32-Sensors zugreifen. Es werden keine Daten an die Cloud gesendet.

Etwas Vertrautheit mit Arduino-Programmierung, Lötkenntnissen und HTML usw. kann hilfreich sein. Wenn Sie dieses Projekt erstellen, laden Sie bitte Fotos über den Upload-Link unten hoch. Viel Spaß beim Hacken.

Dieser Sensor kann lesen:

  1. Bodenfeuchte (Mein Code berechnet den gravimetrischen Bodenwassergehalt)
  2. Lufttemperatur und relative Luftfeuchtigkeit

Lieferungen

  1. Wemos® Higrow ESP32 WiFi + Bluetooth-Batterie + DHT11 Bodentemperatur- und Feuchtigkeitssensormodul
  2. Zur Datenaufzeichnung (optional)

    • ein Micro-SD-Kartenmodul.
    • Brotbrett und ODER
    • Lötkolben, Lötpaste.
    • Sechs weibliche zu männliche Überbrückungskabel.

Schritt 1: INSTALLIEREN UND KONFIGURIEREN SIE DIE ARDUINO IDE AUF IHREM PC/MAC

INSTALLIEREN UND KONFIGURIEREN SIE DIE ARDUINO IDE AUF IHREM PC/MAC
INSTALLIEREN UND KONFIGURIEREN SIE DIE ARDUINO IDE AUF IHREM PC/MAC
INSTALLIEREN UND KONFIGURIEREN SIE DIE ARDUINO IDE AUF IHREM PC/MAC
INSTALLIEREN UND KONFIGURIEREN SIE DIE ARDUINO IDE AUF IHREM PC/MAC
INSTALLIEREN UND KONFIGURIEREN SIE DIE ARDUINO IDE AUF IHREM PC/MAC
INSTALLIEREN UND KONFIGURIEREN SIE DIE ARDUINO IDE AUF IHREM PC/MAC

Dieses Setup-Verfahren sollte auf einem Windows-PC, MAC und LINUX (x86)-System funktionieren. Leider sind für Raspberry PI-Benutzer die LINUX (ARM)-Bibliotheken für das ESP32-Board noch nicht verfügbar (obwohl es wirklich kluge Leute gab, die sie aus dem Quellcode kompiliert haben).

  1. Laden Sie die Arduino-IDE herunter und installieren Sie sie
  2. Fügen Sie im Menü Einstellungen https://dl.espressif.com/dl/package_esp32_index.json zur URL des zusätzlichen Boards-Managers hinzu.
  3. Installieren Sie die ESP32-Bibliotheken über Tools> Board> Boards Manager. Suche nach esp32 von espressif systems
  4. Wählen Sie Ihr Board im Menü aus: Tools>Board>"WeMos" WiFi & Bluetooth Battery
  5. Installieren Sie die erforderlichen DHT11-Bibliotheken über Tools>Bibliotheken verwalten…

    1. Sie müssen die DHT-Sensorbibliothek von Adafruit Version 1.3.7 (oder höher?) installieren
    2. Sie müssen Adafruit Unified Sensor von Adafruit Version 1.0.3 installieren

Schritt 2: BEFESTIGEN SIE DIE MICRO-SD-KARTE ZUM AUFZEICHNEN (OPTIONAL)

Wenn Sie Ihre Daten protokollieren müssen, schließen Sie ein Pololu Micro SD-Kartenmodul an. Andere SD-Karten können eine andere Verkabelung und einen anderen Code haben.

Schritt 3: LADEN SIE DIE ARDUINO-SKIZZE HERUNTER

LADEN SIE DIE ARDUINO-SKIZZE HERUNTER
LADEN SIE DIE ARDUINO-SKIZZE HERUNTER
LADEN SIE DIE ARDUINO-SKIZZE HERUNTER
LADEN SIE DIE ARDUINO-SKIZZE HERUNTER
  1. Laden Sie die entsprechende Arduino-Skizze von GitHub herunter und öffnen Sie sie.

    1. Esp32_SoilMoisture_WebServer.ino sollte verwendet werden, wenn kein Micro-SD-Kartenmodul angeschlossen ist.
    2. Esp32_SoilMoisture_WebServer_DataLog.ino erfordert eine Micro-SD-Karte und setzt den Internetzugriff auf den NTP-Server fort. Diese Option hat eine sehr genaue Zeit, verbraucht jedoch viel Strom und kann die Batterie entladen.
    3. Esp32_SoilMoisture_WebServer_DataLog_Int_RTC.ino erfordert nach dem Zurücksetzen eine Micro-SD-Karte und Internetzugriff auf den NTP-Server. Es verwendet die interne RTC des ESP32, um das Datum/die Uhrzeit zu aktualisieren, die beim Zurücksetzen vom NTP-Server empfangen wurden. Dies ist die energieeffizienteste Lösung, aber die Zeit ist möglicherweise nicht so genau.
  2. Bearbeiten Sie Ihre Router-SSID und Ihr Passwort in der Skizze.
  3. Kompilieren Sie die Skizze, während Sie die Boot-Taste drücken.
  4. Wenn das Kompilieren erfolgreich ist, drücken Sie die EN-Taste und starten Sie sofort den Arduino Serial Monitor (115200 Baudrate)
  5. Warten Sie, bis die blaue LED an- und ausgeht
  6. Lassen Sie sich die IP-Adresse im seriellen Monitor ausdrucken und geben Sie sie in Ihren Browser ein. Sie sehen nun die Sensordaten-Webseite.
  7. Wenn Sie den Micro-SD-Kartenleser hinzugefügt und eine der entsprechenden Arduino-Skizzen zusammengestellt haben, können Sie auf Ihre Daten in /datalog.txt Ihrer Micro-SD-Karte zugreifen.

Schritt 4: GRAVIMETRISCHE WASSERGEHALTS-KALIBRIERUNG

GRAVIMETRISCHE WASSERGEHALTS-KALIBRIERUNG
GRAVIMETRISCHE WASSERGEHALTS-KALIBRIERUNG

Wie soll ich den Bodenfeuchtigkeitsmesswert von GPIO 32 interpretieren?

Eine Methode besteht darin, den gravimetrischen Wassergehalt des Bodens zu berechnen. Es wird berechnet als:

(Masse des Wassers in der Bodenprobe)/(Masse des trockenen Bodens in der Probe)

Ich habe trockene Erde aus meinem Garten gesammelt (es ist Limpopo, Südafrika, Augustmonat und die Erde ist trocken, wirklich trocken). Sie können Erde in einem Ofen trocknen.

  1. Beschwere deine trockene Erde
  2. Gießen Sie die trockene Erde in einen Behälter, stecken Sie den Sensor in die Erde und nehmen Sie einen Rohsensormesswert vor (verwenden Sie die Weboberfläche). Notieren Sie die Wassermasse (=0 in diesem Stadium) und den Sensormesswert.
  3. Entfernen Sie den Sensor, fügen Sie 10 ml (Gramm) Wasser hinzu, mischen Sie Erde und Wasser richtig und notieren Sie Ihre Wassermasse (=10 zu diesem Zeitpunkt) und den Sensorwert.
  4. Fahren Sie mit diesem Vorgang so weit fort, wie Sie möchten, oder bis das Hinzufügen von Wasser den Sensorwert nicht mehr beeinflusst.
  5. Meine Ergebnisse stehen in der angehängten Excel-Tabelle. GWC wird berechnet als gwc=exp(-0.0015*SensorValue + 0.7072)

Schritt 5: Zukünftige Entwicklungen

Zukünftige Entwicklungen
Zukünftige Entwicklungen
  1. Schließen Sie eine externe RTC (Real Time Clock) an. Derzeit wird NTP (Network Time Protocol) verwendet, um die Zeit für die Datenprotokollierung zu erhalten. Dies erfordert WLAN und ist stromintensiv
  2. Fügen Sie Drucktasten hinzu, um das WLAN und den Webserver zu starten und zu stoppen, um den Akkuverbrauch zu sparen.
  3. Fügen Sie ein GPRS-Modul hinzu und deaktivieren Sie WLAN. Dadurch wird Strom gespart.

Empfohlen: