How can I connect to bylnk with esp32 cam?

Hello everyone
I want to make a security circuit with esp32 cam.I want to ask you How can I connect bylnk 2.0 esp32 cam.There is no example with blynk 2.0.

It depends what you’re trying to achieve.
Do you just want to view a video stream, or control the ESP32 in some way with Blynk?
Do you want to use the app dashboard, or web dashboard?

Have you tried searching the forum before posting?

Pete.

I want to use arduino mega with sim800 and Esp32 Cam.if vibration sensor indicate a true value ,esp32 cam send photo to bylnk app.Can it is possible?

You have ignored most of my questions, so it’s difficult to help very much.

You can certainly display still images from the ESP32 Cam in the Blynk dashboard. I have no idea what role the Mega and SIM800 play in this setup though. Are you planning to send the images to Blynk via GSM or WiFi?

Pete.

Hello, @Haydar We will provide ESP32 CAM examples later. It is in the plans.

You can use the local server example in the Arduino IDE examples. And add a connection to the Blynk in sketch.

Some example for ESP32 CAM

// *** MAIN SETTINGS ***
// Replace this block with correct template settings.
// You can find it for every template here:
//
//   https://blynk.cloud/dashboard/templates

#define BLYNK_TEMPLATE_ID     "TMPxxxxxx"
#define BLYNK_TEMPLATE_NAME   "Device"
#define BLYNK_AUTH_TOKEN      "YourAuthToken"

// Your WiFi credentials.
// Set password to "" for open networks.
#define WIFI_SSID             "YourNetworkName"
#define WIFI_PASS             "YourPassword"

#define BLYNK_PRINT Serial  // Comment this out to disable serial monitor prints

// Adding the required libraries
#include "esp_camera.h"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>


#define CAMERA_MODEL_AI_THINKER // Has PSRAM


#include "camera_pins.h"

String local_IP;

void startCameraServer();

void setup() {
  Serial.begin(115200);
  Serial.setDebugOutput(true);
  Serial.println();

  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 PSRAM IC present, init with UXGA resolution and higher JPEG quality
  //                      for larger pre-allocated frame buffer.
  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;
  }

#if defined(CAMERA_MODEL_ESP_EYE)
  pinMode(13, INPUT_PULLUP);
  pinMode(14, INPUT_PULLUP);
#endif

  // 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;
  }

  sensor_t * s = esp_camera_sensor_get();
  // initial sensors are flipped vertically and colors are a bit saturated
  if (s->id.PID == OV3660_PID) {
    s->set_vflip(s, 1); // flip it back
    s->set_brightness(s, 1); // up the brightness just a bit
    s->set_saturation(s, -2); // lower the saturation
  }
  // drop down frame size for higher initial frame rate
  s->set_framesize(s, FRAMESIZE_QVGA);

#if defined(CAMERA_MODEL_M5STACK_WIDE) || defined(CAMERA_MODEL_M5STACK_ESP32CAM)
  s->set_vflip(s, 1);
  s->set_hmirror(s, 1);
#endif

  WiFi.begin(WIFI_SSID, WIFI_PASS);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");

  startCameraServer();

  Serial.print("Camera Ready! Use 'http://");
  Serial.print(WiFi.localIP());
  local_IP = WiFi.localIP().toString();
  Serial.println("' to connect");
  Blynk.begin(auth, WIFI_SSID, WIFI_PASS, "blynk.cloud");
}

BLYNK_CONNECTED()
{
  //Url with video streaming will set to V2 pin
  Blynk.setProperty(V2, "url", "http://"+local_IP+":81/stream");
}



void loop() {
  Blynk.run();
  
  // put your main code here, to run repeatedly:
  
}

This will work with Video Streaming widgets in mobile Blynk IoT app

Thank you OIeksi I want to take a photo and send with sim800 to myphone and send to blynk app.For sending sms ,I use arduino mega and sim800 but taking photo esp32 cam.Can I send photo to blynk app.

Hello Pete Thanks for answer
I use arduino mega with gps sensor and vibration sensor.If my device is vibrating,Ardunio Mega sending gps sensors data via sim800 and photograph with Esp32cam or sim800 httpp .Shortly Arduino mega communicate with serial communicating with sim800 and espcamera if vibration sent true,Mega send command sim800 and esp32 seperately.

I’d suggest that you start by posting the code that you’re currently running on your Arduino, and explaining how you intend to connect the Arduino, ESP32 and SIM800 together.

Pete.

You need to upload the photo to some server (not blynk). After it is done, you have an url to the image. After you have the image you can set the image widget property with that image url and widget will show it with:

Blynk.setProperty(V1, "url", 1, "https://image1.jpg");

You can use HTTP API to set the image url as well https://docs.blynk.io/en/blynk.cloud/update-property

1 Like