Hab jetzt die genaue Ursache gefunden und einen PR für Tasmota eingereicht.
ESP32-CAM
-
mafrei -
10. September 2020 um 18:48 -
Erledigt
-
-
-
ih danke Dir für die Unterstützung, habe es mit Deinem neuen Fork probiert und läuft wieder.
Was würden wir ohne Deine Unterstützung hier bloß machen.
Es wird bei mir leider noch keine email versendet, wäre schön wenn Du mir dabei auch helfen könntest den Fehler zu finden.
Code
Alles anzeigen[DEBUG] - INFO: connecting to SMTP server... [DEBUG] - smtp.1und1.de [DEBUG] - 465 [DEBUG] - INFO: smtp server connected [DEBUG] - 220 kundenserver.de (mreue107) Nemesis ESMTP Service ready [DEBUG] - INFO: send smtp HELO command [DEBUG] - 503 Bad sequence of commands [DEBUG] - ERROR: identification failed 16:36:46.380 Error sending Email, identification failed 16:36:46.385 MQT: stat/tasmota_3851A0/RESULT = {"Sendmail":"Wrong parameters"}
-
Am besten testest du das email Versenden in der Konsole.
sendmail [server:port:user:passwd:musterfrau@gmail.com:mustermann@gmail.com:test]Hallo
from und to dürfen bei ESP32 keine eckigen Klammern haben beim ESP8266 MÜSSEN sie eckige Klammern haben
Es funktionieren leider nicht alle email Provider.
google mail funktioniert aber zuverlässig.
-
Hi gemu2015,
mit 1und1 geht es wohl nicht, oder ich bekomme es damit nicht zum laufen. Wenn ich es mit 1und1 von der Console aus versuche kommen die selben Fehlermeldungen.
Habe jetzt ein gmail Konto angelegt, damit wird eine Mail gesendet leider ohne Bild obwohl Bilder auf der SD-Karte sind., benutze das Skript von Dir (Webcam_script.txt aus #30)
Könnt ihr von ausserhalb au euren Cam-Stream zugreifen ? Wie habt ihr es eingerichtet ?
In Alexa bekomme ich die Cam nicht rein.
Edit:
Bilder kommen jetzt mit mail, habe nichts geändert aber jetzt geht es
-
Würde nicht empfehlen die Kamera für Zugriffe von ausserhalb frei zu schalten. Du müsstest dazu den Port 81 in der Firewall frei geben.
Das geht natürlich aber es gibt noch nicht einmal einen einfachen Passwortschutz.
Das einzige was relativ problemlos und einigermassen sicher gehen würde ist VPN.
-
-
Hallo gemu2015
Habe wieder mal ein Kleines Problem.
Jedes mal wenn ich die Camera aufrufe speichert er mir ein Bild auf der SD-Card.
Er soll aber nur bei einer Erkennung durch den PIR oder Auslösung von Hand ein Bild speichern.
Irgendwo im Script habe ich wohl ein Fehler.
Mein Script
>D 40
SB=8192
res=0
cnt=0
tmp=0
pr=0
w=0
h=0
tstr=""
fnam=""
df=0
t:timer=0
slider=0
bs=0
za=1
>B
; initialisiere cam mit QVGA
res=wc(0 7)
w=wc(3)
h=wc(4)
; IO4 auf input
spinm(4)
pwm(-12 400)
res=fo("/PICS" r)
if res<0
then
fmd("/PICS")
endif
>S
if pin[4]==0
then
za=1
endif
if wific>0
then
res=wc(5 1)
endif
if (((pin[4]>0)and(za==1))or(bs>0))
then
res=wc(1 1)
dp2.0
res=fo("/PICS/"+st(tstamp : 1)+"_"+s(mins)+"_"+s(secs)+".jpg" w)
if res>=0
then
// RAM Buffer speichern
pr=fwp(1 res)
fc(res)
endif
za=0
bs=0
endif
>F
pwm(slider)
if df>0
then
df=0
=#delfolder("PICS")
endif
#delfolder(tstr)
pr=fo("/"+tstr r)
for cnt 1 1000 1
tmp=fr(fnam pr)
if tmp>0
then
fd("/"+tstr+"/"+fnam)
else
break
endif
next
fc(pr)
>m
>W
PIR{m}%pin[4]%
Filesystem frei{m}%3(fsi(1)/1000)% MB
bu(df "ok" "Bildordner leeren")
bu(bs "ok" "Bild speichern")
sl(250 500 slider "links" "Servo" "rechts")
$<br>
$<img src="http://%lip%:81/stream" style="width:%w%px;height:%h%px">
-
Sehe keinen Fehler. Habe dein script auf meine CAM geladen und es funktioniert wie es soll.
Habe allerdings kein Servo und keinen PIR dran.
Durch den Zugriff gibt es eine Stromspitze auf der VCC Leitung. Eventuell löst das den PIR aus ?
Nimm doch mal den PIR pin raus und sieh ob es immer noch triggert.
statt
if (((pin[4]>0)and(za==1))or(bs>0))
then
dies
if bs>0
then
wenn es nicht mehr auslöst dann ist der PIR pin die Ursache
-
Hallo zusammen,
ich benötige mal wieder die Hilfe der Experten hier. SENDMAIL bringt mich noch in den Wahnsinn.
Ich möchte auf ein Ereignis hin (GPIO oder Schaltfläche im WEBUI) ein Bild in den Puffer laden und dann per EMail versenden.
Solange die Kamera inaktiv ist, funktioniert SENDMAIL. Aktiviere ich die Kamera im WEBUI oder im Script mit wc(0 4) und wc(5 1), funktioniert SENDMAIL nur aus der Console heraus (natürlich ohne Bild). Aus dem Script heraus löst dann SENDMAIL einen Neustart des Moduls aus ("RestartReason":"Software reset CPU") und nichts wird gesendet.
Getestet habe ich mit 3 Modulen von verschiedenen Ali-Händlern und auch mit diversen Netzteilen, immer der gleiche Effekt.
Egal ob mit der BIN von gemu015 oder mit selbstcompilierten BINs (Original oder gemu-fork).
Kennt einer das Problem, und gibt es vielleicht eine Lösung?
-
Abstürze deuten auf Speichermangel. Lies mal weiter oben nach Stichwort PSRAM
-
Konsole meldet: PSRAM found
Funktioniert auch nicht bei kleinster Auflösung. Stream anzeigen und Bilder speichern geht bis höchster Auflösung. Merkwürdig.
Kann ich irgendwo ermitteln, wieviel PSRAM vorhanden ist.
-
Gibt es noch eine andere Möglichkeit Einzelbilder von dem Ding runterzubekommen (z.B. FTP-Upload)? Direkter Download oder Stream scheidet aus, da das Modul hinter einem LTE-Router sitzen soll und ich von außen nur über MQTT rankomme.
Und noch eine Frage: Wie bekomme ich den RTSP-Support in selbstcompilierte BINs. Ich stell zu blöd an und bekomm's nicht gebacken.
Danke !!!
-
OK, dann hast du PSRAM. Poste mal dein Script. Da muss was bei der mail verkehrt sein.
Für RTSP must du
#define ENABLE_RTSPSERVER
dazu nehmen.
-
Hier mein Script. Entspricht im großen und ganzen dem, was hier gepostet wurde. SUBSCRIBE habe ich auskommentiert, da bei deiner BIN nicht implementiert.
Sendmail funktioniert auch ohne den Bildanhang ...]* nicht.
>D 40
ssize=25
SB=8192
res=0
cnt=0
tmp=0
pr=0
w=0
h=0
bs=0
shot=0
tstr=""
fnam=""
fil="LEER"
df=0
>B
; initialisiere cam mit QVGA (wc(0 4))
res=wc(0 4)
; hole Bildgröße horizontal und vertikal in Pixeln
w=wc(3)
h=wc(4)
; erzeuge Bildordner falls nicht vorhanden
res=fo("/PICS" r)
if res<0
then
fmd("/PICS")
endif
>BS
;+>subscribe shot, %topic%/cmnd/EVENT
>S
if wific>0
then
; starte stream wenn wifi verbunden
res=wc(5 1)
endif
if bs>0
or shot==1
then
; Bild speichern in RAM Buffer 1
res=wc(1 1)
; Datei öffnen, Name ist gleich Zeitstempel
; Dateiname darf aber keinen Doppelpunkt enhalten
; deshalb diese umständliche Zusammensetzung
dp2.0
;
fil=st(tstamp : 1)+"-"+s(mins)+"-"+s(secs)
res=fo("/PICS/"+st(tstamp : 1)+"-"+s(mins)+"-"+s(secs)+".jpg" w)
if res>=0
then
; RAM Buffer speichern
pr=fwp(1 res)
fc(res)
endif
=>sendmail [smtp.gmail.com:465:mymail@gmail.com:mypass:mymail@gmail.com:empfaenger@gmx.de:%fil%]*
bs=0
shot=0
endif
>F
; lösche alle Bilder
if df>0
then
df=0
=#delfolder("PICS")
endif
; lösche den Ordner Inhalt
#delfolder(tstr)
pr=fo("/"+tstr r)
for cnt 1 1000 1
tmp=fr(fnam pr)
if tmp>0
then
fd("/"+tstr+"/"+fnam)
else
break
endif
next
fc(pr)
>m
$1
#
>W
; zeige einige Werte im WEBUI
Filesystem frei{m}%3(fsi(1)/1000)% MB
bu(bs "ok" "Bild speichern")
bu(df "ok" "Bildordner leeren")
; zeige stream auf WEBUI
$<br>
$<img src="http://%lip%:81/stream" style="width:%w%px;height:%h%px">
$<br><center>webcam stream
$<br>
-
Kann den Fehler reproduzieren.
Man kann keine mail mehr versenden. Es gab in letzter Zeit unzählige Änderungen an Tasmota.
Da ist wohl wieder mal was schief gegangen.
Suche den Fehler.
-
So, schlechte Nachrichten. Offensichtlich gab es Änderungen im SDK die dafür sorgen dass das email Senden mehr Speicher verbraucht also bisher.
ab ca 110kb heap stürzt email ab wegen Speichermangel.
Wir liegen knapp an der Grenze ca 110-120.
Ohne Webcam kann ma problemlos email verschicken da man dort ca 130-150k heap hat
Weis nicht ob ich da was drehen kann. die Webcam selbst verbraucht schon gut 40 kB heap die ich auch nicht reduzieren kann trotz PSRAM
-
Hallo gemu2015
Kann man die Werte z.B. vom Pir 1 oder 0 im webui nicht einstellig anzeigen lassen.
Oder den Inhalt einer Variablen anstatt 1.00 einfach 1 oder 0 anzeigen.
-
Hallo gemu2015
ich habe immer noch Probleme mit dem PIR
der PIR bringt bei Erkennung ein 3,3V Signal. Wenn ich den PIR an Pin 4 oder Pin 3 oder Pin 2 anschließe funktioniert er, bringt aber immer Fehlimpulse und löst aus. es liegt aber nicht am PIR sondern muss mit den jeweiligen Pin s zusammen hängen. Hast du vieleicht eine Idee was man da machen könnte oder welchen Pin ich sonst noch nehmen kann.
vielen Dank schon mal im voraus
-
-
Danke für deinen Ratschlag.
Aber es ist nicht der PIR der die Fehlimpulse auslöst, ich habe Messgeräte am PIR angeschlossen der arbeitet einwandfrei. Es muss mit den Pin s von der Cam zusammen hängen.
-