siehe post #217 (#203)
Beiträge von gemu2015
-
-
wir hatten das schon mal ganz am Anfang
hier der Kode (nur zusätzliche Zeilen)
>D
mot=0
bri=0
>B
; starte motion detector Bildvergleich alle 1000 ms
mot=wc(6 1000)
>S
; Schwelle individuell einstellen, hier z.B. 2000
mot=wc(6 -1)
if mot>2000
then
; alarm
endif
; hole Helligkeit
bri=wc(6 -2)
Der Software Bewegungsmelder vergleicht Bilder im Zeitabstand von z.B. jeder Sekunde pixelweise.
Das bedeutet aber dass das Live Bild jede Sekunde kurz anhält so lange die Berechnung dauert
optional liefert der Algorithmus noch die Bildhelligkeit.
Gesichtserkennung ist auch eingebaut (allerdings nur ob ein Gesicht gefunden wurde, nicht ein individuelles):
>D
faces=0
>B
; Gesichtserkennung jede Sekunde starten
faces=wc(7 1000)
>S
; Anzahl der im Bild gefundenen Gesichter
faces=wc(7 -1)
Das ist aber noch zeitraubender als der Bewegungsmelder
-
ein paar allgemeine Bemerkungen:
Ihr solltet zuallererst mit der Tasmota webcam bin testen ob es prinzipiell geht bevor ihr Versionen mit Scripter versucht.
Es gibt leider viele schlechte Module oder welche die andere Pins verwenden oder sogar welche die kein PSRAM haben.
Module mit anderen Pins kann man auch anpassen ist aber etwas komplizierter.
Beim selbst kompilieren müsst ihr tasmota32-webcam auswählen bei anderen Einstellungen wird das PSRAM nicht eingebunden.
Wenn das PSRAM nicht gefunden wird kann man nur ganz kleine Bildformate anzeigen und Tasmota stürzt dauernd aus Speichermangel ab.
Ihr solltet auch den WebLoglevel auf "Mehr Details" einstellen und in der Konsole sehen welche Fehlermeldungen erscheinen.
Wenn ihr emails verschicken wollt müsst ihr die Änderungen vornehmen die ich oben angegeben habe (#203)
Und nochmal: an Pin 0 darf nach dem Flashen gar kein Draht angeschlossen bleiben auch nicht mal ein ganz kurzer.
-
Weis nicht genau wie dein Zähler arbeitet aber
versuchs mal damit:
>D
sw=0
zaehler_gesamt=0
zaehler_ht=0
zaehler_nt=0
>B
->sensor53 r
; kein Komma zwischen Parametern P = Input mit Pullup
spinm(14 P)
>W
bu(sw "HT" "NT")
HT Counts: {m} %zaehler_ht%
NT Counts: {m} %zaehler_nt%
>M 1
+1,5,c,0,100,EG
1,1-0:1.8.0*255(@1,Umdrehungen,,zaehler_counts,0
1,1-0:1.8.0*255(@75,Verbrauch,KWh,zaehler_verbrauch,2
1,=h==============================
#
>T
zaehler_gesamt=EG#zaehler_counts
>F
sw=pin[14]
;HT
if sw==0
zaehler_ht=zaehler_gesamt
else
; NT
zaehler_nt=zaehler_gesamt
endif
-
ja die Tasmota Leute haben das wieder zurück geändert.
in platform_tasmota_env32.ini must du lib_extra_dirs ändern:
[env:tasmota32-webcam]
extends = env:tasmota32
board = esp32cam
board_build.f_cpu = 240000000L
build_flags = ${common32.build_flags} -DFIRMWARE_WEBCAM
;lib_extra_dirs = lib/libesp32, lib/lib_basic
lib_extra_dirs = lib/libesp32, lib/lib_basic, lib/lib_i2c, lib/lib_rf, lib/lib_div, lib/lib_ssl, lib/lib_display
sehr merkwürdige Sachen hast du da. Keine Ahnung was da bei dir schief läuft, sorry.
Das WebUi müsste ganz normal reagieren zumindest wenn der Webcam Stream ausgeschaltet ist.
-
-
Habe meinen SML Zähler gerade mit der allerneusten Dev OTA upgedated.
Funktioniert ohne Probleme.
Dein Script habe ich auch kurz getestet. Ebenfalls ohne Probleme.
Hat sich einiges beim Layout der Settings geändert. Hast du es mal mit Reset 6 versucht?
-
pass auf wenn du dauern emails schickst wird dein account gesperrt.
kommentiere email erst mal aus und setzte nur einen
z.B.
print email wird gesendet
ein
und erst wenn das nur einmal getriggert wird bau wieder die mail ein.
also normalerweise muss man die mail z.B. mindesten 60 Sekunden blockieren
und auch nur bei einer Flanke triggern , also wenn sw von 1 auf 0 geht
>D
sw=0
t:timer=0
; nimm besser >S statt >F
>S
if chg[sw]>0
and sw==0
and timer==0
then
print sende email
timer=60
endif
-
Leider gibt die email Routine nur einen Fehler aus "wrong parameters"
Wenn man detaillierte Meldungen will müsste man mit
#define DEBUG_EMAIL_PORT kompilieren
einen Fehler sehe ich aber direkt
es fehlt die eckige Klammer zu!
=>sendmail[*:*:*:*:*:<xxxxxxx@mail.signl4.com:TEST] Testsendung
-
Das geht definitiv nicht. Es wird nur jeweils 1 Display unterstützt.
Du musst dann halt ein größeres auswählen wenn du mehr Infos unterbringen willst.
das hier ist extrem preiswert und hat mit 240x240 Pixeln eine respektable Auflösung:
-
geh zurück zu meinem download, habe die bin upgedatet.
-
Der Fehler beim Downloaden von Bildern liegt am Filemanager nicht an der Webcam. Habe das behoben und mache später einen PR bei Tasmota.
in meinem Fork ist der Fehler seit heute morgen behoben
Das ist ein Runtimefehler der webcam. Die hat einen eigenen I2C Bus und dieser Fehler tritt immer mal wieder auf, kommt aber aus dem CAM Treiber des SDK nicht aus Tasmota. Scheint aber die Funktion nicht zu beinträchtigen.
-
hab das jetzt in meinem fork geändert
wenn du ihn jetzt runterlässt kannst du tasmota32-webcam nehmen
-
ok, hab jetzt mal meinen eigenen Fork runtergeladen und gesehen woran es liegt.
Ich nehme an du verwendest die Tasmota-webcam definition in Tasmota_env32
dort ist aber die webcam unzureichend definiert. (ich hab den Fehler nicht weil ich die webcam selbst definiere)
ändere das so:
[env:tasmota32-webcam]
extends = env:tasmota32
board = esp32cam
board_build.f_cpu = 240000000L
build_flags = ${common32.build_flags} -DFIRMWARE_WEBCAM
;lib_extra_dirs = lib/libesp32, lib/lib_basic
lib_extra_dirs =
lib/libesp32
lib/lib_basic
lib/lib_i2c
lib/lib_display
lib/lib_ssl
lib/lib_audio
lib/lib_rf
lib/lib_div
-
lösch einfach die beiden Dateien
WiFiClientSecureLightBearSSL.cpp
WiFiClientSecureLightBearSSL.h
die brauchst du nicht für die CAM
Trotzdem verstehe ich diesen Fehler nicht.
-
ok mein fork läuft durch mit ATOM und Platformio.
verwendest du VSC ? da gibt es manchmal Unterschiede und er findet eine Library nicht.
da wir bearssl nicht brauchen kannst du das auch ausschalten in dem du in der Datei
WiFiClientSecureLightBearSSL.cpp
die Zeile #if defined(USE_TLS) mit #if 0 ersetzt
dann sucht er nicht mehr nach dieser LIB
#include "my_user_config.h"
#include "tasmota_configurations.h"
#if defined(USE_TLS)
// #define DEBUG_TLS
// #define DEBUG_ESP_SSL
#define LWIP_INTERNAL
-
in deiner config scheint alles in Ordnung zu sein.
Ist denn die t_bearssl.h in deiner Lib vorhanden ?
welche fork hast du verwendet ?
-
-
hast du die allerneuste Tasmota Version genommen ?
Dort wurde was an TLS geändert. Es scheint als hätte die Fehlermeldung damit zu tun.
Ich hab diese Änderungen noch nicht übernommen. Mein Fork macht den Fehler nicht.
-
es gibt SENDEMAIL NICHT!
da es das nicht gibt, wird gar keine mail kompiliert und es gibt auch keine Fehlermeldung.
Was für eine Fehlermeldung gibt es denn bei dir ?