Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. ESP32 Cam mit Wlan

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

ESP32 Cam mit Wlan

Geplant Angeheftet Gesperrt Verschoben Hardware
372 Beiträge 42 Kommentatoren 100.5k Aufrufe 59 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • WebrangerW Webranger

    @haselchen sagte in ESP32 Cam mit Wlan:

    @Webranger

    Vorm Hochladen musste den Resetknopf drücken

    Kurz drücken oder festhalten?

    haselchenH Offline
    haselchenH Offline
    haselchen
    Most Active
    schrieb am zuletzt editiert von
    #125

    @Webranger
    Wenn er connecting unten schreibt, dann
    Kurz drücken.

    Ich habe einen FDI Adapter. Bei mir steht dann ein COM Port.

    Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

    1 Antwort Letzte Antwort
    0
    • WebrangerW Offline
      WebrangerW Offline
      Webranger
      schrieb am zuletzt editiert von
      #126

      2019-10-01 15.11.16.jpg

      2019-10-01 15.11.47.jpg

      Meiner Meinung nach alles richtig angeschlossen.
      jumper auf 3,3 volt und gnd mit IO0 gebrückt

      Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

      coyoteC 1 Antwort Letzte Antwort
      0
      • marcusklM Offline
        marcusklM Offline
        marcuskl
        schrieb am zuletzt editiert von
        #127

        Ich habe die ESP Cam Dinger auch schon länger im Hinterkopf.
        Da die Software dazu auch eine Gesichtserkennung eingebaut hat, wäre interessant, ob man damit dann zum beispiel Anwesenheit von Personen prüfen kann.
        Aber ob die Auflösung und Bilder pro sek dafür reichen...

        Hat das jemand schon getestet oder ähnliches versucht und hat Feedback ?

        Host: Intel Nuc6cayh (16GB Ram, 240GB SSD) mit Proxmox.

        Iobroker VM, InfluxDB LXC, Pihole LXC, Tasmoadmin LXC, Easy2connect VM

        haselchenH 1 Antwort Letzte Antwort
        0
        • WebrangerW Webranger

          2019-10-01 15.11.16.jpg

          2019-10-01 15.11.47.jpg

          Meiner Meinung nach alles richtig angeschlossen.
          jumper auf 3,3 volt und gnd mit IO0 gebrückt

          coyoteC Offline
          coyoteC Offline
          coyote
          Most Active
          schrieb am zuletzt editiert von
          #128

          @Webranger probiere mal 5V mit 3.3V ging es bei mir auch nicht.

          WebrangerW 1 Antwort Letzte Antwort
          0
          • coyoteC coyote

            @Webranger probiere mal 5V mit 3.3V ging es bei mir auch nicht.

            WebrangerW Offline
            WebrangerW Offline
            Webranger
            schrieb am zuletzt editiert von
            #129

            @coyote Probiert aber macht keinen unterschied.

            Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

            haselchenH 1 Antwort Letzte Antwort
            0
            • WebrangerW Webranger

              @coyote Probiert aber macht keinen unterschied.

              haselchenH Offline
              haselchenH Offline
              haselchen
              Most Active
              schrieb am zuletzt editiert von haselchen
              #130

              @Webranger

              Welche Fehlermeldung gibt es denn ?
              Welche Arduino Version?

              Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

              WebrangerW 1 Antwort Letzte Antwort
              0
              • marcusklM marcuskl

                Ich habe die ESP Cam Dinger auch schon länger im Hinterkopf.
                Da die Software dazu auch eine Gesichtserkennung eingebaut hat, wäre interessant, ob man damit dann zum beispiel Anwesenheit von Personen prüfen kann.
                Aber ob die Auflösung und Bilder pro sek dafür reichen...

                Hat das jemand schon getestet oder ähnliches versucht und hat Feedback ?

                haselchenH Offline
                haselchenH Offline
                haselchen
                Most Active
                schrieb am zuletzt editiert von
                #131

                @marcuskl

                Was das Programmieren betrifft kann ich dir nicht helfen, aber die Kamera, die kann ich dir beschreiben.
                Auflösung und Bilder pro Sekunde sind passabel bis 800x600. Danach wird es bei mir Daumenkino.
                Du musst dir im Klaren sein, dass dunkel gleich dunkel bedeutet. Gerade in der jetzigen Jahreszeit siehste ab 18Uhr nichts mehr mit der Kamera. Nur bei voller Helligkeit hat sie ihre Stärken.

                Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                1 Antwort Letzte Antwort
                0
                • haselchenH haselchen

                  @Webranger

                  Welche Fehlermeldung gibt es denn ?
                  Welche Arduino Version?

                  WebrangerW Offline
                  WebrangerW Offline
                  Webranger
                  schrieb am zuletzt editiert von Webranger
                  #132

                  @haselchen sagte in ESP32 Cam mit Wlan:

                  @Webranger

                  Welche Fehlermeldung gibt es denn ?
                  Welche Arduino Version?

                  Fehlermeldung:

                  Arduino: 1.8.10 (Mac OS X), Board: "ESP32 Wrover Module, Huge APP (3MB No OTA), QIO, 80MHz, 921600, None"
                  
                  Der Sketch verwendet 767518 Bytes (24%) des Programmspeicherplatzes. Das Maximum sind 3145728 Bytes.
                  Globale Variablen verwenden 48668 Bytes (14%) des dynamischen Speichers, 279012 Bytes für lokale Variablen verbleiben. Das Maximum sind 327680 Bytes.
                  esptool.py v2.6
                  Serial port /dev/cu.usbserial-A50285BI
                  Connecting........_____....._____....._____....._____....._____....._____.....____Beim Hochladen des Sketches ist ein Fehler aufgetreten
                  _
                  
                  A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
                  
                  

                  Version 1.8.10

                  Alles drei mal probiert, langsam seh ich den Wald vor Bäumen nicht mehr.

                  Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                  haselchenH 1 Antwort Letzte Antwort
                  0
                  • ThisoftT Offline
                    ThisoftT Offline
                    Thisoft
                    schrieb am zuletzt editiert von
                    #133

                    Hast du mal Rxd und Txd getauscht?

                    22 HM-Geräte; PivCCU2 auf RasPi

                    ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                    1 Antwort Letzte Antwort
                    0
                    • WebrangerW Webranger

                      @haselchen sagte in ESP32 Cam mit Wlan:

                      @Webranger

                      Welche Fehlermeldung gibt es denn ?
                      Welche Arduino Version?

                      Fehlermeldung:

                      Arduino: 1.8.10 (Mac OS X), Board: "ESP32 Wrover Module, Huge APP (3MB No OTA), QIO, 80MHz, 921600, None"
                      
                      Der Sketch verwendet 767518 Bytes (24%) des Programmspeicherplatzes. Das Maximum sind 3145728 Bytes.
                      Globale Variablen verwenden 48668 Bytes (14%) des dynamischen Speichers, 279012 Bytes für lokale Variablen verbleiben. Das Maximum sind 327680 Bytes.
                      esptool.py v2.6
                      Serial port /dev/cu.usbserial-A50285BI
                      Connecting........_____....._____....._____....._____....._____....._____.....____Beim Hochladen des Sketches ist ein Fehler aufgetreten
                      _
                      
                      A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
                      
                      

                      Version 1.8.10

                      Alles drei mal probiert, langsam seh ich den Wald vor Bäumen nicht mehr.

                      haselchenH Offline
                      haselchenH Offline
                      haselchen
                      Most Active
                      schrieb am zuletzt editiert von haselchen
                      #134

                      @Webranger

                      Probier mal die Anleitung:

                      Für kleine Cam mal als Test, ob alles ok ist: in der IDE aus Beispiele/ESP32/Camera den CameraWebServer laden und mit Speichern unter im sketchbook speichern. Jetzt ziemlich oben im Sketch
                      Code:
                      // Select camera model
                      //#define CAMERA_MODEL_WROVER_KIT
                      //#define CAMERA_MODEL_M5STACK_PSRAM
                      //#define CAMERA_MODEL_AI_THINKER
                      //#define CAMERA_MODEL_ESP32CAM_M5

                      Die beiden // vor dem AI Thinker Board entfernen.
                      Bei ssid und password Deine WLAN-Daten eintragen, er startet im Station-Mode.

                      Board: ESP32 Dev Module
                      Partiton Scheme: Huge APP (3MB no OTA)

                      Port auswählen und flashen...
                      Seriell sollte Dir die IP ausgegeben werden die sie bekommen hat.
                      Im Browser aufrufen und überraschen lassen.

                      Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                      WebrangerW 1 Antwort Letzte Antwort
                      0
                      • haselchenH haselchen

                        @Webranger

                        Probier mal die Anleitung:

                        Für kleine Cam mal als Test, ob alles ok ist: in der IDE aus Beispiele/ESP32/Camera den CameraWebServer laden und mit Speichern unter im sketchbook speichern. Jetzt ziemlich oben im Sketch
                        Code:
                        // Select camera model
                        //#define CAMERA_MODEL_WROVER_KIT
                        //#define CAMERA_MODEL_M5STACK_PSRAM
                        //#define CAMERA_MODEL_AI_THINKER
                        //#define CAMERA_MODEL_ESP32CAM_M5

                        Die beiden // vor dem AI Thinker Board entfernen.
                        Bei ssid und password Deine WLAN-Daten eintragen, er startet im Station-Mode.

                        Board: ESP32 Dev Module
                        Partiton Scheme: Huge APP (3MB no OTA)

                        Port auswählen und flashen...
                        Seriell sollte Dir die IP ausgegeben werden die sie bekommen hat.
                        Im Browser aufrufen und überraschen lassen.

                        WebrangerW Offline
                        WebrangerW Offline
                        Webranger
                        schrieb am zuletzt editiert von
                        #135

                        @haselchen

                        Das ding bekommt ja nicht mal eine verbindung zustande.

                        @Thisoft ja Rxd ud Txd schon getausch aber keine veränderung

                        Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                        ThisoftT 1 Antwort Letzte Antwort
                        0
                        • WebrangerW Webranger

                          @haselchen

                          Das ding bekommt ja nicht mal eine verbindung zustande.

                          @Thisoft ja Rxd ud Txd schon getausch aber keine veränderung

                          ThisoftT Offline
                          ThisoftT Offline
                          Thisoft
                          schrieb am zuletzt editiert von
                          #136

                          @Webranger Naja - meines Wissens hat er schon eine Verbindung wenn er diese Connecting… Zeile anzeigt. Der ESP ist nur nicht im Bootmode…. Allerdings, was mir gerade auffällt "Jumper auf 3,3 Volt". Ich bin mir nicht sicher zumal ich keinen Adapter mit Jumper habe, aber ist hier nicht öfters davon die Rede dass das Modul lieber 5V haben möchte?

                          22 HM-Geräte; PivCCU2 auf RasPi

                          ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                          WebrangerW 1 Antwort Letzte Antwort
                          0
                          • ThisoftT Thisoft

                            @Webranger Naja - meines Wissens hat er schon eine Verbindung wenn er diese Connecting… Zeile anzeigt. Der ESP ist nur nicht im Bootmode…. Allerdings, was mir gerade auffällt "Jumper auf 3,3 Volt". Ich bin mir nicht sicher zumal ich keinen Adapter mit Jumper habe, aber ist hier nicht öfters davon die Rede dass das Modul lieber 5V haben möchte?

                            WebrangerW Offline
                            WebrangerW Offline
                            Webranger
                            schrieb am zuletzt editiert von
                            #137

                            @Thisoft Die 5volt beziehen sich wohl nur auf den betrieb von dem modul.
                            Aber das habe ich tatsächlich auch schon ausprobiert.

                            Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                            1 Antwort Letzte Antwort
                            0
                            • haselchenH Offline
                              haselchenH Offline
                              haselchen
                              Most Active
                              schrieb am zuletzt editiert von
                              #138

                              3,3V ist ok. Hatte ich auch. Wichtig ist, den Resetknopf zu drücken nachdem er den Connecting Countdown macht.

                              Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                              WebrangerW 1 Antwort Letzte Antwort
                              0
                              • haselchenH haselchen

                                3,3V ist ok. Hatte ich auch. Wichtig ist, den Resetknopf zu drücken nachdem er den Connecting Countdown macht.

                                WebrangerW Offline
                                WebrangerW Offline
                                Webranger
                                schrieb am zuletzt editiert von
                                #139

                                @haselchen Auch dieses habe ich gerade noch einmal geteste.
                                hochladen gedrückt, warte bis connecting.................. kommt und dann den kleinen reset knopf gedrückt.

                                Leider war es das auch nicht

                                Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                                ThisoftT 1 Antwort Letzte Antwort
                                0
                                • WebrangerW Webranger

                                  @haselchen Auch dieses habe ich gerade noch einmal geteste.
                                  hochladen gedrückt, warte bis connecting.................. kommt und dann den kleinen reset knopf gedrückt.

                                  Leider war es das auch nicht

                                  ThisoftT Offline
                                  ThisoftT Offline
                                  Thisoft
                                  schrieb am zuletzt editiert von
                                  #140

                                  @Webranger Also, ich hab den Resetknopf immer vorher gedrückt - nicht erst wenn die Connecting-Zeile kommt... Hast du nochmal gecheckt, dass du die richtigen beiden Anschlüsse (GND und GPIO0) verbunden hast?

                                  22 HM-Geräte; PivCCU2 auf RasPi

                                  ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                                  1 Antwort Letzte Antwort
                                  0
                                  • WebrangerW Offline
                                    WebrangerW Offline
                                    Webranger
                                    schrieb am zuletzt editiert von
                                    #141

                                    2019-10-01 17.46.08.jpg

                                    Das sieht so bei mir aus und schon paar mal komplett neu gesteckt heute.

                                    Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                                    ? 1 Antwort Letzte Antwort
                                    0
                                    • WebrangerW Webranger

                                      2019-10-01 17.46.08.jpg

                                      Das sieht so bei mir aus und schon paar mal komplett neu gesteckt heute.

                                      ? Offline
                                      ? Offline
                                      Ein ehemaliger Benutzer
                                      schrieb am zuletzt editiert von
                                      #142

                                      @Webranger ich glaube, das Problem beim flashen liegt eher an der Anbindung des FTDI Konverters zu deinem PC als am ESP... hast du den richtigen COM Port - mal ein anderen ESP am FTDI gesteckt um zu checken mit dem serial monitor, ob der ueberhaupt funktioniert...?? Nicht, dass es doch die falsche Schnittstelle ist...

                                      ThisoftT WebrangerW 2 Antworten Letzte Antwort
                                      0
                                      • joergeliJ Online
                                        joergeliJ Online
                                        joergeli
                                        schrieb am zuletzt editiert von joergeli
                                        #143

                                        Hallo zusammen,

                                        Ich habe vor ca. 1 Std. ebenfalls meine beiden ESP32-Cams geliefert bekommen und natürlich gleich ausprobiert.
                                        1.) FTDI USB-Seriell-Wandler auf 3,3V eingestellt (gejumpert).
                                        2.) Verkabelung gemäß: https://randomnerdtutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/ ( unter "Uploading the Code" )
                                        3.) Button an IO0 und GND angeschlossen.
                                        4.) Geflasht unter Arduino-IDE 1.8.10 / WIN7
                                        ( Während des Compilierens schon den RESET-Button und den Button an GPIO0 gedrückt halten )
                                        5.) Wenn Uploading .... kommt, den RESET-Button loslassen, den GPIO0-Button aber noch gedrückt lassen!.
                                        6.) Jetzt sollte das Hochladen beginnen.
                                        7.) Wenn fertig, den GPIO0-Button loslassen.
                                        8.) anschl. nochmals den RESET-Button kurz drücken.
                                        ( dann sollte im seriellen Monitor der Arduino-IDE der Bootvorgang und die IP-Adresse angezeigt werden).

                                        Wie gesagt, läuft bisher alles mit 3,3V, wobei es aber u.U. Probleme geben könnte.
                                        Dann beim Betrieb auf 5V umstellen - aber nicht beim Flashen!.

                                        Zusätzlich habe ich den Sketch etwas umgestrickt:
                                        1.) Statische IP vergeben ( habe ich bei stationären WLAN-Geräten lieber).
                                        2.) Video-Auflösung fest auf SVGA (800x600) eingestellt (UXGA hatte Artefakte und Frame-Rate war auch zu gering).

                                        An die "Gesichts-Erkenner":
                                        Ich hatte mal einen Raspi 3B mit Raspi-Cam gem. dieser Anleitung eingerichtet:
                                        https://www.instructables.com/id/Real-time-Face-Recognition-an-End-to-end-Project/

                                        Fazit: Um es mit Radio Eriwan zu sagen: Es funktioniert, aaaaaber .... ;-)
                                        Es ging zwar prinzipiell, daß das Kamera-Bild mit den vorher hinterlegten Snapshots der jeweilgen Person verglichen wurden, die Erkennungsrate ließ aber zu wünschen übrig.
                                        Es kommt dabei auch auf die momentanen Lichtverhältnisse an und ob sich Personen ähnlich sehen ( Brille, Bart, etc.)
                                        Kurzum, es war nur ein Versuch, der dann abgebrochen wurde.
                                        Wenn es "nur" darum geht, zu erkennen, ob ein Gesicht vor der Kamera herumturnt, oder z.B. ein Ball, dann kann es aber durchaus funktionieren.

                                        Anbei noch mein (abgewandelter) Sketch:

                                        
                                        
                                        /*********
                                          Rui Santos
                                          Complete project details at https://RandomNerdTutorials.com
                                          
                                          IMPORTANT!!! 
                                           - Select Board "ESP32 Wrover Module"
                                           - Select the Partion Scheme "Huge APP (3MB No OTA)
                                           - GPIO 0 must be connected to GND to upload a sketch
                                           - After connecting GPIO 0 to GND, press the ESP32-CAM on-board RESET button to put your board in flashing mode
                                          
                                          Permission is hereby granted, free of charge, to any person obtaining a copy
                                          of this software and associated documentation files.
                                        
                                          The above copyright notice and this permission notice shall be included in all
                                          copies or substantial portions of the Software.
                                        *********/
                                        
                                        #include "esp_camera.h"
                                        #include <WiFi.h>
                                        #include "esp_timer.h"
                                        #include "img_converters.h"
                                        #include "Arduino.h"
                                        #include "fb_gfx.h"
                                        #include "soc/soc.h" //disable brownout problems
                                        #include "soc/rtc_cntl_reg.h"  //disable brownout problems
                                        
                                        /*
                                         * #include "dl_lib.h"
                                         */
                                         
                                        #include "esp_http_server.h"
                                        
                                        
                                        //WLAN
                                        const char ssid[] = "xxxxxxxx";    //### your WLAN SSID
                                        const char pwd[]  = "yyyyyyyy";    //### your WLAN Password
                                        bool dynIP = false;                //### DynamicIP (DHCP)?  Set to "false", if static IP is required.  !!!!!! In this case you must set your network parameters in setup-section !!!!!!!!!!
                                        
                                        
                                        
                                        
                                        #define PART_BOUNDARY "123456789000000000000987654321"
                                        
                                        // This project was tested with the AI Thinker Model, M5STACK PSRAM Model and M5STACK WITHOUT PSRAM
                                        #define CAMERA_MODEL_AI_THINKER
                                        //#define CAMERA_MODEL_M5STACK_PSRAM
                                        //#define CAMERA_MODEL_M5STACK_WITHOUT_PSRAM
                                        
                                        // Not tested with this model
                                        //#define CAMERA_MODEL_WROVER_KIT
                                        
                                        #if defined(CAMERA_MODEL_WROVER_KIT)
                                          #define PWDN_GPIO_NUM    -1
                                          #define RESET_GPIO_NUM   -1
                                          #define XCLK_GPIO_NUM    21
                                          #define SIOD_GPIO_NUM    26
                                          #define SIOC_GPIO_NUM    27
                                          
                                          #define Y9_GPIO_NUM      35
                                          #define Y8_GPIO_NUM      34
                                          #define Y7_GPIO_NUM      39
                                          #define Y6_GPIO_NUM      36
                                          #define Y5_GPIO_NUM      19
                                          #define Y4_GPIO_NUM      18
                                          #define Y3_GPIO_NUM       5
                                          #define Y2_GPIO_NUM       4
                                          #define VSYNC_GPIO_NUM   25
                                          #define HREF_GPIO_NUM    23
                                          #define PCLK_GPIO_NUM    22
                                        
                                        #elif defined(CAMERA_MODEL_M5STACK_PSRAM)
                                          #define PWDN_GPIO_NUM     -1
                                          #define RESET_GPIO_NUM    15
                                          #define XCLK_GPIO_NUM     27
                                          #define SIOD_GPIO_NUM     25
                                          #define SIOC_GPIO_NUM     23
                                          
                                          #define Y9_GPIO_NUM       19
                                          #define Y8_GPIO_NUM       36
                                          #define Y7_GPIO_NUM       18
                                          #define Y6_GPIO_NUM       39
                                          #define Y5_GPIO_NUM        5
                                          #define Y4_GPIO_NUM       34
                                          #define Y3_GPIO_NUM       35
                                          #define Y2_GPIO_NUM       32
                                          #define VSYNC_GPIO_NUM    22
                                          #define HREF_GPIO_NUM     26
                                          #define PCLK_GPIO_NUM     21
                                        
                                        #elif defined(CAMERA_MODEL_M5STACK_WITHOUT_PSRAM)
                                          #define PWDN_GPIO_NUM     -1
                                          #define RESET_GPIO_NUM    15
                                          #define XCLK_GPIO_NUM     27
                                          #define SIOD_GPIO_NUM     25
                                          #define SIOC_GPIO_NUM     23
                                          
                                          #define Y9_GPIO_NUM       19
                                          #define Y8_GPIO_NUM       36
                                          #define Y7_GPIO_NUM       18
                                          #define Y6_GPIO_NUM       39
                                          #define Y5_GPIO_NUM        5
                                          #define Y4_GPIO_NUM       34
                                          #define Y3_GPIO_NUM       35
                                          #define Y2_GPIO_NUM       17
                                          #define VSYNC_GPIO_NUM    22
                                          #define HREF_GPIO_NUM     26
                                          #define PCLK_GPIO_NUM     21
                                        
                                        #elif defined(CAMERA_MODEL_AI_THINKER)
                                          #define PWDN_GPIO_NUM     32
                                          #define RESET_GPIO_NUM    -1
                                          #define XCLK_GPIO_NUM      0
                                          #define SIOD_GPIO_NUM     26
                                          #define SIOC_GPIO_NUM     27
                                          
                                          #define Y9_GPIO_NUM       35
                                          #define Y8_GPIO_NUM       34
                                          #define Y7_GPIO_NUM       39
                                          #define Y6_GPIO_NUM       36
                                          #define Y5_GPIO_NUM       21
                                          #define Y4_GPIO_NUM       19
                                          #define Y3_GPIO_NUM       18
                                          #define Y2_GPIO_NUM        5
                                          #define VSYNC_GPIO_NUM    25
                                          #define HREF_GPIO_NUM     23
                                          #define PCLK_GPIO_NUM     22
                                        #else
                                          #error "Camera model not selected"
                                        #endif
                                        
                                        static const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;
                                        static const char* _STREAM_BOUNDARY = "\r\n--" PART_BOUNDARY "\r\n";
                                        static const char* _STREAM_PART = "Content-Type: image/jpeg\r\nContent-Length: %u\r\n\r\n";
                                        
                                        httpd_handle_t stream_httpd = NULL;
                                        
                                        static esp_err_t stream_handler(httpd_req_t *req){
                                          camera_fb_t * fb = NULL;
                                          esp_err_t res = ESP_OK;
                                          size_t _jpg_buf_len = 0;
                                          uint8_t * _jpg_buf = NULL;
                                          char * part_buf[64];
                                        
                                          res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);
                                          if(res != ESP_OK){
                                            return res;
                                          }
                                        
                                          while(true){
                                            fb = esp_camera_fb_get();
                                            if (!fb) {
                                              Serial.println("Camera capture failed");
                                              res = ESP_FAIL;
                                            } else {
                                              if(fb->width > 400){
                                                if(fb->format != PIXFORMAT_JPEG){
                                                  bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);
                                                  esp_camera_fb_return(fb);
                                                  fb = NULL;
                                                  if(!jpeg_converted){
                                                    Serial.println("JPEG compression failed");
                                                    res = ESP_FAIL;
                                                  }
                                                } else {
                                                  _jpg_buf_len = fb->len;
                                                  _jpg_buf = fb->buf;
                                                }
                                              }
                                            }
                                            if(res == ESP_OK){
                                              size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);
                                              res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);
                                            }
                                            if(res == ESP_OK){
                                              res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);
                                            }
                                            if(res == ESP_OK){
                                              res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));
                                            }
                                            if(fb){
                                              esp_camera_fb_return(fb);
                                              fb = NULL;
                                              _jpg_buf = NULL;
                                            } else if(_jpg_buf){
                                              free(_jpg_buf);
                                              _jpg_buf = NULL;
                                            }
                                            if(res != ESP_OK){
                                              break;
                                            }
                                            //Serial.printf("MJPG: %uB\n",(uint32_t)(_jpg_buf_len));
                                          }
                                          return res;
                                        }
                                        
                                        void startCameraServer(){
                                          httpd_config_t config = HTTPD_DEFAULT_CONFIG();
                                          config.server_port = 80;
                                        
                                          httpd_uri_t index_uri = {
                                            .uri       = "/",
                                            .method    = HTTP_GET,
                                            .handler   = stream_handler,
                                            .user_ctx  = NULL
                                          };
                                          
                                          //Serial.printf("Starting web server on port: '%d'\n", config.server_port);
                                          if (httpd_start(&stream_httpd, &config) == ESP_OK) {
                                            httpd_register_uri_handler(stream_httpd, &index_uri);
                                          }
                                        }
                                        
                                        void setup() {
                                          WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector
                                         
                                          Serial.begin(115200);
                                          Serial.setDebugOutput(false);
                                        
                                        // WiFi ____________________________________________________________________________________
                                          // Wi-Fi connection
                                          WiFi.mode(WIFI_STA);
                                          WiFi.begin(ssid, pwd);
                                          
                                          //if Static IP-Adress set your network parameters here
                                          if(!dynIP){
                                            IPAddress ip(192,168,192,87);       //### static IP
                                            IPAddress gateway(192,168,192,99);  //### gateway
                                            IPAddress subnet(255,255,255,0);    //### subnet
                                            WiFi.config(ip, gateway, subnet);
                                          }
                                          Serial.println("");
                                          Serial.println("WiFi connected");
                                          
                                          Serial.print("Camera Stream Ready! Go to: http://");
                                          Serial.print(WiFi.localIP());
                                          
                                        
                                          
                                          
                                          camera_config_t config;
                                          config.ledc_channel = LEDC_CHANNEL_0;
                                          config.ledc_timer = LEDC_TIMER_0;
                                          config.pin_d0 = Y2_GPIO_NUM;
                                          config.pin_d1 = Y3_GPIO_NUM;
                                          config.pin_d2 = Y4_GPIO_NUM;
                                          config.pin_d3 = Y5_GPIO_NUM;
                                          config.pin_d4 = Y6_GPIO_NUM;
                                          config.pin_d5 = Y7_GPIO_NUM;
                                          config.pin_d6 = Y8_GPIO_NUM;
                                          config.pin_d7 = Y9_GPIO_NUM;
                                          config.pin_xclk = XCLK_GPIO_NUM;
                                          config.pin_pclk = PCLK_GPIO_NUM;
                                          config.pin_vsync = VSYNC_GPIO_NUM;
                                          config.pin_href = HREF_GPIO_NUM;
                                          config.pin_sscb_sda = SIOD_GPIO_NUM;
                                          config.pin_sscb_scl = SIOC_GPIO_NUM;
                                          config.pin_pwdn = PWDN_GPIO_NUM;
                                          config.pin_reset = RESET_GPIO_NUM;
                                          config.xclk_freq_hz = 20000000;
                                          config.pixel_format = PIXFORMAT_JPEG; 
                                        
                                          /*
                                          if(psramFound()){
                                            config.frame_size = FRAMESIZE_UXGA;
                                            config.jpeg_quality = 10;
                                            config.fb_count = 2;
                                          } else {
                                            config.frame_size = FRAMESIZE_SVGA;
                                            config.jpeg_quality = 12;
                                            config.fb_count = 1;
                                          }
                                        */
                                            config.frame_size = FRAMESIZE_SVGA;
                                            config.jpeg_quality = 12;
                                            config.fb_count = 1;
                                          
                                          
                                          // Camera init
                                          esp_err_t err = esp_camera_init(&config);
                                          if (err != ESP_OK) {
                                            Serial.printf("Camera init failed with error 0x%x", err);
                                            return;
                                          }
                                        
                                          
                                          // Start streaming web server
                                          startCameraServer();
                                        }
                                        
                                        void loop() {
                                          delay(1);
                                        }
                                        
                                        
                                        

                                        Ich hoffe, das hilft dem Einen, oder Anderen.
                                        Gruß
                                        Jörg

                                        1 Antwort Letzte Antwort
                                        0
                                        • ? Ein ehemaliger Benutzer

                                          @Webranger ich glaube, das Problem beim flashen liegt eher an der Anbindung des FTDI Konverters zu deinem PC als am ESP... hast du den richtigen COM Port - mal ein anderen ESP am FTDI gesteckt um zu checken mit dem serial monitor, ob der ueberhaupt funktioniert...?? Nicht, dass es doch die falsche Schnittstelle ist...

                                          ThisoftT Offline
                                          ThisoftT Offline
                                          Thisoft
                                          schrieb am zuletzt editiert von
                                          #144

                                          @ilovegym sagte in ESP32 Cam mit Wlan:

                                          @Webranger ich glaube, das Problem beim flashen liegt eher an der Anbindung des FTDI Konverters zu deinem PC als am ESP... hast du den richtigen COM Port - mal ein anderen ESP am FTDI gesteckt um zu checken mit dem serial monitor, ob der ueberhaupt funktioniert...?? Nicht, dass es doch die falsche Schnittstelle ist...

                                          JA, das vermute ich auch mittlerweile...

                                          22 HM-Geräte; PivCCU2 auf RasPi

                                          ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          494

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe