Camara espia barata

Cámara espía barata de 11 USD ESP32 Cam

En este tutorial vamos a crear una cámara espía barata de 11 USD y además podremos ver nuestra cámara desde cualquier parte del mundo desde nuestro celular con estos sencillos pasos:

Requerimientos de nuestra camara espia barata:

Primero debemos comprar nuestra camara espia existen muchos modelos en el mercado pero yo recomiendo esp32-cam que puedes comprar desde este link:

esp32-cam-wifi

O la pudes buscar por tu cuenta y se mira asi:

esp32-cam frente
esp32-cam atras

Ademas requerimos un modulo para cargar el programa a nuestra camara el cual lo podemos comprar aqui:

modulo-programador-adaptador-esp32-cam

Modulo Programador Adaptador Esp32 Cam Mb Arduino Carga

Y finalmente un cable V8 para conectar la camara a nuestra computadora (este lo podemos comprar en cualquier papeleria)

cable V8

Software

Ahora vamos a instalar arduino desde este link https://www.arduino.cc/en/software

Tutorial para instalar arduino IDE: Instalar arduino

Una vez instalado vamos a Archivo -> Preferencias

Archivo -> Preferencias

Pegamos este link en la ventana de preferencias https://dl.espressif.com/dl/package_esp32_index.json

ventana de preferencias

Vamos a Herramientas -> Placa: “Arduino” -> Gestor de tarjetas

Menu Gestor de tarjetas

Buscamos esp-32 e instalamos la versión 1.0.4

Gestor de tarjetas

Ahora vamos a Herramientas-> Placa -> ESP32-> AI Thinker ESP32-CAM

Menu AI Thinker ESP32-CAM

Vamos a Archivo -> Ejemplos -> ESP32->Camera->CameraWebServer

Ejemplo CameraWebServer

Se abrira uuna nuva ventana con codigo y la guardaremos con el nombre CameraWebServer3 o e nombre que querramos.

Guardaremos con el nombre CameraWebServer3
#include "esp_camera.h"
#include <WiFi.h>

//
// WARNING!!! PSRAM IC required for UXGA resolution and high JPEG quality
//            Ensure ESP32 Wrover Module or other board with PSRAM is selected
//            Partial images will be transmitted if image exceeds buffer size
//

// Select camera model
//#define CAMERA_MODEL_WROVER_KIT // Has PSRAM
//#define CAMERA_MODEL_ESP_EYE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM
//#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM
#define CAMERA_MODEL_AI_THINKER // Has PSRAM
//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM

#include "camera_pins.h"

const char* ssid = "TotalplayDraLovera";
const char* password = "totalDraLove420207";

void startCameraServer();

void setup() {
  
  Serial.begin(115200);
  Serial.setDebugOutput(true);
  Serial.println();
  Serial.print("Entro");
  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(ssid, password);

  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());
  Serial.println("' to connect");
}

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

Editamos el código de la camara espia barata así:

Codigo editado

De tal suerte que nos quedaría asi:

// Select camera model
//#define CAMERA_MODEL_WROVER_KIT
//#define CAMERA_MODEL_ESP_EYE
//#define CAMERA_MODEL_M5STACK_PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE
#define CAMERA_MODEL_AI_THINKER

#include "camera_pins.h"

const char* ssid = "NombreDeNuestraRedWifi";
const char* password = "PasswordDeNuestraRedWifi";

Conectando la camara

Conectamos el ESP32 al adaptador asi:

ESP32 + adaptador

Abrimos el slot y metemos los pines de la camara y cerramos de tal suerte que debe quedar asi:

Camara y slot

Finalmete debe quedar asi:

Camara + slot + adatptador

Ahora conectamos el cable v8 ala caara espia y el uusb a la computadora

Camra espia + cable v8

Buscar el puerto de nuestra camra espia ESP32 CAM

Abrimos el buscador de aplicacion y escribimos “administrador de dispositivos” y damos enter

Abrir “administrador de dispositivos”

Buscamos en la categoria Puertos (COM) el nuevo puerto que se creo. Si no lohubicamos desconectamos y conectamos la camra espia.

Categoria Puertos (COM)

Vamos a Herramientas-> Puerto->COM5 en nuestro caso quizas el tuyo sea diferente.

Asignamos puerto

Precionamos en este boton para subir el programa

Compilamos

Precionamos el boton IO0 y el boton RESET de la camara espia. LOS 2 AL MISMO TIEMPO SIN SOLTAR HASTA VER QUE EL PROGRAMA TERMINO DE CARGAR (Eso lo sabreos cuando aparesca el texto Connecting…..)

Cuando aparesca el texto Connecting… solamos todos los btones que teniamos precionados y esperamos que cargue.

Esperar a Connecting…

Damos click en el boton “Monitor serie” y esperamos que abra esta ventana

Abrir “Monitor serie”

Precionamos y soltamos el boton RST de la camara espia “ESP32 CAM” asi:

boton RST

Se debe de mostrar un text como este en el monitor de serie:

WiFi connected
Starting web server on port: ’80’
Starting stream server on port: ’81’
Camera Ready! Use ‘http://192.168.100.157’ to connect

Copiamos el link para ver la cámara espía barata

En este caso vamos a copiar el puerto de la camara espia que es http://192.168.100.157 y lo pegamos en nuestro navegador y se mostrara los siguiente:

Abrimos gestor web de la cámara espía barata

Para que nuestra camara se active precionamos “Start Stream”

stream camara espia barata

Transmitir via internet

Entramos a https://ngrok.com/

Nos registramos aqui https://dashboard.ngrok.com/signup

Vamos a https://dashboard.ngrok.com/get-started/setup y descargamos la aplicacion de ngrok.exe

Descomprimimos el programa

Damos click en la aplicacion que descomprimmos y se va a abrir un cmd

Vamos a la pagina https://dashboard.ngrok.com/get-started/setup copiamos esta linea y la pegamos en la consola que se abrio antes

Despues colocamos esta linea de codigo:

ngrok tcp 192.168.100.157:81 –authtoken toquen_que_nos_dio_ngrok

Nos va aparecer algo asi y debeos de copiar la ip de ngrok

Pegamos en el navegador cambiando tcp por http y agregaos stream asi : http://4.tcp.ngrok.io:19969/stream

Finalmente, logramos transmitir con cámara espía barata un video a internet.

Siguiente tutorial >>

Los comentarios están cerrados.

Salir de la versión móvil