[Vorstellung] ESP8266 DHT22 akkubetriebener Sensor (z.B. Außensensor)

Begonnen von roman1528, 17 Mai 2016, 10:55:24

Vorheriges Thema - Nächstes Thema

roman1528

Moin.

Ich habe da mal wieder ein bisschen was zusammen gesteckt  ;D
Möglicherweise gibt es hier soetwas ja schon. Trotzdem möchte ich euch meine Variante nicht vorenthalten.

ESP8266 ESP-07 Modul mit angeschlossenem DHT22-Sensor zur Erfassung von Temperatur und Luftfeuchtigkeit.
Alles untergebracht in einem Batteriegehäuse welches die Aufnahme von zwei, parallel geschalteten, 18650 Li-Ion-Akkus ermöglicht.

Der ESP erfasst alle 10 Minuten Temperatur, Luftfeuchtigkeit und Batteriespannung (ADC), sendet diese per HTTP-Request direkt an FHEM und fällt wieder für 10 Minuten in den "deep-sleep"-Modus.
Der DHT22 wird dabei über ein MOSFET geschaltet. Somit ist der DHT22 wärend der "deep-sleep"-Phase deaktiviert und verbraucht keinen Strom.

Zur Zeit warte ich noch auf die Gehäuse um dafür eine passende Platine zu layouten... Diese sieht eine Prammierschnittstelle (TX/RX) sowie einen 3.3V Spannungsregler vor, welcher wahlweise weggelassen werden kann (unbestückt und überbrückt per Lötbrücke). Mein derzeitiger Außensensor (ESP-07 + DS18B20) läuft stabil und zuverlässig mit direkt angelegter Batteirespannung (3 - 4,2V). "Multifunktionale" Pads/Lötaugen zum individuellen Anschluss des DHT22.

Eckdaten/selbst gesetzte Vorraussetzung:

  • mobilität
  • WLAN
  • Energie sparend (lange Akkulaufzeit)
  • Temperaturerfassung
  • Luftfeutigkeitserfassung
  • möglichst genaue Batteriespannungserfassung in mV
  • klein und handlich
  • WLAN-Antenne (optional)
  • OnBoard-Ladegerät

Mein Plan dahinter ist, jeweils einen dieser Sensoren auf der Ost und West-Seite des Gebäudes zu platzieren. In FHEM soll dann von beiden Sensoren eine Durchschnittstemperatur/luftfeuchte ermittelt werden. Wie ich das genau umsetze weiß ich noch nicht.

Hauptbestandteile:

Schaltplan:
Wird neu erstellt

Software:
Läuft bereits... Geschrieben mit ESP8266-Arduino-IDE 2.2.0 in Arduino 1.6.8

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <WiFiClientSecure.h>
#include <base64.h>
#include <DHT.h>

//################################################################################################################################
//############# KONFIGURATION ANFANG: AB HIER ÄNDERUNGEN VERNEHMEN!!! ############################################################

//WiFi
const char*     wifi_ssid     = "YOUR_WIFI_SSID";         //WLAN-SSID
const char*     wifi_psk      = "YOUR_WIFI_PSK";     //WLAN-Passwort

//FHEM-Server
const char*     fhem_ip       = "FHEM_IP";              //FHEM-IP-Adresse
const int       fhem_port     = FHEM_PORT;                       //Port FHEMWEB
String          fhem_device   = "FHEM_DEVICE";               //FHEM-Device in welche die Daten geschrieben werden sollen.
String          fhem_user     = "";                 //FHEM-Benutzername nur eintragen wenn Auth verwendet wird!
String          fhem_passwd   = "";               //FHEM-Passwort nur eintragen wenn Auth verwendet wird!
boolean         ssl           = false;                       //SSL-Verschlüsselung: true = ja; false = nein

//################# KONFIGURATION ENDE: AB HIER NICHTS ÄNDERN!!! #################################################################
//################################################################################################################################

//DHT-Setup
#define DHT_EN 4
#define DHTPIN 5
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

//Variablen
String basic;
String state;
String token = fhem_user + ":" + fhem_passwd;

void setup() {
  //reduce WiFi-Output-Power to save some power
  WiFi.setOutputPower(0);

  //Start WiFi
  WiFi.begin(wifi_ssid, wifi_psk);

  //set GPIO4 as input
  pinMode(DHT_EN, OUTPUT);

  //check if WiFi is connected, else wait
  while (WiFi.status() != WL_CONNECTED) {
    delay(250);
  }
}

void loop() {
  //set GPIO 4 HIGH to power DHT
  digitalWrite(DHT_EN, HIGH);

  //start DHT
  dht.begin();

  //wait some time for DHT comes up
  delay(1000);

  //read all needed data
  float temp = dht.readTemperature(); //temperature
  float hum = dht.readHumidity();     //hunidity
  int bat = analogRead(A0);           //voltage

  //math battery-voltage
  bat = bat / 0.2;

  //base64 fhemuser and fhempasswd
  if (fhem_user != "") {
    basic = base64::encode(token);
  }

  //if no temp or hum set the state to dht_error
  if (isnan(temp) || isnan(hum)) {
    state = "dht_error";

    if (ssl == true) {
      //start client
      WiFiClientSecure client;

      //wait for server-connection
      while (!client.connect(fhem_ip, fhem_port)) {
        delay(250);
      }

      //create a URI for the request
      String url = "/fhem?cmd=set%20" + fhem_device + "%20";
      url += state;
      url += "%3Bsetreading%20" + fhem_device + "%20battery%20";
      url += bat;
      url += "&XHR=1";

      if (basic != "") {
        //send request
        client.print(String("GET ") + url + " HTTP / 1.1\r\n" +
                     "Authorization: Basic " + basic + "\r\n" +
                     "Connection: close\r\n" +
                     "Accept: */*\r\n\r\n");
      }
      else {
        //send request
        client.print(String("GET ") + url + " HTTP/1.1\r\n" +
                     "Connection: close\r\n" +
                     "Accept: */*\r\n\r\n");
      }
    }
    else {
      //start client
      WiFiClient client;

      //wait for server-connection
      while (!client.connect(fhem_ip, fhem_port)) {
        delay(250);
      }

      //create a URI for the request
      String url = " / fhem ? cmd = set%20" + fhem_device + "%20";
      url += state;
      url += "%3Bsetreading%20" + fhem_device + "%20battery%20";
      url += bat;
      url += "&XHR=1";

      if (basic != "") {
        //send request
        client.print(String("GET ") + url + " HTTP / 1.1\r\n" +
                     "Authorization: Basic " + basic + "\r\n" +
                     "Connection: close\r\n" +
                     "Accept: */*\r\n\r\n");
      }
      else {
        //send request
        client.print(String("GET ") + url + " HTTP/1.1\r\n" +
                     "Connection: close\r\n" +
                     "Accept: */*\r\n\r\n");
      }
    }
  }

  //if temperature and humidity, send all data
  else {
    state = "ok";

    if (ssl == true) {
      //start client
      WiFiClientSecure client;

      //wait for server-connection
      while (!client.connect(fhem_ip, fhem_port)) {
        delay(250);
      }

      //create a URI for the request
      String url = "/fhem?cmd=set%20" + fhem_device + "%20";
      url += state;
      url += "%3Bsetreading%20" + fhem_device + "%20temperature%20";
      url += temp;
      url += "%3Bsetreading%20" + fhem_device + "%20humidity%20";
      url += hum;
      url += "%3Bsetreading%20" + fhem_device + "%20battery%20";
      url += bat;
      url += "&XHR=1";

      if (basic != "") {
        //send request
        client.print(String("GET ") + url + " HTTP / 1.1\r\n" +
                     "Authorization: Basic " + basic + "\r\n" +
                     "Connection: close\r\n" +
                     "Accept: */*\r\n\r\n");
      }
      else {
        //send request
        client.print(String("GET ") + url + " HTTP/1.1\r\n" +
                     "Connection: close\r\n" +
                     "Accept: */*\r\n\r\n");
      }
    }
    else {
      //start client
      WiFiClient client;

      //wait for server-connection
      while (!client.connect(fhem_ip, fhem_port)) {
        delay(250);
      }

      //create a URI for the request
      String url = "/fhem?cmd=set%20" + fhem_device + "%20";
      url += state;
      url += "%3Bsetreading%20" + fhem_device + "%20temperature%20";
      url += temp;
      url += "%3Bsetreading%20" + fhem_device + "%20humidity%20";
      url += hum;
      url += "%3Bsetreading%20" + fhem_device + "%20battery%20";
      url += bat;
      url += "&XHR=1";

      if (basic != "") {
        //send request
        client.print(String("GET ") + url + " HTTP / 1.1\r\n" +
                     "Authorization: Basic " + basic + "\r\n" +
                     "Connection: close\r\n" +
                     "Accept: */*\r\n\r\n");
      }
      else {
        //send request
        client.print(String("GET ") + url + " HTTP/1.1\r\n" +
                     "Connection: close\r\n" +
                     "Accept: */*\r\n\r\n");
      }
    }
  }

  //power off the DHT
  digitalWrite(DHT_EN, LOW);

  //go to deep-sleep for 10min.
  ESP.deepSleep(10 * 60 * 1000 * 1000, WAKE_RF_DEFAULT);
}


Zum programmieren wird ein USB->Serial/UART-Adapter benötigt. WICHTIG: Er muss mit 3.3V kompatibel sein! Mehr verträgt der ESP nicht.
Einrichtung ESP-Arduino-IDE: Install ESP8266-Arduino-IDE with Arduino Boards-Manager

Platine: bekommt noch eine kleine Beauty-Behandlung...
(https://forum.fhem.de/index.php?action=dlattach;topic=53497.0;attach=52530) (https://forum.fhem.de/index.php?action=dlattach;topic=53497.0;attach=52532)
(https://forum.fhem.de/index.php?action=dlattach;topic=53497.0;attach=52534) (https://forum.fhem.de/index.php?action=dlattach;topic=53497.0;attach=52536)
(https://forum.fhem.de/index.php?action=dlattach;topic=53497.0;attach=52538)

Um eine Vorstellung zu bekommen wie es im Gehäuse aussieht:
(https://forum.fhem.de/index.php?action=dlattach;topic=53497.0;attach=52542)

Abstand ESP <-> DHT:
Mit in etwa dem gleichen Abstand wie auf der Platine läuft mein Testaufbau seit ca. 3 Tagen ohne große Probleme oder Abweichungen.

Inspiriert durch:
tzapu.com minimalist-battery-powered-esp8266-wifi-temperature-logger
blog.thomasheldt.de esp8266-am2302dht22-sensor-mit-akkubetrieb


Sobald ich alle Teile inkl. Platine und Co. zusammen habe bestellen kann... mangels Geld, kann ich in etwa abschätzen wie hoch die Kosten pro komplettem Sensor ausfallen. Gern biete ich euch dann den Sonsor als Bausatz, Fertiggerät oder auch Einzelteile davon an. ;)

Ich halte euch auf dem Laufenden  ;D

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

roman1528

Ideen zur Erweiterung/Änderung:

  • Onboard Ladegerät für 18650 Akku's mit Micro-USB-Anschluss. <- ERLEDIGT
  • LDO-Spannungsregler XC6210B33 <- ERLEDIGT
  • Programmkonfiguration (basic, SSL, user, passwd, device) vereinfachen. <- ERLEDIGT

Diese Ideen sind erstmal nur in meinem Kopf... Ich muss schauen ob diese noch Platz im Gehäuse finden, technisch nicht zu aufwändig sind.....
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

roman1528

i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

tomster

Das klingt hervorragend!

Das muss ich mir Mal genauer anschauen und sehen, ob man das auch für den von mir gestern bestellten Bodenfeuchtesensor adaptieren kann:
https://www.tindie.com/products/AprilBrother/esp-soil-moisture-sensor/

roman1528

Zitat von: tomster am 17 Mai 2016, 11:09:58
Das klingt hervorragend!

Das muss ich mir Mal genauer anschauen und sehen, ob man das auch für den von mir gestern bestellten Bodenfeuchtesensor adaptieren kann:
https://www.tindie.com/products/AprilBrother/esp-soil-moisture-sensor/

Das Teil sieht interessant aus... Man könnte evtl. einen Anschluss bereit stellen um meinen Sensor mit einem "Bodenfeuchte-Messstab" zu erweitern...
In erster Linie versuche ich ja aber einen kleinen, mobilen Sensor für Luftfeuchte und Temperatur zu bauen.
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

tomster

Das wäre natürlich oberspitze!

Ich hab mir die Schaltung des Bodenfeuchtesensors noch nicht genau angeschaut, aber gestern auch schon überlegt, ob es nicht sinnvoll wäre nicht nur den ESP in deep sleep zu schicken, sondern quasi fast die ganze Schaltung.
Das oben verlinkte Projekt basiert übrigens auf diesem Projekt:
https://www.tindie.com/products/miceuz/i2c-soil-moisture-sensor/

Das wäre ja eigentlich schon ziemlich genau, die von Dir angedachte "Erweiterungsmöglichkeit", oder?

roman1528

Zitat von: tomster am 17 Mai 2016, 11:24:47
Das wäre natürlich oberspitze!

Ich hab mir die Schaltung des Bodenfeuchtesensors noch nicht genau angeschaut, aber gestern auch schon überlegt, ob es nicht sinnvoll wäre nicht nur den ESP in deep sleep zu schicken, sondern quasi fast die ganze Schaltung.
Das oben verlinkte Projekt basiert übrigens auf diesem Projekt:
https://www.tindie.com/products/miceuz/i2c-soil-moisture-sensor/

Das wäre ja eigentlich schon ziemlich genau, die von Dir angedachte "Erweiterungsmöglichkeit", oder?

Ich hatte jetzt überlegt einfach einen Anschluss bereit zu stellen um die "Spitze" des Sensors zu supporten... Hat sich aber erledigt da der Soil-Sensor den ADC-Eingang des ESP nutzt. Diesen nutze ich bereits für die Erfassung der Batteriespannung.
Was du dann machen könntest wäre, den I2C-Soil-Sensor zu nehmen, an den ESP anschließen (die Anschlüsse um einen I2C zu verwenden bleiben bei mir frei) und das Programm dahingehen ändern.
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

tomster

Yepp, das wäre ein Ansatz. Ich überleg mir Mal, wie das aussehen könnte.

Bliebe aber noch das Problem mit einem Gehäuse. Ich hab ein bissl Sorge, dass der Sensor/ Schaltung nicht vernünftig gegen eintretende Feuchtigkeit geschützt werden kann. Drum bin ich auf die verlinkten Projekte gegangen, weil diese kapazitiv arbeiten und mit einem Schutzlack überzogen werden können. Die sonst rumschwirrenden "EinsFuffzich"-Bodenfeuchtesensoren arbeiten ja resistiv und sollen in nullkommanix korrodieren.
Leider habe ich keinen 3D-Printer, geschweige Erfahrung damit, aber damit könnte man vielleicht ein halbwegs dichtes Gehäuse druckern.

Ich bin aber gerade auch auf diesen Sensor gestossen:
http://www.dfrobot.com/index.php?route=product/product&search=SEN0193&product_id=1385
http://www.dfrobot.com/wiki/index.php?title=Capacitive_Soil_Moisture_Sensor_SKU:SEN0193

Der ist ein bissl günstiger (braucht auber auch den ADC-Pin) und etwas kleiner. Es gäbe aber schon eine Gehäusevorlage:
https://www.3dhubs.com/talk/thread/solid-enclosure-dfrobotics-sen-0193-capacitive-soil-moisture-sensor

Ich werde das Mal gedanklich ein bisschen reifen lassen und dann sehen, welchen Sensor ich bestelle.

roman1528

Zitat von: tomster am 17 Mai 2016, 12:08:10
Yepp, das wäre ein Ansatz. Ich überleg mir Mal, wie das aussehen könnte.

Bliebe aber noch das Problem mit einem Gehäuse. Ich hab ein bissl Sorge, dass der Sensor/ Schaltung nicht vernünftig gegen eintretende Feuchtigkeit geschützt werden kann. Drum bin ich auf die verlinkten Projekte gegangen, weil diese kapazitiv arbeiten und mit einem Schutzlack überzogen werden können. Die sonst rumschwirrenden "EinsFuffzich"-Bodenfeuchtesensoren arbeiten ja resistiv und sollen in nullkommanix korrodieren.
Leider habe ich keinen 3D-Printer, geschweige Erfahrung damit, aber damit könnte man vielleicht ein halbwegs dichtes Gehäuse druckern.

Ich bin aber gerade auch auf diesen Sensor gestossen:
http://www.dfrobot.com/index.php?route=product/product&search=SEN0193&product_id=1385
http://www.dfrobot.com/wiki/index.php?title=Capacitive_Soil_Moisture_Sensor_SKU:SEN0193

Der ist ein bissl günstiger (braucht auber auch den ADC-Pin) und etwas kleiner. Es gäbe aber schon eine Gehäusevorlage:
https://www.3dhubs.com/talk/thread/solid-enclosure-dfrobotics-sen-0193-capacitive-soil-moisture-sensor

Ich werde das Mal gedanklich ein bisschen reifen lassen und dann sehen, welchen Sensor ich bestelle.

Der I2C-Sensor den du da zuerst hattes (Beitrag weiter oben) arbeitet auch Kapazitiv und wie du sagst soll er ja mit einem Schutzlack überzogen sein. Man liest dann aber auch, dass das nicht immer gut funktionieren/schützen soll.
Es gibt (im Fachhandel) Plastik aus der Dose. https://www.conrad.de/de/leiterplattenlack-cramolin-plastik-1201611-400-ml-820561.html
Damit könnte man den Bereich mit der Elektronik nochmal zusätzlich schützen. Habe damit bisher gute Erfahrungen gemacht. (Abgeplatzte Kunstoffummantelung eines Geschirrkorbs aus einem Geschirrspühler) Hier hat das durch die krassen Temperaturunterschiede natürlich nicht lange gehalten... Aber in diesem Fall sehe ich da keine krassen Temperaturschwankungen.

Und die 2 Strippen aus meinem Sensor-Gehäuse heraus zu führen und den Sensor etwas abseits zu platzieren wäre ja nur 'ne Kleinigkeit.

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

arestant

Hört sich wirklich interessant an!

Hast du schon Erfahrungen, wie lange die Akkus durchhalten?

Ach, und bevor du anfängst zu layouten... Die Akkus  in dem Schaltplan sind in der Reihe geschaltet und nicht parallel :)

Gruß
Paul

tomster

Ja, das mit dem Schutzlack war auch meine Idee. Der Satz mit resistiv bezog sich auf diese Art von (sehr oft verwendeten) Sensoren:
http://www.ebay.com/itm/Soil-Moisture-Sensor-Hygrometer-Detection-Module-for-Arduino-/190934251534?hash=item2c7491780e:g:GVUAAOxye2lSX6RD
nicht die beiden von mir verlinkten.

Nix desto Trotz werde ich Dein Projekt sicher bei der Umsetzung verwenden. Mal schauen, ob sich noch jemand mit 3D-Drucker finden lässt, der ein Gehäuse layouten kann. Geht aber natürlich erst, wenn Deine Platine fertig ist...


roman1528

Zitat von: arestant am 17 Mai 2016, 12:31:58
Hört sich wirklich interessant an!

Hast du schon Erfahrungen, wie lange die Akkus durchhalten?

Ach, und bevor du anfängst zu layouten... Die Akkus  in dem Schaltplan sind in der Reihe geschaltet und nicht parallel :)

Gruß
Paul

Moin... Danke für den Hinweis!!!

Aktuell habe ich den ESP-07 mit dem DS18B20 draußen. Der Akku hat eine Kapizität von ca. 2200mAh und läuft seit ca. 4 Wochen und ist immernoch bei 3800mV.
Da ich in den neuen Gehäausen 2 Stk. 3400mAh Akkus einsetzen möchte sollten diese dementsprechen lange / länger halten obwohl der Verbrauch durch längere Programmlaufzeit mit DHT22 höher ausfällt.

Man kann sehr schön beobachten wie die Spannung bei Temperaturunterschieden schwankt XD

Die Schutzschaltung in dem aktuell verwendeten Akku ist leider etwas schlecht. Diese schaltet den Akku bei bereits ca. 3300mV ab obwohl man getrost bis 2900mV gehen könnte. Deswegen sollen es Panasonic-Akkus werden, die Qualitativ besser sind.
Der DS18B20 stellt seinen Dienst leider schon bei ca. 3200mV ein (Messwerte sehr ungenau und stark schwankend)
Der DHT22 soll mit 3 - max 5.5V gut arbeiten. Soweit habe / konnte ich allerdings noch nicht testen.

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

pink99panther

Hallo roman1528,

ich will Dich ja nicht entmutigen, aber Deepsleep beim ESP und DHT22 macht oft Probleme.
Ich hab das selbst schon erfahren und im nachhinein auch entsprechende Beiträge im Internet gefunden.
Bevor Du eine Platiene machst solltest Du mal für längere Zeit einen Versuchsaufbau betreiben.

Gruß
Manfred

roman1528

Zitat von: pink99panther am 17 Mai 2016, 20:48:03
Hallo roman1528,

ich will Dich ja nicht entmutigen, aber Deepsleep beim ESP und DHT22 macht oft Probleme.
Ich hab das selbst schon erfahren und im nachhinein auch entsprechende Beiträge im Internet gefunden.
Bevor Du eine Platiene machst solltest Du mal für längere Zeit einen Versuchsaufbau betreiben.

Gruß
Manfred

Okay  :o
Kannst du einige Beispiele nennen? Was genau da Probleme macht?
Mein Test-Aufbau (mit FET und festspannungsquelle.) läuft aktuell seit 3 Tagen durchgehen. Als Vergleichswert habe ich leider nur einen DS18B20 aber die Abweichungen liegen meines Erachtens in annehmbaren Toleranzen.

Würde mich interessieren was da ärger macht. Könnte mir vorstellen dass das bei mir nicht unbedingt auftritt dadurch dass ich den DHT schalte. Er somit jedes mal neu gestartet wird...
Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

pink99panther

Ich hatt ESPeasy auf dem Chip.
Ohne deep sleep geht das gut mit dem DHT22.

Aber schau mal hier: http://lmgtfy.com/?q=esp8266+dht22+deep+sleep+hangs

P.S. mit dem DS18B20 arbeite ich auch teilweise. Da gibt es diese Probleme nicht.