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:
- DHT22: DHT22 bei Aliexpress (http://www.aliexpress.com/item/Free-Shipping-1pcs-DHT22-digital-temperature-and-humidity-sensor-Temperature-and-humidity-module-AM2302-replace-SHT11/2016229715.html?ws_ab_test=searchweb201556_0,searchweb201602_5_10037_10017_10021_507_10022_10032_10020_10009_10008_10018_10019,searchweb201603_6&btsid=e29b066a-c3f7-4106-9a61-77767b32df04)
- Gehäuse: Gehäuse bei Aliexpress (http://www.aliexpress.com/item/1pc-18650-Battery-Case-2-x-Parallel-Connection-DIY-Case/1347407234.html)
- ESP-07: ESP-07 bei Aliexpress (http://www.aliexpress.com/item/ESP8266-serial-WIFI-model-ESP-07-Authenticity-Guaranteed/32646257192.html?ws_ab_test=searchweb201556_0,searchweb201602_5_10037_10017_10021_507_10022_10032_10020_10009_10008_10018_10019,searchweb201603_6&btsid=fd10da32-fce2-44f6-b588-1a82b81bd2f8)
- 18650 Li-Ion: 18650 bei Aliexpress (http://www.aliexpress.com/item/1PCS-100-New-Original-18650-3-7V-3400mah-NCR18650B-Lthium-Battery-protection-board/32601577999.html?ws_ab_test=searchweb201556_0,searchweb201602_5_10037_10017_10021_507_10022_10032_10020_10009_10008_10018_10019,searchweb201603_6&btsid=87094f41-02cc-456c-a1b9-0127980c63d9)
- Platine....
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 (https://github.com/esp8266/Arduino#installing-with-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 (https://tzapu.com/minimalist-battery-powered-esp8266-wifi-temperature-logger/)
blog.thomasheldt.de esp8266-am2302dht22-sensor-mit-akkubetrieb (http://blog.thomasheldt.de/esp8266-am2302dht22-sensor-mit-akkubetrieb-start/)
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^^
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.....
RESERVIERT
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/
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.
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?
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.
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.
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 (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^^
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
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...
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^^
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
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^^
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 (http://lmgtfy.com/?q=esp8266+dht22+deep+sleep+hangs)
P.S. mit dem DS18B20 arbeite ich auch teilweise. Da gibt es diese Probleme nicht.
Hallo,
sehr interessant.
Bin wirklich gespannt wie lange die Batterien/Akkus halten.
Hatte mal mit ESP und DHT11 einen Feuchtigkeitssensor gebastelt.
Hatte auch Probleme (aber nicht nur mit dem DHT) mit Aufwachen aus dem DeepSleep.
Daher habe ich zuletzt die ganze Schaltung per ATtiny und FET ein und ausgeschaltet.
Also inkl. StepDown usw.
Somit bootet der gesamte ESP neu durch und damit hatte ich keine Probleme bzw. wenn er doch hängen geblieben ist wurde er vom ATtiny nach ca. 6sec. zwangsabgeschaltet (gut ging eine Messung verloren aber ja nicht so schlimm).
Bin mit einer Powerbank (hatte ich noch rumliegen) bei ca. alle 3min für ca. 4-6sec. wach (messen, verbinden ohne DHCP weil schneller und senden der Daten per Get /fhem?setreading...) allerdings leider nur auf gut einen Monat gekommen...
Ich bleibe hier mal mithörend dran...
...mal sehen.
Gruß und viel Erfolg, Joachim
Zitat von: roman1528
...ESP8266 ESP-07 Modul mit angeschlossenem DHT22-Sensor...
Ich möchte nur kurz techn. einwerfen,
hier wird berichtet (bei: Ergänzung (09.06.2015)) (https://blog.thesen.eu/wlan-lufttemperatur-und-feuchte-logger-mit-grafischer-darstellung-fuer-esp8266/), daß es durchaus zu Meßwertverfälschungen bei zu geringer Nähe von ESP und DHT11 kommen kann/soll.
Ggf. tritt das dann ja auch bei einem DHT22 auf?
LG,
sua
PS:
Hier ggf. auch noch etwas zum deep sleep (http://www.mikrocontroller.net/topic/384345).
Und hier ggf. auch noch einmal "zum quergucken": ESP8266 AM2302 für Akkubetrieb (http://blog.thomasheldt.de/esp8266-am2302dht22-sensor-mit-akkubetrieb-start/)
Zitat von: pink99panther am 17 Mai 2016, 23:22:10
Aber schau mal hier: http://lmgtfy.com/?q=esp8266+dht22+deep+sleep+hangs (http://lmgtfy.com/?q=esp8266+dht22+deep+sleep+hangs)
Vielen Dank... Habe einige Beiträge aus den Suchergebnissen überflogen... Das dort beschriebene Verhalten kann ich allerdings so, bei mir nicht nachvollziehen.
Heute morgen hatte mein ESP nen kleinen Hänger und hat keine Daten mehr übermittelt. Festgestelltes Problem: durch die von mir gesetzte WLAN-Leistung (0) konnte er durch Störquellen (Therme, Rechner, Monitore) keine Verbindung zum Netzwerk mehr herstelllen. 2dBi Antenne dran und alles war wieder schön. ;D
Zitat von: MadMax-FHEM am 17 Mai 2016, 23:32:42
Bin wirklich gespannt wie lange die Batterien/Akkus halten.
Ja ich auch :D
Der derzeit von mir geplante Spannungsregler hat eine DropOut-Voltage von ca. 1,2 Volt... ne krasse Nummer. Vorallem weil dieser ja ständig versorgt wird, denke ich dass hier ne Menge Energie verheizt wird... Es gibt noch einen Spannungsregler mit nur 0,9V DropOut-Voltage. Aber selbst hier habe ich bedenken dass alles noch Stabil läuft wenn die Akkuspannung unter ... sagen wir ... 4V fällt.
Aber wie ich mit meinem anderen Sensor festgestellt habe scheinen 4.2 Volt kein großes Problem für den ESP zu sein. Höher würde ich allerdings auch nicht gehen wollen.
Zitat von: sua am 18 Mai 2016, 00:06:12
Ich möchte nur kurz techn. einwerfen,
hier wird berichtet (bei: Ergänzung (09.06.2015)) (https://blog.thesen.eu/wlan-lufttemperatur-und-feuchte-logger-mit-grafischer-darstellung-fuer-esp8266/), daß es durchaus zu Meßwertverfälschungen bei zu geringer Nähe von ESP und DHT11 kommen kann/soll.
Ggf. tritt das dann ja auch bei einem DHT22 auf?
Das ist sehr Interessant. Danke für den Hinweis... Ich werde das mal testen... Habe noch einen DHT22 den ich mal an meinen FHEM-Root hängen werde.
Zitat von: sua am 18 Mai 2016, 00:06:12
Und hier ggf. auch noch einmal "zum quergucken": ESP8266 AM2302 für Akkubetrieb (http://blog.thomasheldt.de/esp8266-am2302dht22-sensor-mit-akkubetrieb-start/)
Das ist sehr gut. Vielen Dank. Hier kann ich mir zumindest das Ladegerät abschauen. Vorrausgesetzt es passt noch auf meine Platine drauf.
Grüße^^
Interessant wird werden was beim "booten" des ESP passiert, da zieht er schon en Menge Strom (300-800mA) und ist schnell "beleidigt", wenn er mal nicht genug bekommt...
Das war bei mir immer das Problem, dass dann der Spannungsregler in die Knie gegangen ist...
...über das mehrstufige "Anfahren" durch den ATtiny konnte ich das ein wenig verlängern aber nicht wirklich viel länger :-|
Mehrsrufig: erst mal den Spannungswandler (der dann schon mal einen Kondensator lädt) und dann erst den ESP...
Der ATtiny lief bei 1,8V noch zuverlässig an...
Zitat von: MadMax-FHEM am 18 Mai 2016, 13:17:41
Interessant wird werden was beim "booten" des ESP passiert, da zieht er schon en Menge Strom (300-800mA) und ist schnell "beleidigt", wenn er mal nicht genug bekommt...
Tatsächlich so viel? Ich werde mich überraschen lassen.... Leider habe ich kein Messequipment... bzw. keines welches schnell oder genau genug ist....
Habe jetzt noch einen anderen Spannungsregler ins Auge gefasst der sich sehr interessant anhört... 800mA (abs. max 900mA) und nur eine DropOut-Voltage von 0.1V bei 200mA Laststrom. Die Werte reißen mich dahin den definitiv ein zu bauen.
Zitat von: sua am 18 Mai 2016, 00:06:12
Ich möchte nur kurz techn. einwerfen,
hier wird berichtet (bei: Ergänzung (09.06.2015)) (https://blog.thesen.eu/wlan-lufttemperatur-und-feuchte-logger-mit-grafischer-darstellung-fuer-esp8266/), daß es durchaus zu Meßwertverfälschungen bei zu geringer Nähe von ESP und DHT11 kommen kann/soll.
Ggf. tritt das dann ja auch bei einem DHT22 auf?
Um das noch einmal an zu sprechen: Es ist weder für den ESP noch für den DHT gut wenn sie zu dicht zusammen sind.
Aufbau wie auf dem Schaltplan... ESP lehnt an den DHT an... keine externe Antenne (onboard Keramik-Antenne).
Also entweder stört der DHT (Feuchtigkeitsmessung.. manchmal zu hören) das WLAN-Signal, oder das WLAN-Signal stört die Verarbeitung innerhalb des DHT.
Wenn ich den ESP etwa eine Daumenbreite entfernt liegen habe ist alles gut... auch die Messwerte sehen plausibel aus...
Thema: Onboard-Ladegerät für Li-Ion-Akkus:
Auch hier habe ich mich inspirieren lassen und eine Möglichkeit gefunden.
Allerdings suche ich nach einer Lösung 2 Akkus parallel laden zu können. Die Ladeschaltung ist für einen Akku ausgelegt... http://blog.thomasheldt.de/wp-content/uploads/2016/02/ESP8266-DHT22-AKKU-Sensor-Schaltplan-10.pdf (http://blog.thomasheldt.de/wp-content/uploads/2016/02/ESP8266-DHT22-AKKU-Sensor-Schaltplan-10.pdf)
Vielleicht hat ja jemand eine Idee oder sogar eine Lösung parat ;DHabe einen Forenbeitrag gefunden, indem es heißt, dass man zwei parallele 18650 ohne weiteres an einer Li-Ion-Ladeschaltung betreiben kann, solange man dies dauerhaft macht um Ausgleichsströme zu verhindern. Das ist mein Plan... Somit ist die Frage einer Lösung hinfällig ;D
Soweit erstmal zu meinen aktuelen Tests udn vorschritten.... Gehäuse sind leider noch nicht angekommen -.-
Grüße^^
ZitatHabe jetzt noch einen anderen Spannungsregler ins Auge gefasst der sich sehr interessant anhört... 800mA (abs. max 900mA) und nur eine DropOut-Voltage von 0.1V bei 200mA Laststrom. Die Werte reißen mich dahin den definitiv ein zu bauen.
Welcher ist das??
Klingt wirklich interessant...
Hatte DHT11 und ESP deutlich auseinander und keinerlei Probleme (zumindest nicht damit ;-) ).
Allerdings ist der DHT11 nicht besonders gut was die Temperaturmessung anging.
Habe deshalb noch einen DS18B20 dazu genommen...
Der DHT22 soll ja (deutlich) besser sein...
Zitat von: MadMax-FHEM am 18 Mai 2016, 15:30:21
Welcher ist das??
Klingt wirklich interessant...
Dieser jene welche:
XC6210B332MR von Torex -> PDF (http://www.torexsemi.com/products/voltage_regulators/data/XC6210.pdf)
Zitat von: MadMax-FHEM am 18 Mai 2016, 15:30:21
Der DHT22 soll ja (deutlich) besser sein...
Laut den Datenblättern die ich bisher so gefunden habe auf jeden Fall. Deswegen habe ich den DHT22 auch genommen.
Messwerttechnisch im Vergleich mit einem BMP180 max +0.2°C. Der Vergleich mit einem DS18B20 läuft gerade noch :)
Das Problem dass ich habe, ist der Platzmangel auf meinem Basteltisch unter dem auch noch mein Rechner heizt... Ich muss dringen einen Messplatz haben ;D
Grüße^^
Ich habe einen ESP12-E mit DHT22 und einen MCP1825S Spannungeregulator an 3 AA Batterien erfolgreich laufen gehabt. Die Akkuleistung war allerdings begrenzt auf gut 60 Tage. Daher ist mein neuer Aufbau eine Solarzelle mit Ladegerät und einen 18650. Die Teile sind auch schon alle aus China geliefert worden, mir fehlt nur noch die Zeit zum Löten.
Für den Anschluß des DHT22 habe ich keinen J-FET genommen, der ist einfach an GPIO 14 angeschlossen. Man muss nur 2 Sekunden warten bis der Sensor richtig initialisiert ist. Den Schaltplan habe ich angehängt und die Software ist auf Github (https://github.com/sbiermann/ESP8266-DHT22-MQTT) zu finden.
Solarpanel: http://de.aliexpress.com/item/Solar-Panel-Module-5V-240mA-1-2W-DIY-for-Cell-Charger-Toy-69410/32473387133.html
Ladegerät: http://de.aliexpress.com/item/5-pcs-Micro-USB-1A-Lithium-Battery-Charging-Board-Charger-Module-With-Protection/32402397769.html
Zitat von: sbiermann am 18 Mai 2016, 20:17:46
Ich habe einen ESP12-E mit DHT22 und einen MCP1825S Spannungeregulator an 3 AA Batterien erfolgreich laufen gehabt. Die Akkuleistung war allerdings begrenzt auf gut 60 Tage. Daher ist mein neuer Aufbau eine Solarzelle mit Ladegerät und einen 18650. Die Teile sind auch schon alle aus China geliefert worden, mir fehlt nur noch die Zeit zum Löten.
Für den Anschluß des DHT22 habe ich keinen J-FET genommen, der ist einfach an GPIO 14 angeschlossen. Man muss nur 2 Sekunden warten bis der Sensor richtig initialisiert ist. Den Schaltplan habe ich angehängt und die Software ist auf Github (https://github.com/sbiermann/ESP8266-DHT22-MQTT) zu finden.
Solarpanel: http://de.aliexpress.com/item/Solar-Panel-Module-5V-240mA-1-2W-DIY-for-Cell-Charger-Toy-69410/32473387133.html
Ladegerät: http://de.aliexpress.com/item/5-pcs-Micro-USB-1A-Lithium-Battery-Charging-Board-Charger-Module-With-Protection/32402397769.html
AA Batterien hatte ich auch schon probiert... halten definitiv nicht lange genug durch. Solar ist gut aber mir persönlich etwas suspekt... Davon mal ab das es zu groß werden würde um sicher zu gehen dass die akkus zuverlässig geladen werde. Außerdem würde mein Sensor ja schattig platziert werden :P
Du brauchst noch einen PullUp zwischen Vcc und dem Data-Pin am DHT^^
Grüße^^
Wieso Pull-Up? Funktioniert auch ohne super...
Zitat von: roman1528Also entweder stört der DHT (Feuchtigkeitsmessung.. manchmal zu hören) das WLAN-Signal, oder das WLAN-Signal stört die Verarbeitung innerhalb des DHT.
Wenn ich den ESP etwa eine Daumenbreite entfernt liegen habe ist alles gut... auch die Messwerte sehen plausibel aus...
Ja, das ist wohl dann nur eine Seite des Problems:
Ganz nah:
unlogische/keine Meßwerte
Zu nah:
kontinuierlich um ca. 0,5 bis 2,0 K verfälschte Meßwerte (zumindest laut diesem o.g. Link (https://blog.thesen.eu/wlan-lufttemperatur-und-feuchte-logger-mit-grafischer-darstellung-fuer-esp8266/)), das "sieht" man dann ja nur per "Eich"-Meßwertevergleich.
LG,
sua
Zitat von: sbiermann am 18 Mai 2016, 20:51:41
Wieso Pull-Up? Funktioniert auch ohne super...
stabiler is es mit^^
Der DHT22 hat intern einen 4,7k Pull-Up. Kannst nachmessen :D
Daher braucht man im Normalfall keinen.
Zitat von: Kuzl am 19 Mai 2016, 08:17:33
Der DHT22 hat intern einen 4,7k Pull-Up....
Sicher?
Zumindest in dieser Spez des AM2302 (http://akizukidenshi.com/download/ds/aosong/AM2302.pdf)(der sich wohl nur im Namen zum DHT22 unterscheidet? "...AM2302 is another name for DHT22" ) steht definitiv:
"... single bus usually require an external about 5.1kOhm pull-up resistor, so when the bus is idle, its status is high..."
und davor bei AM2302 DC Characteristics bei: Rpu(6) -typ. 45kOhm- "...(6) that the pull-up resistor..."...
Laut Datenblatt muss ich dir recht geben, allerdings nicht wenn man nachmisst.
http://www.mikrocontroller.net/topic/346707 (http://www.mikrocontroller.net/topic/346707)
Am besten selbst nachmessen. Ist aber wohl bei den meisten der Fall.
Moin.
Heute kann ich mich auch mal wieder zu Wort melden. :)
Gerade sind die Gehäuse angekommen. Werde mich also heute damit befassen möglichst alles auf einer passenden Platine unter zu bringen.
Das ärgerliche wird nur sein, dass die Platine dann mit Heißkleber oder ähnlich fixiert werden muss, da keine Befestigungspunkte vorhanden sind. Ich denke aber, dass wir bastler damit klar kommen ;D ... Heißkleber... unser aller Heilmittel XD
Sobald ich was neues habe meld eich mich wieder, bzw. aktualisiere ich die ersten Posts.
Grüße^^
Hallo,
du gehst den Weg über ein zusätzliches Solarpanel. OK. Sehe ich das in deinem Scetch richtig dass bei einem Deep Sleep von 30 Sec. "nur" 60% gespart wird?
Kommentar in der INO-Datei ... "script excekution is about 20s", 30s deep sleep somit in Summe 50sec, 30 / 50 = 60%.
Weißt du wie lange der ESP mit einer 18650 "durchhält"? Du hast 60 Tage mit 3 AA Battrien gemessen, welche Kapazität hatten diese bzw. welches Modell dann kann ich selber nachsehen.
Problem der ganzen ESP-Batterie-Setup ist leider immer die kurze Batterie Lebenserwartung.
Thx
Hi,
meinst du mich? Der Kommentar mit den 20s ist noch vom original Skript welches ich hier von jemanden aus dem Forum übernommen habe und alles raus geworfen habe was ich nicht brauche. War auch mein erster Sketch mit dem ESP, die jetzigen sehen alle komplett anders aus. Insbesondere das WLAN Handling.
Meine Durchlaufzeit beträgt etwa 7-9 Sekunden, dann geht der ESP im Deep Sleep für 5 Minuten. Die AA Batterien waren einfache aus dem nächst besten Laden mit 2300mAh. Die 18650 hat jetzt 3000mAh.
Bin heute dazu gekommen alles rein zu löten und zu verpacken in die Box. Anbei 2 Fotos wie es jetzt aussieht. Das Foto im Innenleben ist etwas "wild", war meine erste Bastelei, jetzt sehen die Lochrasterplatinen aufgeräumter auf. Auf dem Foto von außen ist noch ein Maßband dabei damit man eine ungefähre Ahnung bekommt wie "klein" das Teil nur ist.
Viele Grüße
Stefan
Hallo roman1528,
eher durch Zufall bin ich gerade hier noch "d'rüber gestolpert":
Battery Powered ESP8266 IoT – Temperature Sensor (http://homecircuits.eu/blog/battery-powered-esp8266-iot-logger/).
Ggf. bringt das ja noch etwas zu der Stabilität und den Langzeitwerten? :-)
LG,
sua
Interessant, dass auch andere auf solche Ideen kommen ;-)
Habe es ähnlich gemacht, allerdings mit ATtiny85 (hatte ich noch rumliegen)...
Bei Datenlieferung alle 3min kam ich auf ca. einen Monat.
Bei Datenlieferung alle 20min mit 3 Monaten kann allerdings auch nicht von wirklichem Batteriebetrieb gesprochen werden...
Bin gespannt, wer mit welcher Lösung (und dabei nicht nur noch längere Pausen zwischen den Datenlieferungen) auf wirklich brauchbare Werte kommt...
...ich bleib mal dran.
Gruß, Joachim
Hallo Roman
Ich wollte mal nachfragen wie weit du mit deinem Außensensor bist?
Gruß Peter
Hallo Roman,
ich habe mir einen IoT Button, ähnlich wie in c't 1/2017 vorgestellt, mit einem ESP8266 nachgebaut. Als Basis habe ich Deinen Sketch genommen. Wenn ich ohne ssl arbeite, funktioniert das auch alles.
Wenn ich aber ssl auf true setze, bekomme ich zwar eine WiFi Verbindung aber keine Verbindung zu meinem FHEM-Server auf einem Raspberry PI.
Frage: hast Du Deinen Skript schon mal mit ssl ausprobiert?
Viele Grüße und vielen Dank
Wolfgang
hier der Sketch
/******************************************************************************/
// Ursprünglicher Sketch aus ct 1/2017 'Verlasst die Ama-Zone!'
// IoT-WLAN-Button auf Basis ESP8266 und Schranklampe umgebaut
//
// 05.02.2017 wkl: Anpassungen an eigenes Netz
//
//
/*****************************************************************************/
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <WiFiClientSecure.h>
#include <base64.h>
/************************* WiFi Access Point *********************************/
const char* wifi_ssid = "meinessid"; //WLAN-SSID
const char* wifi_psk = "meinpsk"; //WLAN-Passwort
//FHEM-Server
const char* fhem_ip = "192.168.xxx.xxx"; //FHEM-IP-Adresse
const int fhem_port = 8083; //Port FHEMWEB https, BasicAuth
String fhem_device = "IoT_Button"; //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 = true; //SSL-Verschlüsselung: true = ja; false = nein
// Use Web browser to view and copy the SHA1 Fingerprint
const char* fhem_fingerprint = "mit Browser ausgelesen"; // Fingreprint FHEM Server
/************************* Declarations **************************************/
void blinkError();
void blinkSuccess();
void blinkSent();
//Variable
String basic;
String state;
String token = fhem_user + ":" + fhem_passwd;
/************************* LED-PIN *******************************************/
#define LED 2 // GPIO2
/************************ Debug Mode *****************************************/
#define DEBUG
#ifdef DEBUG
#define DEBUG_PRINT(x) Serial.print (x)
#define DEBUG_PRINTLN(x) Serial.println (x)
#else
#define DEBUG_PRINT(x)
#define DEBUG_PRINTLN(x)
#endif
/*************************** Sketch Code ************************************/
void setup() {
Serial.begin(115200);
// Serial.setDebugOutput(true);
DEBUG_PRINTLN();
DEBUG_PRINTLN("Initializing outputs...");
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW); // LED on
DEBUG_PRINTLN("Starting Wifi connection...");
WiFi.persistent(false); // verhindert, dass bei jedem Start die WiFi Parameter ins Flash geschrieben werden
// WiFi.mode(WIFI_OFF); // this is a temporary line, to be removed after SDK update to 1.5.4
WiFi.mode(WIFI_STA); // Stellt sicher, dass kein AP erzeugt wird
WiFi.begin(wifi_ssid, wifi_psk);
int failcounter = 300;
DEBUG_PRINT("Waiting for a connection");
while (WiFi.status() != WL_CONNECTED) {
delay(100);
DEBUG_PRINT(".");
if (failcounter <= 0) {
DEBUG_PRINTLN();
DEBUG_PRINTLN("Giving up.");
blinkError();
ESP.deepSleep(0);
}
failcounter--;
}
DEBUG_PRINTLN();
digitalWrite(LED, HIGH);
DEBUG_PRINTLN("Wifi connected.");
//base64 fhemuser and fhempasswd
if (fhem_user != "") {
basic = base64::encode(token);
DEBUG_PRINT("TokenBase64: ");
DEBUG_PRINTLN(basic);
}
// mit ssl Verschlüsselung
if (ssl == true) {
DEBUG_PRINTLN("Do with ssl connection");
//start client
WiFiClientSecure client;
//wait for server-connection
failcounter = 100;
DEBUG_PRINT("Waiting for a ssl server connection to ");
DEBUG_PRINT(fhem_ip);
DEBUG_PRINT(" at Port ");
DEBUG_PRINT(fhem_port);
while (!client.connect(fhem_ip, fhem_port)) { //<- hier kommt kein connect zustande
delay(100);
DEBUG_PRINT(".");
if (failcounter <= 0) {
DEBUG_PRINTLN();
DEBUG_PRINTLN("Giving up.");
blinkError();
ESP.deepSleep(0);
}
failcounter--;
}
DEBUG_PRINT("Connection to ");
DEBUG_PRINT(fhem_ip);
DEBUG_PRINTLN(" established.");
//create a URI for the request
String url = "/fhem?cmd." + fhem_device + "=set%20" + fhem_device + "%20on";
url += "&XHR=1";
DEBUG_PRINTLN(url);
// SHA1 Fingerprint überprüfen
if (client.verify(fhem_fingerprint, fhem_ip)) {
DEBUG_PRINTLN("certificate matches");
}
else {
DEBUG_PRINTLN("certificate doesn't match");
}
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");
}
}
// ohne ssl Verschlüsselung
else {
//start client
WiFiClient client;
//wait for server-connection
failcounter = 10;
DEBUG_PRINT("Waiting for a server connection");
while (!client.connect(fhem_ip, fhem_port)) {
delay(100);
DEBUG_PRINT(".");
if (failcounter <= 0) {
DEBUG_PRINTLN();
DEBUG_PRINTLN("Giving up.");
blinkError();
ESP.deepSleep(0);
}
failcounter--;
}
DEBUG_PRINT("Connection to ");
DEBUG_PRINT(fhem_ip);
DEBUG_PRINTLN(" established.");
//create a URI for the request
String url = "/fhem?cmd." + fhem_device + "=set%20" + fhem_device + "%20on";
url += "&XHR=1";
DEBUG_PRINTLN(url);
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");
}
}
blinkSent();
delay(500);
// Stop ESP go to sleep
ESP.deepSleep(0);
/*
// get response
int success = 0;
failcounter = 10000;
while (client.connected()) {
if (client.available()) {
String line = client.readStringUntil('\n');
DEBUG_PRINTLN("Server response: " + line);
if (line[0] == 'O' && line[1] == 'K') {
digitalWrite(LED, LOW);
success = 1;
}
}
if (failcounter <= 0) {
blinkError();
ESP.deepSleep(0);
}
failcounter--;
}
if (success) {
blinkSuccess();
// close connection
DEBUG_PRINTLN("Successfully closing the connection.");
}
else {
DEBUG_PRINTLN("Got no success message.");
blinkError();
DEBUG_PRINT("Unable to connect to ");
DEBUG_PRINT(fhem_ip);
DEBUG_PRINTLN(". Sorry.");
}
DEBUG_PRINTLN("Shutting down.");
DEBUG_PRINTLN("Going to sleep.");
ESP.deepSleep(0);
DEBUG_PRINTLN("Sleep failed.");
while(1) {
blinkError();
}
*/
}
/**************************** empty loop ************************************/
void loop() {
// this should never be reached.
}
/**************************** some subroutines ******************************/
void blinkSuccess() {
for (int i = 4; i < 50; i=(5*i) >> 2) {
digitalWrite(LED, HIGH); // turn the LED off
delay(10*i); // wait
digitalWrite(LED, LOW); // turn the LED on
delay(10*i); // wait
}
}
void blinkError() {
for (int i = 0; i < 28; i++) {
digitalWrite(LED, HIGH); // turn the LED off
delay(125); // wait
digitalWrite(LED, LOW); // turn the LED on
delay(125); // wait
}
}
void blinkSent() {
for (int i = 0; i < 2; i++) {
digitalWrite(LED, LOW); // turn the LED on
delay(200); // wait
digitalWrite(LED, HIGH); // turn the LED off
delay(200); // wait
}
}
Änderung: ich habe den Fehler gefunden. Man muss FHEM über attr global sslVersion SSLv23:!SSLv3:!SSLv2 auch TLS1.1 ermöglichen. Mein Problem ist damit gelöst.