Hallo,
ich habe die letzten Seiten überflogen und bin mir nicht sicher ob es passt.
Ich habe gestern ein Modul mit Namen „Wemos D1 mini“ und ein Relais-Shield zusammen gesteckt und mit dem Aufruf der html-Seite gesteuert.
http://<Shield-ip>/ein
…/aus
…/status
wird nur die ip aufgerufen erscheint eine Hilfe und einige Informationen (Betriebstunden, Zustand u.ä.)
Internet-Suche „wemos d1 mini relais“ und dann „homematic-forum“ bringt eine gute Einführung.
Hallo Drapple,
keine Lösung aber eine Vermutung: das Wifi-Modul stört den Bewegungsmelder. Such mal bei Google nach
esp8266 motion interference. Ich habe mir die gefundenen Seiten dort nicht weiter angesehen, aber vielleicht hilft es ja weiter. Ganz interessant auch diese Seite. Entweder dort oder im dem Thread im homematic-forum wurde (soweit ich mich erinnere) auch über Probleme BWM & ESP8266 berichtet.
Hi Drapple,
eine Lösung wäre evt., Wifi auf dem Modul nur dann einzuschalten, wenn Du einen Bewegungsevent senden willst. Und, wenn Wifi eingeschaltet ist, keine neuen Trigger vom Bewegungsmelder anzunehmen.
Nee, keine Idee. Ich habe zwar einige ESPs rumliegen, aber bisher keine Zeit zum Spielen gehabt. Aber hilft der Link im Beitrag #55 nicht weiter?
Gruß
Peter
Hier hat sich einiges getan wollte nur Bescheid geben, dass ich nicht auf diesen Thread hier vergessen habe, aber noch im Prüfungsstress bis gestern war und mir demnächst Zeit nehmen werde und mich dem Thread hier widmen werde
hatte ähnliche Probleme mit einem MCP23017 an einem ESP-07 mit 1 MB Flash welcher 8 Relais ansteuerte.
Probeaufbau: alles ohne Fehler
Praxis:
nur Relais 1 schaltet einen Laststrom von 28 Watt mit Einschaltspitze (Pumpe Solarsystem)
zieht an und fällt sofort wieder ab.
alle anderen Relais funktionierten einwandfrei, aber wehe es wurde Relais 1 betätigt.
1.Verdacht: diese Schei… Schaltnetzteile, … waren es nicht.
Ursache: der ResetPin des MCP wollte einen PullUp und einen Kondensator gegen Masse:
… das kleine Stück Bondingdraht und der IC Anschluss waren als Antenne so gut dass der mikrige Laststrom in 10 cm Abstand einen Reset auslöste.
Ähnlich sieht es beim Resetanschluss des ESP aus, dieser hängt in der Luft und ist sehr sensibel,
ich hab beide Resetleitungen miteinander verbunden und
muss feststellen dass ich seitdem keine Systemhänger mehr hatte welche einen
getrennten WD Baustein erfordern (ist übrigens bei ESPeasy bereits fertig programmiert und eingebunden),
gelegentlich fährt er einen eigenen Reset, arbeitet aber von da ab alleine wieder los.
genau DAS meinte ich damit.
Der von Dir eingesetzte ESP-12E HAT einen ResetPin und der ist SEHR hochohmig
und somit für alles um ihn herum extrem „lauschfreundlich“.
Die mickrigen Kapazitäten zu benachbarten Leitungen;
und falls der Pegel an ihm auch nur sehr kurz unter 2V „peakt“;
haste ihn eingefangen!
woher diese Gewissheit?
Ich nutze ESPeasy und lasse mir die „Uptime“ jede Minute an IPS übermitteln;
in den durch IPS geloggten Daten sehe ich dann jeden Neuanfang.
Wie ist die Anschaltung des IO-Portes des Bewegungsmelders?
Als extremes Negativbeispiel sei genannt
(manchmal kann man garnicht um die vielen unvorhergesehenen Ecken schauen welche Murphy einem serviert)
der Triggereingang des HC-SR04;
dieser ist dämlicherweise symmetriert,
sprich bei VCC 5 Volt liegen da 2,5 Volt an;
entsprechend erkennt ein 3V3 Eingang High Pegel.
Nun mag man sagen:
wenn ich den als Ausgang setze ist mir das Wurscht;
packt man ihn allerdings auf GPIO15 beim ESP (wie mir das passiert ist);
schaut der ESP in der Bootphase hier nach;
und wehe er steht auf „High“; so verrent er sich in den falschen Mode!!
und wenn das der Sensor für den Röhrenkollektor auf dem Dach ist kommen keine Daten mehr;…
wird sehr, sehr heiss; sprich: sowas sollte nie passieren.
Eventuell wäre hier eine „saubere“ Pegelanpassung notwendig,
denn manchmal sorgt der Energiesparwahn mit seinen erstaunlichsten Erkenntnissen
„ich hab da ein Atom gesehen und deshalb war es ein High Pegel“
Allüren für Verdruss.
mfg
BerndJ
PS:
um zukünftig besser und gezielter helfen zu können wären Angaben hilfreich:
welcher ESP Baustein
welche eingesetzte Soft- und Firmware mit Revisionnummer
welcher Baustein angebunden?, und wie?, mit welchen Parametern
wie und mit welchem Protokoll erfolgt die Anbindung an IPS
was funktioniert
und erst dann das detaillierte Aufzeigen der Problemsituation.
Vordruck: ESPxx
ESPeasy V108
HCxxxxx, Port GPIO12, direkt
an IPS via Domotics HTTP auf TCP Port 52000
es funktioniert:
meldet sauber Erkennungen im Sensorbereich
Probleme:
leider viel zu viele
sorry, aber momentan bin ich beruflich überbelastet,
kurzer Tip:
Lass uns die Sensibilität in Form der energiesparenden Hochohmigkeit,
einhergehend mit erstaunlicher Sensibilität dieser Schaltung als Antenne,
etwas zurück nehmen:
Also:
falls er bei Erkennung eines Objektes 3V3 ausgibt,
so würde ich einen PullDown Widerstand setzen von 1 KOhm;
(Dein Text deutet darauf hin)
sollte er jedoch lowPegel, sprich was niedriges ausgeben, ansonsten High,
so würde ich einen PullUp Widerstand setzen von 1 KOhm.
Diesen Wert kann man nach erfolgreicher Anpassung selbstverständlich im Sinne der Energieoptimierung anpassen;
bis es wieder los geht mit den Fehlmeldungen,
… dann natürlich mit entsprechender Sicherheitsreserve;
… und schön wäre eine Teilhabe dieser Erkenntnisse an die Community.
hab hier mehrere ESP in Verbindung mit IPS laufen. Leider macht mir untenstehender Code Zicken.
IPS sendet via Server Socket Daten an den ESP. Solange IPS läuft ist alles gut und 100% stabil.
Wenn aber IPS mal neu gestartet wird passiert da irgendetwas unvorhergesehenes und IPS kann keine Daten mehr an den ESP senden. Nach Reboot des ESP funktioniert alles wieder.
Leider ist das nur bedingt rebroduzierbar, und darum von der direkten Fehlersuche her sehr mühsam.
Vielleicht könnte sich ja jemand den Code ansehen, meiner Meinung nach sieht das doch total sauber und robust aus.
#include <ESP8266WiFi.h>
//WLAN ESP8266
const char* ssid = "xxx";
const char* password = "xxx";
const char* host = "10.0.0.1";
IPAddress ip(10, 0, 0, 51);
IPAddress gateway(10, 0, 0, 138);
IPAddress subnet(255, 255, 255, 0);
int IPSPort = 1105;
unsigned char reconnectCount = 0;
String IPSMsg = "";
boolean MSGstartFlag = false;
boolean MSGstopFlag = false;
WiFiClient client;
void setup() {
Serial.begin(9600);
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
WiFi.config(ip, gateway, subnet);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
if (reconnectCount >= 60) {
ESP.restart();
}
Serial.print(".");
reconnectCount++;
}
reconnectCount = 0;
Serial.println("");
Serial.print("WiFi connected ");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
connectToServer();
client.println("ESP8266 Connected");
}
void loop() {
if (client.connected()) {
readCharfromPort(); // Receive data from IPS port:
.... // Anwendungscode hab ich der Übersicht halber rausgenommen
}
else {
delay(500);
if (reconnectCount >= 60) {
ESP.restart();
}
Serial.println("Connection lost!");
Serial.println("Try to reconnect...");
connectToServer();
reconnectCount++;
}
}
// Process each char from Port and build Data String
void readCharfromPort() {
char inChar = client.read();
// Serial.print(inChar);
if (inChar == '<') { //start character
MSGstartFlag = true;
}
if (inChar == '>') { //end character
MSGstopFlag = true;
}
if (MSGstartFlag) {
IPSMsg = IPSMsg + inChar;
}
}
void connectToServer() {
Serial.print("connecting to ");
Serial.println(host);
if (!client.connect(host, IPSPort)) {
Serial.println("connection failed");
return;
}
Serial.print("Connected to IPS Server at Port:");
Serial.println(IPSPort);
}