NEWS
ESP32 Cam mit Wlan
-
Kurzer Zwischenstand von mir:
Es war ein schönes Bastelprojekt zum Spielen. Allerdings bekomme ich das Teil nicht stabil zum Laufen. Spätestens alle 72 Stunden hängt sich der ESP auf.
Für mich nicht weiter Tragisch, da ich das nur als "Fingerübung" gesehen habe. Aber als "echte" Überwachungskamera würde ich das Teil wohl eher nicht einsetzen. Zumal eine billige Chinacam auch nur mit 12 -15 € zu Buche schlägt.Trotzdem auch ganz herzlichen Dank an knopers1 für die nette Idee (bzw. die Infos zu dem Projekt).
-
@haselchen nein, das stellst du dann im Skript ein mit welcher verzögerung er wieder auf false geht.
mit wie lange meinst du die Aufnahme? das stellst du in motioneye direkt ein. -
Okay . Nun müsstest du doch netterweise ne kleine Step by Step Anleitung schreiben. Mit eingenen Datenpunkten etc habe ich noch nicht gearbeitet.
-
@haselchen kann ich morgen machen, für heut erstmal Feierabend, muss sehr früh wieder raus
-
Dito. Die Koje ruft.
Schlaf gut und Danke schonmal für Deine Hilfe. -
@Chaot
Ich sehe es ebenfalls als Bastelprojekt.
Framerate liegt bei ca. max 12 f/s (800x600px), also ziemlich ruckelig.
Aufhängen tut sich der ESP bei mir zwar nicht, allerdings erscheinen im Cam-Bild manchmal nach einer gewissen Laufzeit am unteren Bildrand Artefakte, die nur mit Rebbot zu beheben sind.
Hatte ich bisher bei allen meinen 3 "Spiel-Cams".Gruß
Jörg -
Wie ihr lest, bastel ich auch seit geraumer Zeit an den Kameras rum.
Ich hab zusätzlich noch die TTGO mit Bewegungsmelder. Mit den Abstürzen kann ich bestätigen. Und auch das wahllose zurücksetzen der Auflösung ist ein Graus.
Einzig die Einbindung in MotionEye ist top und das schicken von Bildern bei Bewegung ist super.
Wermutstropfen, die Kamera ist nur bei Tageslicht zu gebrauchen. Es gibt keine IR Leds. -
@haselchen könntest aber die cam an sich austauschen, gibt ja extra dafür noch ein anderes Model, weiss nur nicht die Bezeichnung aus dem Stehgreif und Ir mit dran basteln, da du ja gerne bastelst
-
Ne Ne, damit bin ich durch
Nur noch Deine Anleitung für die Motion Sache und dann habe ich auch fertig mit dem "Bastelding"
Zur Überwachung des Briefkastens vollkommen okay das Teil.
In Zukunft kommen dann "richtige" Kameras zur Hausüberwachung. -
Nochmal die Frage was Motioneye überhaupt an Vorteilen bringt. Das habe ich noch nicht so ganz verstanden.
-
Motioneye ist quasi das All In One, dass alles bereitstellt.
Stream, Snapshot, Bewegungserkennung.
Das ist schon ne "Arbeitserleichterung", da Motioneye auch die URLs anzeigt, wie Du die Kamera erreichst (per Stream, Snapshot etc.)
Ausserdem kannst du dich benachrichtigen lassen bei Bewegungserkennung oder lässt dir Bilder abspeichern oder ganze Videos. -
OK, Installation nach der Anleitung?
https://github.com/ccrisan/motioneye/wiki/Install-On-Raspbian
Brauche ich auf das ffmeg Paket?
-
@haselchen also, was genau brauchst du nun?
-
Hi,
am besten Step by Step vom Datenpunkt einrichten bis Motioneye Einstellung , dass Bewegung erkannt wurde (im Datenpunkt) und dann , wenn möglich, per Telegramm nen Bild schicken.
-
@haselchen also ok, mal schaun ob ich das so zusammen bekomm.
Datenpunkt erstellst du wie hier zu sehen unter Objekte, oben auf das +
Da erstellst du einen Ordner Kamera, mit dem Unterpunkt detection-haustuer
falls du ein weiteres skript, für eine andere Kamera verwendest, kannst du dann einen weiteren Unterpunkt im Ordner Kamera erstellen, zb. kamera.0.irgendwas
Dann erstellst du dir einen weiteren Datenpunkt, um zu triggern, in dem Fall
kamer.0.trigger-haustuerdas wäre mal ein Skriptbeispiel
BlocklyJavascriptTypeScript Protokoll Ausgewählte Blöcke exportieren <xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="timeout">timeout</variable> <variable type="undefined" id="timeout2">timeout2</variable> </variables> <block type="on_ext" id="`GUr59!Yl5mDs=I+Jo5B" x="-2087" y="-438"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="n1LLug[:];X(NGRrHI9M"> <field name="oid">kamera.0.detection-haustuer</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="Ci9yel;nZt;3HGWWTd%p"> <value name="IF0"> <block type="logic_compare" id="fsEVLCKjDeTnXQO4viQs"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="G2%KCoV,9q)w;P-cWe8F"> <field name="ATTR">val</field> <field name="OID">kamera.0.detection-haustuer</field> </block> </value> <value name="B"> <block type="logic_boolean" id="T#4?AUYpx3)^tR)foJe("> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="4N)7(_2cP}HZ|}FBw=8|"> <field name="INSTANCE">.1</field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="W6;1HREN=O|*]-[/it?8"> <field name="TEXT">Bewegung erkannt!</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="0[]Zqa;B0EX}E|~T8FNe"> <mutation name="foto senden"></mutation> <next> <block type="control" id="=~//[QijuXgTUV`dhK6C"> <mutation delay_input="true"></mutation> <field name="OID">javascript.0.scriptEnabled.Kamera.Haustür.tastatur_telegram</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">4000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="*BFJ2YXRb2o:Qeq*N?5X"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="!m?e.^@6?i_F`}]9=Ft8"> <mutation delay_input="true"></mutation> <field name="OID">kamera.0.detection-haustuer</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="{v962!L:c8dT,7_3LPG/"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="on_ext" id="f}:uXO2?99R}?f]h]J-S"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="O~3FDvDA|ALVHq{WMp,,"> <field name="oid">kamera.0.trigger-haustuer</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="=39a/~tBL~MwYaS3UiJy"> <value name="IF0"> <block type="logic_compare" id="HiX[Jr;9d)MV4H#35zrD"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="6?v]cu);WSySwi#k(|I3"> <field name="ATTR">val</field> <field name="OID">kamera.0.trigger-haustuer</field> </block> </value> <value name="B"> <block type="logic_boolean" id="-012d]m,uHS7@TBav3ER"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="ZPW9T~}t6~|bgFE0{,DB"> <mutation name="foto senden"></mutation> <next> <block type="control" id="E=-#mYU=W5y(Y~c1;!CP"> <mutation delay_input="false"></mutation> <field name="OID">kamera.0.trigger-haustuer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Ix*!Q|=a`[:8b(M-yoEw"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="81sYN{XDiN!(STP#]^2j"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Kamera.Haustür.tastatur_telegram</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="ng^-#81XBFGuI63xNT:k"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="f*#!W[jcd/GhWJRn{%ZK"> <mutation delay_input="true"></mutation> <field name="OID">javascript.0.scriptEnabled.Kamera.Haustür.tastatur_telegram</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">3</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="y5E9=KXkltEoCF#+;m7y"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> <block type="procedures_defnoreturn" id="~pPk?PHjzu0{iCY*^,Mh" x="-1088" y="-312"> <field name="NAME">foto senden</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="timeouts_settimeout" id="%parHE%U;Jg[8keop7B#"> <field name="NAME">timeout</field> <field name="DELAY">1500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="exec" id=")s4eqoL)+rnTyhSAl1/f"> <mutation with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="COMMAND"> <shadow type="text" id="x`Y6eq`nky[SMncjoLv."> <field name="TEXT">wget --output-document /opt/iobroker/ipcam/alarm.jpg http://admin:JuNoLe.77@192.168.178.97:80/mjpeg/snap.cgi?chn=0</field> </shadow> </value> <next> <block type="timeouts_settimeout" id="%@nkC[RH(?Ec:@AGgZ:,"> <field name="NAME">timeout2</field> <field name="DELAY">1500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="telegram" id="d38k#q#az~Oi^iSLuj9."> <field name="INSTANCE">.1</field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="at(q2i6A623??3sky7BI"> <field name="TEXT">/opt/iobroker/ipcam/alarm.jpg</field> </shadow> </value> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </xml> <xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="timeout">timeout</variable> <variable type="undefined" id="timeout2">timeout2</variable> </variables> <block type="on_ext" id="`GUr59!Yl5mDs=I+Jo5B" x="-2087" y="-438"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="n1LLug[:];X(NGRrHI9M"> <field name="oid">kamera.0.detection-haustuer</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="Ci9yel;nZt;3HGWWTd%p"> <value name="IF0"> <block type="logic_compare" id="fsEVLCKjDeTnXQO4viQs"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="G2%KCoV,9q)w;P-cWe8F"> <field name="ATTR">val</field> <field name="OID">kamera.0.detection-haustuer</field> </block> </value> <value name="B"> <block type="logic_boolean" id="T#4?AUYpx3)^tR)foJe("> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="4N)7(_2cP}HZ|}FBw=8|"> <field name="INSTANCE">.1</field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="W6;1HREN=O|*]-[/it?8"> <field name="TEXT">Bewegung erkannt!</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="0[]Zqa;B0EX}E|~T8FNe"> <mutation name="foto senden"></mutation> <next> <block type="control" id="=~//[QijuXgTUV`dhK6C"> <mutation delay_input="true"></mutation> <field name="OID">javascript.0.scriptEnabled.Kamera.Haustür.tastatur_telegram</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">4000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="*BFJ2YXRb2o:Qeq*N?5X"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="!m?e.^@6?i_F`}]9=Ft8"> <mutation delay_input="true"></mutation> <field name="OID">kamera.0.detection-haustuer</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="{v962!L:c8dT,7_3LPG/"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="on_ext" id="f}:uXO2?99R}?f]h]J-S"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="O~3FDvDA|ALVHq{WMp,,"> <field name="oid">kamera.0.trigger-haustuer</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="=39a/~tBL~MwYaS3UiJy"> <value name="IF0"> <block type="logic_compare" id="HiX[Jr;9d)MV4H#35zrD"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="6?v]cu);WSySwi#k(|I3"> <field name="ATTR">val</field> <field name="OID">kamera.0.trigger-haustuer</field> </block> </value> <value name="B"> <block type="logic_boolean" id="-012d]m,uHS7@TBav3ER"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="ZPW9T~}t6~|bgFE0{,DB"> <mutation name="foto senden"></mutation> <next> <block type="control" id="E=-#mYU=W5y(Y~c1;!CP"> <mutation delay_input="false"></mutation> <field name="OID">kamera.0.trigger-haustuer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Ix*!Q|=a`[:8b(M-yoEw"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="81sYN{XDiN!(STP#]^2j"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Kamera.Haustür.tastatur_telegram</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="ng^-#81XBFGuI63xNT:k"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="f*#!W[jcd/GhWJRn{%ZK"> <mutation delay_input="true"></mutation> <field name="OID">javascript.0.scriptEnabled.Kamera.Haustür.tastatur_telegram</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">3</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="y5E9=KXkltEoCF#+;m7y"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> <block type="procedures_defnoreturn" id="~pPk?PHjzu0{iCY*^,Mh" x="-1088" y="-312"> <field name="NAME">foto senden</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="timeouts_settimeout" id="%parHE%U;Jg[8keop7B#"> <field name="NAME">timeout</field> <field name="DELAY">1500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="exec" id=")s4eqoL)+rnTyhSAl1/f"> <mutation with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="COMMAND"> <shadow type="text" id="x`Y6eq`nky[SMncjoLv."> <field name="TEXT">wget --output-document /opt/iobroker/ipcam/alarm.jpg http://admin:JuNoLe.77@192.168.178.97:80/mjpeg/snap.cgi?chn=0</field> </shadow> </value> <next> <block type="timeouts_settimeout" id="%@nkC[RH(?Ec:@AGgZ:,"> <field name="NAME">timeout2</field> <field name="DELAY">1500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="telegram" id="d38k#q#az~Oi^iSLuj9."> <field name="INSTANCE">.1</field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="at(q2i6A623??3sky7BI"> <field name="TEXT">/opt/iobroker/ipcam/alarm.jpg</field> </shadow> </value> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </xml>
damit das Skript funktioniert, musst du dir noch einen Ordner anlegen, wohin das Bild gespeichert wird.
in diesem Fall unter
/opt/iobroker/ipcam/alarm.jpgDer exec Befehl in dem Beispiel(pfad dann entsprechend Snapshot URL deiner cam in Motion)
wget --output-document /opt/iobroker/ipcam/alarm.jpg http://Benutzer:Passwort@IPdercam:80/mjpeg/snap.cgi?chn=0In Motioneye unter Motion Notifications
Web Hook URL
http://IP-Iobroker:8087/set/kamera.0.detection-haustuer?value=trueIn Text-Kommandos richtest du dir diese Punkte ein
denke das war alles, viel Erfolg beim einrichten
ein weiteres skript Beispiel in JS gibt es Hier
einfach einzurichten, nur deinen Pfad der Kamera und Speicherort eintragen und ebenfalls in text to command deine trigger einrichten -
Guten Abend.
Ich habe mir auch eine Esp32 CAM geflaggt und installiert.
Leider startet sie irgendwie nur nach einem
drücken des Resetknopfes. Alleiniges Anlegen der Spannung reicht leider nicht. Ist das bei euch auch so? Im Gehäuse verbaut kommt man halt Schwö hat an den Resetknopf. -
Ja, ist glaube ich, bei mir auch so.
Kenne jetzt die Schaltung nicht, aber mit einem R-C Glied am Reset könnte der Reset dann verzögert kommen.
Hat jemand einen Schaltplan? -
Ich muss leider noch einmal wegen dem Widget nerven.
Ich bekomme das mit dem Basic iFrame nicht zum Laufen. In der Quelle habe ich folgendes eigegeben:
http://192.168.178.62:81/capture
http://192.168.178.62:81/stream
http://192.168.178.62:81
http://192.168.178.62Hat leider alles nichts gebracht.
-
@hg6806
IP_derKamera/capture. Da steht doch nichts über Port 81....
Lass den Port weg, dann wird es schon funzen.Stream ist über den Port 81 erreichbar,
192.168.178.62:81/stream sollte funktionieren. Es sei denn, du hast den Port im Sketch geändert. -
http://192.168.178.62/capture geht auch nicht, ebensowenig :81/stream, wie schon geschrieben.
Im Browser geht auch nur http://192.168.178.62