INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
esp32 Cam Blynk
19.02.2021, 11:49
Beitrag #1
Question esp32 Cam Blynk
Guten Tag
Ich habe einen ESp 32 cam und wollte über Blynk ein Livestream einrichten.
Leider komme ich mit dem Code nicht zurecht und habe immer wieder Fehlermeldungen.
Aktueller Fehler lautet CStreamer does not name a type.
bitte seit nachsichtig mit mir :-) Bin Neuling auf dem Gebiet und verstehe nicht so viel davon.
lg Natascha


Code:
#include "OV2640.h"
#include <WiFi.h>
#include <WebServer.h>
#include <WiFiClient.h>
//#include <AutoWifi.h>

//#include "SimStreamer.h"
//#include "OV2640Streamer.h"
#include "OV2640.h"
//#include "CRtspSession.h"

char ssid[] = "";
char pass[] = "";

// This board has slightly different GPIO bindings (and lots more RAM)
// uncomment to use
// #define USEBOARD_TTGO_T

#define USEBOARD_AITHINKER

#ifndef USEBOARD_AITHINKER
//#define ENABLE_OLED //if want use oled ,turn on thi macro
#endif

// #define SOFTAP_MODE // If you want to run our own softap turn this on
#define ENABLE_WEBSERVER
#define ENABLE_RTSPSERVER


#ifndef USEBOARD_AITHINKER
// If your board has a GPIO which is attached to a button, uncomment the following line
// and adjust the GPIO number as needed.  If that button is held down during boot the device
// will factory reset.
#define FACTORYRESET_BUTTON 32
#endif

#ifdef ENABLE_OLED
#include "SSD1306.h"
#define OLED_ADDRESS 0x3c

#ifdef USEBOARD_TTGO_T
#define I2C_SDA 21
#define I2C_SCL 22
#else
#define I2C_SDA 14
#define I2C_SCL 13
#endif
SSD1306Wire display(OLED_ADDRESS, I2C_SDA, I2C_SCL, GEOMETRY_128_32);
bool hasDisplay; // we probe for the device at runtime
#endif

OV2640 cam;

#ifdef ENABLE_WEBSERVER
WebServer server(80);
#endif

#ifdef ENABLE_RTSPSERVER
WiFiServer rtspServer(8554);
#endif


#ifdef SOFTAP_MODE
IPAddress apIP = IPAddress(192, 168, 1, 1);
#else
#endif

#ifdef ENABLE_WEBSERVER
void handle_jpg_stream(void)
{
  WiFiClient client = server.client();
  String response = "HTTP/1.1 200 OK\r\n";
  response += "Content-Type: multipart/x-mixed-replace; boundary=frame\r\n\r\n";
  server.sendContent(response);

  while (1)
  {
    cam.run();
    if (!client.connected())
      break;
    response = "--frame\r\n";
    response += "Content-Type: image/jpeg\r\n\r\n";
    server.sendContent(response);

    client.write((char *)cam.getfb(), cam.getSize());
    server.sendContent("\r\n");
    if (!client.connected())
      break;
  }
}

void handle_jpg(void)
{
  WiFiClient client = server.client();

  cam.run();
  if (!client.connected())
  {
    return;
  }
  String response = "HTTP/1.1 200 OK\r\n";
  response += "Content-disposition: inline; filename=capture.jpg\r\n";
  response += "Content-type: image/jpeg\r\n\r\n";
  server.sendContent(response);
  client.write((char *)cam.getfb(), cam.getSize());
}

void handleNotFound()
{
  String message = "Server is running!\n\n";
  message += "URI: ";
  message += server.uri();
  message += "\nMethod: ";
  message += (server.method() == HTTP_GET) ? "GET" : "POST";
  message += "\nArguments: ";
  message += server.args();
  message += "\n";
  server.send(200, "text/plain", message);
}
#endif

void lcdMessage(String msg)
{
#ifdef ENABLE_OLED
  if (hasDisplay) {
    display.clear();
    display.drawString(128 / 2, 32 / 2, msg);
    display.display();
  }
#endif
}

void setup()
{
#ifdef ENABLE_OLED
  hasDisplay = display.init();
  if (hasDisplay) {
    display.flipScreenVertically();
    display.setFont(ArialMT_Plain_16);
    display.setTextAlignment(TEXT_ALIGN_CENTER);
  }
#endif
  lcdMessage("booting");

  Serial.begin(115200);
  while (!Serial)
  {
    ;
  }

  int camInit =
#ifdef USEBOARD_TTGO_T
    cam.init(esp32cam_ttgo_t_config);
#else
#ifdef USEBOARD_AITHINKER
    cam.init(esp32cam_aithinker_config);
#else
    cam.init(esp32cam_config);
#endif
#endif
  Serial.printf("Camera init returned %d\n", camInit);

  IPAddress ip;


#ifdef SOFTAP_MODE
  const char *hostname = "devcam";
  // WiFi.hostname(hostname); // FIXME - find out why undefined
  lcdMessage("starting softAP");
  WiFi.mode(WIFI_AP);
  WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
  bool result = WiFi.softAP(hostname, "12345678", 1, 0);
  if (!result)
  {
    Serial.println("AP Config failed.");
    return;
  }
  else
  {
    Serial.println("AP Config Success.");
    Serial.print("AP MAC: ");
    Serial.println(WiFi.softAPmacAddress());

    ip = WiFi.softAPIP();
  }
#else

  WiFi.begin(ssid, pass);

  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(F("."));
  }
  ip = WiFi.localIP();
  Serial.println(F("WiFi connected"));
  Serial.println(ip);
#endif

  lcdMessage(ip.toString());

#ifdef ENABLE_WEBSERVER
  server.on("/", HTTP_GET, handle_jpg_stream);
  server.on("/jpg", HTTP_GET, handle_jpg);
  server.onNotFound(handleNotFound);
  server.begin();
#endif

#ifdef ENABLE_RTSPSERVER
  rtspServer.begin();
#endif
}

/** Stream for the camera video */
GStreamer *streamer = NULL;
CRtspSession *session = NULL;
WiFiClient client; // FIXME, support multiple clients

void loop()
{
#ifdef ENABLE_WEBSERVER
  server.handleClient();
#endif

#ifdef ENABLE_RTSPSERVER
  uint32_t msecPerFrame = 100;
  static uint32_t lastimage = millis();

  // If we have an active client connection, just service that until gone
  // (FIXME - support multiple simultaneous clients)
  if (session) {
    session->handleRequests(0); // we don't use a timeout here,
    // instead we send only if we have new enough frames

    uint32_t now = millis();
    if (now > lastimage + msecPerFrame || now < lastimage) { // handle clock rollover
      session->broadcastCurrentFrame(now);
      lastimage = now;

      // check if we are overrunning our max frame rate
      now = millis();
      if (now > lastimage + msecPerFrame)
        printf("warning exceeding max frame rate of %d ms\n", now - lastimage);
    }

    if (session->m_stopped) {
      delete session;
      delete streamer;
      session = NULL;
      streamer = NULL;
    }
  }
  else {
    client = rtspServer.accept();

    if (client) {
      //streamer = new SimStreamer(&client, true);             // our streamer for UDP/TCP based RTP transport
      streamer = new OV2640Streamer(&client, cam);             // our streamer for UDP/TCP based RTP transport

      session = new CRtspSession(&client, streamer); // our threads RTSP session and state
    }
  }
#endif
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.02.2021, 02:15
Beitrag #2
RE: esp32 Cam Blynk
Servus!

Du hast aber nicht die Blynk Verbindung aufgebaut?

Wie soll das dann gehen, obwohl ich selbst keine Video Gadget via Blynk kenne ..

Oder versuchst du das per Video Streaming?

Aber schau dir mal das an, und such dir da deine Anwendung raus.

Gruß aus Wiener Neustadt
Toni

=================================================================
Seit die Mathematiker über die Relativitätstheorie hergefallen sind, verstehe ich sie selbst nicht mehr.

Wer Rechtschreibfehler findet darf sie behalten Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.03.2021, 19:23
Beitrag #3
RE: esp32 Cam Blynk
(19.02.2021 11:49)Busterflex schrieb:  Aktueller Fehler lautet CStreamer does not name a type.

Das kann nicht stimmen, da CStreamer in Deinem Sketch überhaupt nicht vorkommt.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Erfahrungen mit ESP32 und WLAN/MQTT oder was ich beobachtet habe... Arduino4Fun 23 3.113 09.04.2021 16:15
Letzter Beitrag: amshh
  Suche Erfahrungen und Hilfe mit ESP32-CAM WiFi + Bluetooth Modul Kamera Modul esp32 Christian_Moba-Arduino 28 1.287 04.04.2021 08:24
Letzter Beitrag: amithlon
  ESP32 CAM Flashlamp schalten RaspiUser0815 13 2.972 28.03.2021 21:51
Letzter Beitrag: Grufti99
  ESP32-cam WAV´s einmalig auf GPI0 25/26 abspielen Sarastro 2 284 28.03.2021 10:45
Letzter Beitrag: Sarastro
  Led-Matrix 8x32 mit Esp32 Zerrus 5 361 27.03.2021 14:16
Letzter Beitrag: hotsystems
  Esp32 MD-Parola Scrolltext wwilhelm 3 286 26.03.2021 22:35
Letzter Beitrag: Tommy56
  ESP32 und Interrupts - ein Erfahrungsbericht - und eine Frage ;) MicroBahner 6 506 24.03.2021 09:18
Letzter Beitrag: MicroBahner
Brick Tiefgehende ESP32 Schnittstellen-Dokumentation gesucht Roland53425 6 684 22.03.2021 18:54
Letzter Beitrag: Bitklopfer
  Fehler beim Kompilieren für das Board ESP32 Dev Module. FoxFactoy 17 2.705 06.03.2021 21:56
Letzter Beitrag: bm-magic
  ESP32 Lora Wetterdaten 4711engel 27 2.861 01.03.2021 20:14
Letzter Beitrag: Bitklopfer

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste